!7 sclass ListMethodsOfActiveModule extends DynTextArea { transient O module; void start { dm_updateMeOnNewActiveModule(); } 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) ? "" : ": " + join(appendToAll(allToString(args), " ")) + "-> " + returns); } setText(getText() + lines(lines)); } } }