@Override public String toString() { return super.toString() + "(" + metaClassBody.getName() + ", " + object + ", " + metaClassBody.getFileName() + ")"; }
@Override public String toString() { return super.toString() + "(" + newIRModuleBody.getName() + ", " + container + ", " + newIRModuleBody.getFileName() + ")"; }
@Override public String toString() { return super.toString() + "(" + newIRModuleBody.getName() + ", " + container + ", " + newIRModuleBody.getFileName() + ")"; }
@Override public String toString() { return super.toString() + "(" + metaClassBody.getName() + ", " + object + ", " + metaClassBody.getFileName() + ")"; }
public void emit(IRModuleBody method) { String name = method.getName(); if (name.indexOf("DUMMY_MC") != -1) { name = "METACLASS"; } name = emitScope(method, name, 0); // push a method handle for binding purposes jvm.method().pushHandle(jvm.clsData().clsName, name, method.getStaticScope().getRequiredArgs()); }
public void emit(IRModuleBody method) { String name = method.getName(); if (name.indexOf("DUMMY_MC") != -1) { name = "METACLASS"; } name = emitScope(method, name, 0); // push a method handle for binding purposes jvm.method().pushHandle(jvm.clsData().clsName, name, method.getStaticScope().getRequiredArgs()); }
@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { Object rubyContainer = container.retrieve(context, self, currDynScope, temp); if (!(rubyContainer instanceof RubyModule)) { throw context.runtime.newTypeError("no outer class/module"); } RubyModule newRubyModule = ((RubyModule) rubyContainer).defineOrGetModuleUnder(newIRModuleBody.getName()); newIRModuleBody.getStaticScope().setModule(newRubyModule); return new InterpretedIRMethod(newIRModuleBody, Visibility.PUBLIC, newRubyModule); }
@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { Object rubyContainer = container.retrieve(context, self, currDynScope, temp); if (!(rubyContainer instanceof RubyModule)) { throw context.runtime.newTypeError("no outer class/module"); } RubyModule newRubyModule = ((RubyModule) rubyContainer).defineOrGetModuleUnder(newIRModuleBody.getName()); newIRModuleBody.getStaticScope().setModule(newRubyModule); return new InterpretedIRMethod(newIRModuleBody, Visibility.PUBLIC, newRubyModule); }
a.ldc(newIRModuleBody.getName()); a.ldc(newIRModuleBody.getFileName()); a.ldc(newIRModuleBody.getLineNumber()); visit(definemoduleinstr.getContainer()); m.invokeHelper("checkIsRubyModule", RubyModule.class, ThreadContext.class, Object.class); a.ldc(newIRModuleBody.getName()); a.invokevirtual(p(RubyModule.class), "defineOrGetModuleUnder", sig(RubyModule.class, String.class));
a.ldc(newIRModuleBody.getName()); a.ldc(newIRModuleBody.getFileName()); a.ldc(newIRModuleBody.getLineNumber()); visit(definemoduleinstr.getContainer()); m.invokeHelper("checkIsRubyModule", RubyModule.class, ThreadContext.class, Object.class); a.ldc(newIRModuleBody.getName()); a.invokevirtual(p(RubyModule.class), "defineOrGetModuleUnder", sig(RubyModule.class, String.class));
a.ldc(metaClassBody.getName()); a.ldc(metaClassBody.getFileName()); a.ldc(metaClassBody.getLineNumber());
a.ldc(metaClassBody.getName()); a.ldc(metaClassBody.getFileName()); a.ldc(metaClassBody.getLineNumber());