!7 sclass JavaEval extends DynPrintLog { S expression; transient bool calculating; transient O value; transient JTextField tfInput; transient Throwable error; JComponent visualize() { ret northAndCenterWithMargins( centerAndEastWithMarginInbetween( tfInput = onEnter(jtextfield(expression), rThread evalIt), hstackWithSpacing( jbutton("Fresh", rThread { refresh(); evalIt() }), jbutton("Eval", rThread evalIt))), super.visualize()); } void refresh { veryQuickJava_refresh(); print("Refreshed translator."); } void evalIt { if (calculating) ret; calculating = true; temp tempAfterwards(r { calculating = false }); set transpileRaw_verySilent; S s = gtt(tfInput); print("\nEvaluating: " + s); logQuoted(programFile("expressions.txt"), s); setField(expression := s); try { S toEvaluate = s; // "time(func { " + s + "})"; setFields(value := javaEval_dependent(toEvaluate), error := null); print(); new L info; info.add(evalJava_myProgramID_main_time! + " ms"); if (value instanceof Collection || value instanceof Map) info.add("l=" + l(value)); print("[" + joinWithComma(info) + "]"); pcall { logStructure(programFile("with-results.txt"), ll(s, value)); } print(shorten(1000, str(value))); } catch e { setFields(value := null, error := e); printStackTrace2(e); } } }