public void endMethod() { adapter.end(new Runnable() { public void run() { for (Map.Entry<Integer, Type> entry : variableTypes.entrySet()) { int i = entry.getKey(); String name = variableNames.get(i); adapter.local(i, name, entry.getValue()); } } }); }
public void endMethod() { adapter.end(new Runnable() { public void run() { for (Map.Entry<Integer, Type> entry : variableTypes.entrySet()) { int i = entry.getKey(); String name = variableNames.get(i); adapter.local(i, name, entry.getValue()); } } }); }
public void endMethod() { adapter.end(new Runnable() { public void run() { for (Map.Entry<Integer, Type> entry : variableTypes.entrySet()) { int i = entry.getKey(); String name = variableNames.get(i); adapter.local(i, name, entry.getValue()); } } }); }
public void end() { end(new Runnable() { public void run() { } }); }
public void endMethod() { adapter.end(new Runnable() { public void run() { for (Map.Entry<Integer, Type> entry : variableTypes.entrySet()) { int i = entry.getKey(); String name = variableNames.get(i); adapter.local(i, name, entry.getValue()); } } }); }
public void end() { end(new Runnable() { public void run() { } }); }
public void end() { end(NO_LOCALS); }
public void end() { end(NO_LOCALS); }
private void endClassInit() { if (clinitMethod != null) { clinitMethod.voidreturn(); clinitMethod.end(); } }
private void endClassInit() { if (clinitMethod != null) { clinitMethod.voidreturn(); clinitMethod.end(); } }
private void endInit() { initMethod.voidreturn(); initMethod.end(); }
private void endInit() { initMethod.voidreturn(); initMethod.end(); }
@Override public void endBody() { // return last value from execution method.areturn(); Label end = new Label(); method.label(end); method.end(); }
@Override public void endBody() { // return last value from execution method.areturn(); Label end = new Label(); method.label(end); method.end(); }
@Override public void endBody() { // return last value from execution method.areturn(); Label end = new Label(); method.label(end); method.end(); }
@Override public void endBody() { // return last value from execution method.areturn(); Label end = new Label(); method.label(end); method.end(); }
private void addAnnotatedMethodInvoker(ClassWriter cw, String superClass, List<JavaMethodDescriptor> descs) { for (JavaMethodDescriptor desc: descs) { int specificArity = desc.calculateSpecificCallArity(); SkinnyMethodAdapter mv = beginMethod(cw, "call", specificArity, desc.hasBlock); mv.visitCode(); createAnnotatedMethodInvocation(desc, mv, superClass, specificArity, desc.hasBlock); mv.end(); } }
private void addAnnotatedMethodInvoker(ClassWriter cw, String superClass, List<JavaMethodDescriptor> descs) { for (JavaMethodDescriptor desc: descs) { int specificArity = desc.calculateSpecificCallArity(); SkinnyMethodAdapter mv = beginMethod(cw, "call", specificArity, desc.hasBlock); mv.visitCode(); createAnnotatedMethodInvocation(desc, mv, superClass, specificArity, desc.hasBlock); mv.end(); } }
private ClassWriter createCompiledCtor(String namePath, String shortPath, String sup) { ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); cw.visit(RubyInstanceConfig.JAVA_VERSION, ACC_PUBLIC + ACC_SUPER, namePath, null, sup, null); cw.visitSource(shortPath, null); SkinnyMethodAdapter mv = new SkinnyMethodAdapter(cw, ACC_PUBLIC, "<init>", "()V", null, null); mv.visitCode(); mv.aload(0); mv.visitMethodInsn(INVOKESPECIAL, sup, "<init>", "()V"); mv.voidreturn(); mv.end(); return cw; }
private ClassWriter createCompiledCtor(String namePath, String shortPath, String sup) { ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); cw.visit(RubyInstanceConfig.JAVA_VERSION, ACC_PUBLIC + ACC_SUPER, namePath, null, sup, null); cw.visitSource(shortPath, null); SkinnyMethodAdapter mv = new SkinnyMethodAdapter(cw, ACC_PUBLIC, "<init>", "()V", null, null); mv.visitCode(); mv.aload(0); mv.visitMethodInsn(INVOKESPECIAL, sup, "<init>", "()V"); mv.voidreturn(); mv.end(); return cw; }