public static NewExpressionSyntax BinarySubtractionExpression(NewExpressionSyntax expr1, NewExpressionSyntax expr2) { return(new NewExpressionSyntax( expr1.Expression, new BinaryExpressionTailSyntax( new BinaryOperatorSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.MinusOperator), 0)), expr2))); }
public void Render(NewExpressionSyntax newExpression) { Render(newExpression.Expression); if (newExpression.EmptyExpressionTail is null) { Render(newExpression.ExpressionTail); } }
private ExpressionSyntax ParseNewExpression() { var node = new NewExpressionSyntax(); ParseExpected(SyntaxKind.NewKeyword); node.Function = ParseCallAndAccess(ParseExpression()); return(node); }
public static NewExpressionSyntax InvocationExpression(string identifier, NewExpressionSyntax argument) { return(new NewExpressionSyntax( new ExpressionSyntax( new FunctionCallSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.AlphanumericIdentifier, identifier), 0), new TokenNode(new SyntaxToken(SyntaxTokenType.ParenthesisOpenSymbol), 0), new ArgumentListSyntax( argument, new ArgumentListTailSyntax(new EmptyNode(0))), new TokenNode(new SyntaxToken(SyntaxTokenType.ParenthesisCloseSymbol), 0))), new EmptyNode(0))); }
public static NewStatementSyntax CallStatement(string functionName, NewExpressionSyntax argument) { return(new NewStatementSyntax( new StatementSyntax( new CallStatementSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.CallKeyword), 0), new TokenNode(new SyntaxToken(SyntaxTokenType.AlphanumericIdentifier, functionName), 0), new TokenNode(new SyntaxToken(SyntaxTokenType.ParenthesisOpenSymbol), 0), new ArgumentListSyntax( argument, new ArgumentListTailSyntax(new EmptyNode(0))), new TokenNode(new SyntaxToken(SyntaxTokenType.ParenthesisCloseSymbol), 0))), new LineDelimiterSyntax(new EndOfLineSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.NewlineSymbol), 0))))); }
public static NewStatementSyntax SetStatement(string variableName, NewExpressionSyntax arrayIndex, EqualsValueClauseSyntax equalsValueClause) { return(new NewStatementSyntax( new StatementSyntax( new SetStatementSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.SetKeyword), 0), new TokenNode(new SyntaxToken(SyntaxTokenType.AlphanumericIdentifier, variableName), 0), new BracketedExpressionSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.SquareBracketOpenSymbol), 0), arrayIndex, new TokenNode(new SyntaxToken(SyntaxTokenType.SquareBracketCloseSymbol), 0)), equalsValueClause)), new LineDelimiterSyntax(new EndOfLineSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.NewlineSymbol), 0))))); }
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 virtual void VisitNewExpression(NewExpressionSyntax node) => this.DefaultVisit(node);
public static EqualsValueClauseSyntax EqualsValueClause(NewExpressionSyntax expression) { return(new EqualsValueClauseSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.Assignment), 0), expression)); }
public static LocalVariableDeclarationSyntax VariableDefinition(TypeSyntax typeNode, string variableName, NewExpressionSyntax value) { return(new LocalVariableDeclarationSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.LocalKeyword), 0), new VariableDeclarationSyntax(new VariableDefinitionSyntax( typeNode, new TokenNode(new SyntaxToken(SyntaxTokenType.AlphanumericIdentifier, variableName), 0), new EqualsValueClauseSyntax( new TokenNode(new SyntaxToken(SyntaxTokenType.Assignment), 0), value))), new LineDelimiterSyntax(new EndOfLineSyntax(new TokenNode(new SyntaxToken(SyntaxTokenType.NewlineSymbol), 0))))); }
public virtual void VisitNewExpression(NewExpressionSyntax node) { }