svoid dm_javaEvalModule_doIt(S s) { dm_javaEvalModule_doIt(s, true); } svoid dm_javaEvalModule_doIt(S s, bool realEval) { vm_cleanPrints(); DynModule dm = dm_current_mandatory(); //set transpileRaw_verySilent; //printWithIndent("[CODE] ", s); print("==== EVALUATING..."); logQuotedWithDate("expressions.txt", s); dm.setField(expression := s); try { S toEvaluate = s; // "time(func { " + s + "})"; //O value = javaEval_dependent(toEvaluate); long time = sysNow(); evalJava_myProgramID_main_time.set(null); vmBus_send('javaEval_starting, toEvaluate, realEval); temp tempSetTL(veryQuickJava_onJavaSource, src -> saveProgramTextFile("main.java", src)); O value = realEval ? dm_javaEval(toEvaluate) : dm_javaEvalOrInterpret(toEvaluate); vmBus_send('javaEval_OK, toEvaluate, value); //dm.setField(value := null); // to prevent eq() call on data in next line dm.setFields(+value, error := null); print(); new LS info; info.add(or(evalJava_myProgramID_main_time!, elapsedMS(time)) + " ms"); addAll(info, quickValueInformation_list(value)); print("[" + joinWithComma(info) + "]"); S string = str(value); pcall { logStructureWithDate("with-results.txt", ll(s, string)); } S shortened = shorten(1000, string); print(shortened); dm_handleEvalResult(value, shortened); } catch e { dm.setFields(value := null, error := e); printStackTrace2(e); vmBus_send('javaEval_error, s, e); } }