srecord ResolvableLASClass(transient ILASClassLoader lasClassLoader, LASClassDef classDef) { Class resolvedClass; Class get() { if (resolvedClass == null) { if (lasClassLoader == null) fail("Need LASClassLoader to define " + classDef.userGivenName); resolvedClass = lasClassLoader.defineLASClass(classDef.finalClassName(), -> classDef.toBytes()); // set static fields classDef.init(resolvedClass); } ret resolvedClass; } // This function is very defensive (doesn't resolve anything) toString { if (resolvedClass != null) ret className(resolvedClass); try object classDef.userGivenName; if (classDef.classHash_cache != null) ret classDef.finalClassNameWithoutPrefix(); ret or2(classDef.userGivenName, "script-defined class") + " [unresolved]"; } }