public override void VisitLeadingTrivia(SyntaxToken token)
 {
     using (_isLeadingTrivia.PostValue(true))
     {
         base.VisitLeadingTrivia(token);
     }
 }
Example #2
0
 public static void ExecuteInContext <T>(
     this IContextualProperty <T> contextualProperty,
     T valueInContext,
     Action <T> executeInContext)
 {
     using (contextualProperty.PostValue(valueInContext))
     {
         executeInContext(valueInContext);
     }
 }
        public override void VisitToken(SyntaxToken token)
        {
            SyntaxElementWithTrivia element;

            if (token.IsKeyword() || token.IsContextualKeyword())
            {
                // Keyword
                element = token.IsKind(SyntaxKind.PartialKeyword)
                                        ? ProcessPartialKeyword(token)
                                        : new SyntaxElementWithTrivia(token, SyntaxElementKind.Keyword);
            }
            else if (token.IsKind(SyntaxKind.IdentifierToken))
            {
                // Identifier

                element = ProcessSemanticSymbolIdentifier(token);
            }
            else if (IsStringLitteralToken(token))
            {
                // String litteral
                element = new SyntaxElementWithTrivia(token, SyntaxElementKind.StringLitteral);
            }
            else
            {
                // Litteral
                element = new SyntaxElementWithTrivia(token, SyntaxElementKind.Litteral);
            }

            using (_currentSyntaxElement.PostValue(element))
            {
                VisitLeadingTrivia(token);
                VisitTrailingTrivia(token);
            }

            ResultsAccumulator.Add(element);
        }