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);
 }
Beispiel #2
0
 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();
 }