示例#1
0
        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);
        }
示例#2
0
        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;
        }
示例#3
0
 public virtual void VisitEnumNameExpression(EnumNameExpressionSyntax node)
 {
     DefaultVisit(node);
 }
示例#4
0
 public virtual void VisitEnumNameExpression(EnumNameExpressionSyntax node)
 {
     DefaultVisit(node);
 }