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]; }
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]; }