Warning: session_start(): open(/var/lib/php/sessions/sess_eh6rg8g98dkl3iiij4hb7havsd, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sclass ListMethodsOfActiveModule extends DynTextArea {
transient O module;
void start {
dm_updateMeOnNewActiveModule();
}
JComponent visualize() {
ret centerAndSouth(super.visualize(),
withMargin(jcenteredbutton("Call method", r-thread {
S s = lineAtCaret(textArea);
if (isIdentifier(s)) {
print("Calling method " + s + " on " + module);
call(module, s);
}
})));
}
void update {
O _m = dm_activeModule();
if ((_m != this || module == null) && setField(module := _m)) {
setText("Active Module: " + dm_moduleName(module) + "\n");
new StringBuilder buf;
L l = allLiveMethods_skipOverridden_sortByNameWithinClass(module);
new L lines;
Class c = null;
for (Method m : l) {
if (m.getDeclaringClass() != c) {
c = m.getDeclaringClass();
lines.add("\nclass " + shortClassName(c) + "\n");
}
Class>[] args = m.getParameterTypes();
Class> returns = m.getReturnType();
lines.add(" " + m.getName() +
(typeIsVoid(returns) && empty(args) ? "!"
: ": " + join(appendToAll(allToString(args), " ")) + "-> " + returns);
}
setText(getText() + lines(lines));
}
}
}