예제 #1
0
 private void CheckNodeInTree(SyntaxNode node)
 {
     if (!OriginalRoot.Contains(node))
     {
         throw new ArgumentException(Microsoft.CodeAnalysis.WorkspacesResources.The_node_is_not_part_of_the_tree, nameof(node));
     }
 }
예제 #2
0
        /// <summary>
        /// Returns the changed root node.
        /// </summary>
        public SyntaxNode GetChangedRoot()
        {
            var nodes   = Enumerable.Distinct(_changes.Select(c => c.Node));
            var newRoot = OriginalRoot.TrackNodes(nodes);

            foreach (var change in _changes)
            {
                newRoot = change.Apply(newRoot, _generator);
            }

            return(newRoot);
        }