public FunctionSyntax(EmptyNode emptyNode, TokenNode functionNode, FunctionDeclarationSyntax declarationNode, LineDelimiterSyntax eolNode1, LocalVariableListSyntax localVariableListNode, StatementListSyntax statementListNode, TokenNode endfunctionNode, LineDelimiterSyntax eolNode2) : base(emptyNode, functionNode, declarationNode, eolNode1, localVariableListNode, statementListNode, endfunctionNode, eolNode2) { _empty = emptyNode ?? throw new ArgumentNullException(nameof(emptyNode)); _function = functionNode ?? throw new ArgumentNullException(nameof(functionNode)); _declr = declarationNode ?? throw new ArgumentNullException(nameof(declarationNode)); _eol1 = eolNode1 ?? throw new ArgumentNullException(nameof(eolNode1)); _locals = localVariableListNode ?? throw new ArgumentNullException(nameof(localVariableListNode)); _statements = statementListNode ?? throw new ArgumentNullException(nameof(statementListNode)); _endfunction = endfunctionNode ?? throw new ArgumentNullException(nameof(endfunctionNode)); _eol2 = eolNode2 ?? throw new ArgumentNullException(nameof(eolNode2)); }
public static FunctionSyntax Function(FunctionDeclarationSyntax functionDeclaration, LocalVariableListSyntax locals, params NewStatementSyntax[] statements) { return(new FunctionSyntax( new EmptyNode(0), new TokenNode(new SyntaxToken(SyntaxTokenType.FunctionKeyword), 0), functionDeclaration, new LineDelimiterSyntax(new EndOfLineSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.NewlineSymbol), 0))), locals, new StatementListSyntax(statements), new TokenNode(new SyntaxToken(SyntaxTokenType.EndfunctionKeyword), 0), new LineDelimiterSyntax(new EndOfLineSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.NewlineSymbol), 0))))); }