public RubyCallSignature(int argumentCount, RubyCallFlags flags) { Debug.Assert(argumentCount >= 0 && argumentCount < MaxArgumentCount); Debug.Assert(((int)flags >> FlagsCount) == 0); _countAndFlags = ((uint)argumentCount << FlagsCount) | (uint)flags; }
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))); }
public MSA.Expression /*!*/ MakeCallAction(string /*!*/ name, bool hasImplicitSelf) { RubyCallFlags flags = GetSignatureFlags(); if (hasImplicitSelf) { flags |= RubyCallFlags.HasImplicitSelf; } return(MakeCallSite(RubyCallAction.Make(_gen.Context, name, new RubyCallSignature(Count - HiddenArgumentCount, flags)))); }
/// <summary> /// Used by defined? operator applied on methods. /// </summary> private RubyCallSignature(RubyCallFlags flags) { Debug.Assert(((int)flags >> FlagsCount) == 0); _countAndFlags = ((uint)ResolveOnlyArgumentCount << FlagsCount) | (uint)flags; }