Exemple #1
0
        /// <summary>
        /// Finds all nodes with this annotation attached, that are on or under node.
        /// </summary>
        public IEnumerable <SyntaxNodeOrToken> FindAnnotatedNodesOrTokens(SyntaxNode root)
        {
            if (root != null)
            {
                return(NodeOrTokenResolver.Resolve(root, this));
            }

            return(SpecializedCollections.EmptyEnumerable <SyntaxNodeOrToken>());
        }
            public static IEnumerable <SyntaxNodeOrToken> Resolve(SyntaxNode root, SyntaxAnnotation annotation)
            {
                Contract.ThrowIfNull(root);
                Contract.ThrowIfNull(annotation);

                var result   = new List <SyntaxNodeOrToken>();
                var resolver = new NodeOrTokenResolver(annotation);

                resolver.Visit(root, result);

                return(result);
            }