internal override void GenCode0(CodeGenContext context) { // Eval.alias(ruby_class, lhs, rhs, myFrame); context.newLine(location); context.ruby_class(parent_scope); context.ldstr(lhs.ToString()); context.ldstr(rhs.ToString()); context.ldloc(0); context.call(Runtime.Eval.alias); }
internal override void GenCode0(CodeGenContext context) { // ruby_class.define_method(...); context.newStartPoint(location); context.ruby_class(parent_scope); DefineMethod(context); if (CLASS_OR_MODULE.interopClasses.Count > 0) { // BBTAG: remove existing interop method string methodName = Translate(this.method_id); if (CLASS_OR_MODULE.CurrentInteropClass().GetMethod(methodName) != null) CLASS_OR_MODULE.CurrentInteropClass().RemoveMethod(methodName); if (methodName == "initialize") AddInteropConstructor(context); else AddInteropMethod(context); } }
internal override void GenCode0(CodeGenContext context) { // ruby_class.undef_method(mid); context.newLine(location); context.ruby_class(parent_scope); context.ldstr(mid.ToString()); context.callvirt(Runtime.Class.undef_method); context.ldnull(); }