コード例 #1
0
        // Parses the method.
        override public IWorkshopTree Parse(ActionSet actionSet, MethodCall methodCall)
        {
            actionSet = actionSet.New(actionSet.IndexAssigner.CreateContained());

            if (Attributes.WasOverriden && methodCall.ResolveOverrides)
            {
                return(ParseVirtual(actionSet, methodCall));
            }

            if (Attributes.Recursive && !IsSubroutine)
            {
                return(RecursiveStack.Call(this, methodCall, actionSet));
            }

            if (IsSubroutine)
            {
                return(ParseSubroutine(actionSet, methodCall));
            }

            return(ParseNormal(actionSet, methodCall));
        }