public ScriptFunctionDefinition(AstNodeArgs args)
            : base(args)
        {
            Token funcName = ChildNodes[1] as Token;
              int index = 0;

              if (funcName != null)
              {
            Name = funcName.Text;
              }
              else
              //Function expression
              {
            Name = null;
            index = 1;
              }

              if (ChildNodes.Count == 5-index)
              {
            Contract = ChildNodes[3 - index] as ScriptFuncContract;
            Parameters = ChildNodes[3 - index] as ScriptFuncParameters;
              }

              if (ChildNodes.Count == 6 - index)
              {
            Parameters = ChildNodes[2 - index] as ScriptFuncParameters;
            GlobalList = ChildNodes[3 - index] as ScriptGlobalList;
            Contract = ChildNodes[4 - index] as ScriptFuncContract;
              }

              Body = (ScriptAst)ChildNodes[ChildNodes.Count - 1];
        }
Ejemplo n.º 2
0
        public ScriptFunctionDefinition(AstNodeArgs args)
            : base(args)
        {
            Token funcName = ChildNodes[1] as Token;
            int   index    = 0;

            if (funcName != null)
            {
                Name = funcName.Text;
            }
            else
            //Function expression
            {
                Name  = null;
                index = 1;
            }

            if (ChildNodes.Count == 5 - index)
            {
                Contract   = ChildNodes[3 - index] as ScriptFuncContract;
                Parameters = ChildNodes[3 - index] as ScriptFuncParameters;
            }

            if (ChildNodes.Count == 6 - index)
            {
                Parameters = ChildNodes[2 - index] as ScriptFuncParameters;
                GlobalList = ChildNodes[3 - index] as ScriptGlobalList;
                Contract   = ChildNodes[4 - index] as ScriptFuncContract;
            }

            Body = (ScriptAst)ChildNodes[ChildNodes.Count - 1];
        }