!7 set flag DynModule. // for transpilation sclass JavaEval extends DynPrintLog { S expression; bool realEval; transient bool calculating; transient O value; transient JTextArea taInput; transient Throwable error; transient JPanel babiesPanel; start { loadImage2(#1101447); makeDependent_postProcess = r updateBabySymbols; dm_vmBus_onMessage('gcDone, r updateBabySymbols); } visualize { ret centerAndEastWithMargins( jvsplit( centerAndEastWithMarginInbetween( onCtrlEnter(taInput = jEnableUndoRedo(typeWriterTextArea(expression)), rThread evalIt), vstackWithSpacing( jbutton("Fresh", rThread { refresh(); evalIt() }), jbutton("Eval", rThread evalIt), withToolTip("Don't interpret", dm_fieldCheckBox("Real", 'realEval)))), super.visualize()), babiesPanel = jpanel()); } void refresh { call(dm_transpiler(), 'refresh); loadFunctions_clearCache(); print("Refreshed translator."); } void evalIt { if (calculating) ret; calculating = true; temp afterwards(r { calculating = false }); dm_javaEvalModule_doIt(gtt(taInput), realEval); } void updateBabySymbols enter { dm_q().add(r { int n = l(dependentClasses()); final BufferedImage img = scaleImageToWidth(loadImage2(#1101447), 24); swing { removeAllComponents(babiesPanel); repeat n { babiesPanel.add(jimage(img)); } validate(babiesPanel); } }); } }