private void init() { if (_buf == null) { ClassLoader loader = TypeSystem.getGosuClassLoader().getActualLoader(); TypeSystemLockHelper.getTypeSystemLockWithMonitor(loader); try { if (_bInterfaceAnnotationMethods) { _buf = TransformingCompiler.compileInterfaceMethodsClass( (IGosuClassInternal) _type, false); } else { // System.out.println( "Compiling: " + _type.getName() ); _buf = GosuClassLoader.instance().getBytes(_type); } _pos = 0; _count = _buf.length; } catch (Throwable e) { // log the exception, it tends to get swollowed esp. if it's the class doesn't parse e.printStackTrace(); throw GosuExceptionUtil.forceThrow(e); } finally { TypeSystem.unlock(); } } }
private static byte[] compileClass(ICompilableType type, boolean debug) { return TransformingCompiler.compileClass(type, debug); }