Warning: session_start(): open(/var/lib/php/sessions/sess_vf9s79a5m1q5e42oktoj7mrc3o, 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
set flag DynModule. // for transpilation
cmodule JavaEval extends DynPrintLog {
S expression;
bool realEval = true;
transient bool calculating;
transient O value;
transient JTextArea taInput;
transient Throwable error;
visual withMargin(jvsplit(
centerAndEastWithMarginInbetween(
onCtrlEnter(taInput = jEnableUndoRedo(dm_typeWriterTextArea expression()), rThread { mediumRefresh(); evalIt() }),
withTopMargin(3, vstackWithSpacing(5,
withBottomMargin(fontSizePlus(4, makeBold(toolTip("Evaluate the code (always medium-refreshes)", jbutton("EVAL", rThread { mediumRefresh(); evalIt() }))))),
toolTip("Evaluate in latest language version", jbutton("Fresh", rThread { refresh(); evalIt() })),
centerAndEastWithMargin(
withToolTip("Use the real Java compiler, don't use shortcuts - just leave checked if in doubt",
dm_fieldCheckBox("Real", 'realEval)),
jPopDownButton_noText(
"Show Java Transpilation", rThread showJavaTranspilation,
)))),
super)));
void mediumRefresh enter {
dm_mediumRefreshTranspiler();
loadFunctions_clearCache();
print("Medium-refreshed translator.");
}
void refresh enter {
dm_refreshTranspiler();
loadFunctions_clearCache();
print("Refreshed translator.");
}
void evalIt enter {
if (calculating) ret;
dm_action_printHere(shorten80(getText(taInput)), r {
calculating = true;
temp afterwards(r { calculating = false });
dm_javaEvalModule_doIt(getText(taInput), realEval);
}, printName := false);
}
void showJavaTranspilation enter {
dm_showText("Java Transpilation", loadProgramTextFile("main.java"));
}
}