static Class transpileRaw_trans; static O transpileRaw_silent = true; static bool transpileRaw_useDiskCache; static Lock transpileRaw_lock = lock(); static S transpileRaw(S mainJava) { mainJava = dropTranslators(mainJava); lock transpileRaw_lock; File cacheFile = null; if (transpileRaw_useDiskCache) { S md5 = md5(mainJava); cacheFile = new File(javaxCodeDir(), "Transpilations/" + md5 + ".java"); try answer loadTextFile(cacheFile); } transpileRaw_translator(); set(transpileRaw_trans, "mainJava", mainJava); print("Running translator " + identityHashCode(transpileRaw_trans) + " " + getOpt(transpileRaw_trans, 'programID)); callMain(transpileRaw_trans); print("Ran translator " + identityHashCode(transpileRaw_trans)); S main = cast get(transpileRaw_trans, "mainJava"); if (transpileRaw_useDiskCache) saveTextFile(cacheFile, main); ret main; } static Class transpileRaw_translator() { if (transpileRaw_trans == null) { print("Loading translator."); //transpileRaw_trans = hotwireSilently(#759); transpileRaw_trans = hotwireSharingLibraries(#759); //print("Loaded translator: " + identityHashCode(transpileRaw_trans)); } setOpt(transpileRaw_trans, "print_silent", transpileRaw_silent); ret transpileRaw_trans; }