static new ThreadLocal evalJava_myProgramID_main_time; // set this to not null to get reference to main class static new ThreadLocal evalJava_myProgramID_main_mainClass; static O evalJava_myProgramID_main(S main, O... args) { //veryQuickJava_transpiled.set(""); O obj = veryQuickJava(main); //S src = getAndClearThreadLocal(veryQuickJava_transpiled); //saveProgramTextFile("debug.java", src); //print("getOpt sane: " + getOpt_cache.get(Class.class)); //print("programID: " + getOpt(obj, "programID") + ", my=" + programID() + ", fields: " + fieldNames(obj)); //print("programIDXXX: " + getOpt((Class) obj, "programID")); //print("field: " + setOpt_findStaticField(obj, "programID")); setOpt(obj, "programID", programID()); makeDependent(obj); if (evalJava_myProgramID_main_mainClass! != null) evalJava_myProgramID_main_mainClass.set(obj); ret evalJava_myProgramID_main_2(obj, args); } static O evalJava_myProgramID_main_2(O obj, O... args) { //print("programID: " + getOpt(obj, "programID")); long time = sysNow(); try { ret callCalc(obj, args); } finally { evalJava_myProgramID_main_time.set(sysNow()-time); } }