srecord noeq InterfaceImplFromByteCode(Class intf, Class returnType, S methodName, Class[] argumentTypes, IVF1 fillMethod) { ClassMaker classMaker; MethodMaker methodMaker; settable bool printDisassembly; run { classMaker = new ClassMaker(intf); classMaker.printDisassembly(printDisassembly); methodMaker = MethodMaker(classMaker, returnType, methodName, argumentTypes); fillMethod.get(methodMaker); methodMaker.done(); } A get() { if (classMaker == null) run(); ret classMaker.newInstance(); } }