private ExpressionSyntax ParseTerm() { ExpressionSyntax expr; var tk = Current.Kind; switch (tk) { case SyntaxKind.FalseKeyword: case SyntaxKind.TrueKeyword: case SyntaxKind.IntegerLiteralToken: case SyntaxKind.FloatLiteralToken: expr = new LiteralExpressionSyntax(SyntaxFacts.GetLiteralExpression(Current.Kind), NextToken()); break; default: expr = new EnumNameExpressionSyntax(new List <SyntaxToken> { InsertMissingToken(SyntaxKind.IdentifierToken) }); if (tk == SyntaxKind.EndOfFileToken) { expr = WithDiagnostic(expr, DiagnosticId.ExpressionExpected); } else { expr = WithDiagnostic(expr, DiagnosticId.InvalidExprTerm, tk.GetText()); } break; } return(expr); }
private ExpressionSyntax ParseTerm() { ExpressionSyntax expr; var tk = Current.Kind; switch (tk) { case SyntaxKind.FalseKeyword: case SyntaxKind.TrueKeyword: case SyntaxKind.IntegerLiteralToken: case SyntaxKind.FloatLiteralToken: expr = new LiteralExpressionSyntax(SyntaxFacts.GetLiteralExpression(Current.Kind), NextToken()); break; default: expr = new EnumNameExpressionSyntax(new List<SyntaxToken> { InsertMissingToken(SyntaxKind.IdentifierToken) }); if (tk == SyntaxKind.EndOfFileToken) expr = WithDiagnostic(expr, DiagnosticId.ExpressionExpected); else expr = WithDiagnostic(expr, DiagnosticId.InvalidExprTerm, tk.GetText()); break; } return expr; }
public virtual void VisitEnumNameExpression(EnumNameExpressionSyntax node) { DefaultVisit(node); }