示例#1
0
 public ParenthesizedExpressionSyntax(TokenNode openNode, NewExpressionSyntax expressionNode, TokenNode closeNode)
     : base(openNode, expressionNode, closeNode)
 {
     _open       = openNode ?? throw new ArgumentNullException(nameof(openNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
     _close      = closeNode ?? throw new ArgumentNullException(nameof(closeNode));
 }
示例#2
0
 public ArrayReferenceSyntax(TokenNode idNode, TokenNode openBracketNode, NewExpressionSyntax expressionNode, TokenNode closeBracketNode)
     : base(idNode, openBracketNode, expressionNode, closeBracketNode)
 {
     _id         = idNode ?? throw new ArgumentNullException(nameof(idNode));
     _open       = openBracketNode ?? throw new ArgumentNullException(nameof(openBracketNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
     _close      = closeBracketNode ?? throw new ArgumentNullException(nameof(closeBracketNode));
 }
 public static NewExpressionSyntax UnaryMinusExpression(NewExpressionSyntax expression)
 {
     return(new NewExpressionSyntax(
                new ExpressionSyntax(
                    new UnaryExpressionSyntax(
                        new UnaryOperatorSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.MinusOperator), 0)),
                        expression)),
                new EmptyNode(0)));
 }
示例#4
0
 public ElseifSyntax(TokenNode elseifNode, NewExpressionSyntax expressionNode, TokenNode thenNode, LineDelimiterSyntax eolNode, StatementListSyntax statementsNode, EmptyNode emptyElseClauseNode)
     : base(elseifNode, expressionNode, thenNode, eolNode, statementsNode, emptyElseClauseNode)
 {
     _elseif          = elseifNode ?? throw new ArgumentNullException(nameof(elseifNode));
     _expression      = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
     _then            = thenNode ?? throw new ArgumentNullException(nameof(thenNode));
     _eol             = eolNode ?? throw new ArgumentNullException(nameof(eolNode));
     _statements      = statementsNode ?? throw new ArgumentNullException(nameof(statementsNode));
     _emptyElseClause = emptyElseClauseNode ?? throw new ArgumentNullException(nameof(emptyElseClauseNode));
 }
示例#5
0
 public IfStatementSyntax(TokenNode ifNode, NewExpressionSyntax expressionNode, TokenNode thenNode, LineDelimiterSyntax eolNode, StatementListSyntax statementListNode, ElseClauseSyntax elseClauseNode, TokenNode endifNode)
     : base(ifNode, expressionNode, thenNode, eolNode, statementListNode, elseClauseNode, endifNode)
 {
     _if         = ifNode ?? throw new ArgumentNullException(nameof(ifNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
     _then       = thenNode ?? throw new ArgumentNullException(nameof(thenNode));
     _eol        = eolNode ?? throw new ArgumentNullException(nameof(eolNode));
     _statements = statementListNode ?? throw new ArgumentNullException(nameof(statementListNode));
     _elseClause = elseClauseNode ?? throw new ArgumentNullException(nameof(elseClauseNode));
     _endif      = endifNode ?? throw new ArgumentNullException(nameof(endifNode));
 }
        public static NewExpressionSyntax ConstantExpression(float real)
        {
            var isPositive = real >= 0f;
            var isIntegral = real % 1 == 0f;
            var realString = $"{(isPositive ? real : -real)}{(isIntegral ? "." : string.Empty)}";

            var expr = new NewExpressionSyntax(
                new ExpressionSyntax(
                    new ConstantExpressionSyntax(
                        new TokenNode(new SyntaxToken(SyntaxTokenType.RealNumber, realString), 0))),
                new EmptyNode(0));

            return(isPositive
                ? expr
                : new NewExpressionSyntax(
                       new ExpressionSyntax(
                           new UnaryExpressionSyntax(
                               new UnaryOperatorSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.MinusOperator), 0)),
                               expr)),
                       new EmptyNode(0)));
        }
        /*public*/ static NewExpressionSyntax ConstantExpression(float real, int decimalPlaces)
        {
            var isPositive = real >= 0f;
            var realString = $"{(isPositive ? real : -real).ToString()}{(decimalPlaces == 0 ? "." : string.Empty)}";

            throw new NotImplementedException();

            var expr = new NewExpressionSyntax(
                new ExpressionSyntax(
                    new ConstantExpressionSyntax(
                        new TokenNode(new SyntaxToken(SyntaxTokenType.RealNumber, realString), 0))),
                new EmptyNode(0));

            return(isPositive
                ? expr
                : new NewExpressionSyntax(
                       new ExpressionSyntax(
                           new UnaryExpressionSyntax(
                               new UnaryOperatorSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.MinusOperator), 0)),
                               expr)),
                       new EmptyNode(0)));
        }
示例#8
0
 public UnaryExpressionSyntax(UnaryOperatorSyntax operatorNode, NewExpressionSyntax expressionNode)
     : base(operatorNode, expressionNode)
 {
     _operator   = operatorNode ?? throw new ArgumentNullException(nameof(operatorNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
 }
示例#9
0
 public ReturnStatementSyntax(TokenNode returnNode, NewExpressionSyntax expressionNode)
     : base(returnNode, expressionNode)
 {
     _return     = returnNode ?? throw new ArgumentNullException(nameof(returnNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
 }
示例#10
0
 public EqualsValueClauseSyntax(TokenNode assignmentNode, NewExpressionSyntax expressionNode)
     : base(assignmentNode, expressionNode)
 {
     _ass        = assignmentNode ?? throw new ArgumentNullException(nameof(assignmentNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
 }
示例#11
0
 public BinaryExpressionTailSyntax(BinaryOperatorSyntax binaryOperatorNode, NewExpressionSyntax expressionNode)
     : base(binaryOperatorNode, expressionNode)
 {
     _operator = binaryOperatorNode ?? throw new ArgumentNullException(nameof(binaryOperatorNode));
     _expr     = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
 }
 public CommaSeparatedExpressionSyntax(TokenNode commaNode, NewExpressionSyntax expressionNode)
     : base(commaNode, expressionNode)
 {
     _comma      = commaNode ?? throw new ArgumentNullException(nameof(commaNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(expressionNode));
 }
示例#13
0
 public ExitStatementSyntax(TokenNode exitNode, NewExpressionSyntax expressionNode)
     : base(exitNode, expressionNode)
 {
     _exit       = exitNode ?? throw new ArgumentNullException(nameof(exitNode));
     _expression = expressionNode ?? throw new ArgumentNullException(nameof(exitNode));
 }