Esempio n. 1
0
 public MSA.Expression /*!*/ MakeSuperCallAction(int lexicalScopeId)
 {
     return(Ast.Dynamic(
                SuperCallAction.Make(MakeCallSignature(true), lexicalScopeId),
                typeof(object),
                GetExpressions()
                ));
 }
Esempio n. 2
0
 internal override MSA.Expression /*!*/ TransformDefinedCondition(AstGenerator /*!*/ gen)
 {
     // MRI doesn't evaluate the arguments
     return(AstUtils.LightDynamic(
                SuperCallAction.Make(gen.Context, RubyCallSignature.IsDefined(true), gen.CurrentFrame.UniqueId),
                typeof(bool),
                gen.CurrentScopeVariable,
                gen.CurrentSelfVariable
                ));
 }
Esempio n. 3
0
        public MSA.Expression /*!*/ MakeSuperCallAction(int lexicalScopeId, bool hasImplicitArguments)
        {
            RubyCallFlags flags = GetSignatureFlags() | RubyCallFlags.HasImplicitSelf;

            if (hasImplicitArguments)
            {
                flags |= RubyCallFlags.HasImplicitArguments;
            }

            return(MakeCallSite(SuperCallAction.Make(_gen.Context, new RubyCallSignature(Count - HiddenArgumentCount, flags), lexicalScopeId)));
        }