private void generateGetProxyClass(Type selfType, ClassVisitor cw) { // make getter for proxy class GeneratorAdapter gpc = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getProxyClass", PROXY_CLASS_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); gpc.getStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); gpc.returnValue(); gpc.endMethod(); }
private void generateGetProxyClass(Type selfType, ClassVisitor cw) { // make getter for proxy class GeneratorAdapter gpc = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getProxyClass", PROXY_CLASS_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); gpc.getStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); gpc.returnValue(); gpc.endMethod(); }
/** * @see InternalJavaProxy */ private static void generate___getProxyClass(Type selfType, ClassVisitor cw) { // public JavaProxyClass __getProxyClass() { return /* static */ __proxy_class; } // make getter for proxy class (due implements InternalJavaProxy) GeneratorAdapter gpc = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getProxyClass", PROXY_CLASS_TYPE, EMPTY_TYPE_ARRAY), null, EMPTY_TYPE_ARRAY, cw); gpc.getStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); gpc.returnValue(); gpc.endMethod(); }
/** * @see InternalJavaProxy */ private static void generate___getProxyClass(Type selfType, ClassVisitor cw) { // public JavaProxyClass __getProxyClass() { return /* static */ __proxy_class; } // make getter for proxy class (due implements InternalJavaProxy) GeneratorAdapter gpc = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getProxyClass", PROXY_CLASS_TYPE, EMPTY_TYPE_ARRAY), null, EMPTY_TYPE_ARRAY, cw); gpc.getStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); gpc.returnValue(); gpc.endMethod(); }
private void generateGetInvocationHandler(Type selfType, ClassVisitor cw) { // make getter for handler GeneratorAdapter gh = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getInvocationHandler", INVOCATION_HANDLER_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); gh.loadThis(); gh.getField(selfType, INVOCATION_HANDLER_FIELD_NAME, INVOCATION_HANDLER_TYPE); gh.returnValue(); gh.endMethod(); }
private void generateGetInvocationHandler(Type selfType, ClassVisitor cw) { // make getter for handler GeneratorAdapter gh = new GeneratorAdapter(Opcodes.ACC_PUBLIC, new org.objectweb.asm.commons.Method("___getInvocationHandler", INVOCATION_HANDLER_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); gh.loadThis(); gh.getField(selfType, INVOCATION_HANDLER_FIELD_NAME, INVOCATION_HANDLER_TYPE); gh.returnValue(); gh.endMethod(); }
public void pushmethod(String name, int arity) { Method m; switch (arity) { case 0: case 1: case 2: case 3: m = new Method(name, JVM.OBJECT_TYPE, ARGS[arity]); break; default: throw new RuntimeException("Unsupported arity " + arity + " for " + name); } methodStack.push(new MethodData(new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null), arity)); }
public void pushmethod(String name, int arity) { Method m; switch (arity) { case 0: case 1: case 2: case 3: m = new Method(name, JVM.OBJECT_TYPE, ARGS[arity]); break; default: throw new RuntimeException("Unsupported arity " + arity + " for " + name); } methodStack.push(new MethodData(new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null), arity)); }
private GeneratorAdapter createClassInitializer(Type selfType, ClassVisitor cw) { GeneratorAdapter clazzInit = new GeneratorAdapter(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, new org.objectweb.asm.commons.Method("<clinit>", Type.VOID_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); clazzInit.visitLdcInsn(selfType.getClassName()); clazzInit.invokeStatic(JAVA_LANG_CLASS_TYPE, CLASS_FORNAME_METHOD); clazzInit.invokeStatic(PROXY_HELPER_TYPE, HELPER_GET_PROXY_CLASS_METHOD); clazzInit.dup(); clazzInit.putStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); return clazzInit; }
private static GeneratorAdapter createClassInitializer(Type selfType, ClassVisitor cw) { GeneratorAdapter clazzInit = new GeneratorAdapter(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, new org.objectweb.asm.commons.Method("<clinit>", Type.VOID_TYPE, EMPTY_TYPE_ARRAY), null, EMPTY_TYPE_ARRAY, cw); clazzInit.visitLdcInsn(selfType.getClassName()); clazzInit.invokeStatic(JAVA_LANG_CLASS_TYPE, forName); clazzInit.invokeStatic(INTERNAL_PROXY_HELPER_TYPE, initProxyClass); clazzInit.dup(); clazzInit.putStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); // __proxy_class = InternalJavaProxyHelper.initProxyClass( Class.forName(className) ); return clazzInit; }
private static GeneratorAdapter createClassInitializer(Type selfType, ClassVisitor cw) { GeneratorAdapter clazzInit = new GeneratorAdapter(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, new org.objectweb.asm.commons.Method("<clinit>", Type.VOID_TYPE, EMPTY_TYPE_ARRAY), null, EMPTY_TYPE_ARRAY, cw); clazzInit.visitLdcInsn(selfType.getClassName()); clazzInit.invokeStatic(JAVA_LANG_CLASS_TYPE, forName); clazzInit.invokeStatic(INTERNAL_PROXY_HELPER_TYPE, initProxyClass); clazzInit.dup(); clazzInit.putStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); // __proxy_class = InternalJavaProxyHelper.initProxyClass( Class.forName(className) ); return clazzInit; }
private GeneratorAdapter createClassInitializer(Type selfType, ClassVisitor cw) { GeneratorAdapter clazzInit = new GeneratorAdapter(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, new org.objectweb.asm.commons.Method("<clinit>", Type.VOID_TYPE, EMPTY_TYPE_ARR), null, EMPTY_TYPE_ARR, cw); clazzInit.visitLdcInsn(selfType.getClassName()); clazzInit.invokeStatic(JAVA_LANG_CLASS_TYPE, CLASS_FORNAME_METHOD); clazzInit.invokeStatic(PROXY_HELPER_TYPE, HELPER_GET_PROXY_CLASS_METHOD); clazzInit.dup(); clazzInit.putStatic(selfType, PROXY_CLASS_FIELD_NAME, PROXY_CLASS_TYPE); return clazzInit; }
private org.objectweb.asm.commons.Method getMethod() { return new org.objectweb.asm.commons.Method(getName(), Type .getType(getReturnType()), getType(getParameterTypes())); }
private org.objectweb.asm.commons.Method getMethod() { return new org.objectweb.asm.commons.Method(getName(), Type .getType(getReturnType()), getType(getParameterTypes())); }
public org.objectweb.asm.commons.Method getMethod() { return new org.objectweb.asm.commons.Method(getName(), Type .getType(getReturnType()), getType(getParameterTypes())); }
public org.objectweb.asm.commons.Method getMethod() { return new org.objectweb.asm.commons.Method(getName(), Type .getType(getReturnType()), getType(getParameterTypes())); }
public void pushmethod(String name, IRScope scope, Signature signature, boolean specificArity) { Method m = new Method(name, Type.getType(signature.type().returnType()), IRRuntimeHelpers.typesFromSignature(signature)); SkinnyMethodAdapter adapter = new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null); methodStack.push( new MethodData( new IRBytecodeAdapter7(adapter, signature, this), scope, signature, specificArity ? scope.getStaticScope().getSignature().required() : -1) ); }
public void pushmethod(String name, IRScope scope, Signature signature, boolean specificArity) { Method m = new Method(name, Type.getType(signature.type().returnType()), IRRuntimeHelpers.typesFromSignature(signature)); SkinnyMethodAdapter adapter = new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null); methodStack.push( new MethodData( new IRBytecodeAdapter6(adapter, signature, this), scope, signature, specificArity ? scope.getStaticScope().getSignature().required() : -1) ); } }
public void pushmethod(String name, IRScope scope, Signature signature, boolean specificArity) { Method m = new Method(name, Type.getType(signature.type().returnType()), IRRuntimeHelpers.typesFromSignature(signature)); SkinnyMethodAdapter adapter = new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null); methodStack.push( new MethodData( new IRBytecodeAdapter6(adapter, signature, this), scope, signature, specificArity ? scope.getStaticScope().getSignature().required() : -1) ); } }
public void pushmethod(String name, IRScope scope, Signature signature, boolean specificArity) { Method m = new Method(name, Type.getType(signature.type().returnType()), IRRuntimeHelpers.typesFromSignature(signature)); SkinnyMethodAdapter adapter = new SkinnyMethodAdapter(cls, Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, m.getName(), m.getDescriptor(), null, null); methodStack.push( new MethodData( new IRBytecodeAdapter7(adapter, signature, this), scope, signature, specificArity ? scope.getStaticScope().getSignature().required() : -1) ); }