2 types derived from SyntaxNode
Microsoft.CodeAnalysis (1)
Syntax\SyntaxList.cs (1)
11internal abstract partial class SyntaxList : SyntaxNode
Microsoft.CodeAnalysis.CSharp (1)
Syntax\CSharpSyntaxNode.cs (1)
24public abstract partial class CSharpSyntaxNode : SyntaxNode, IFormattable
32355 references to SyntaxNode
Aspire.Hosting.Integration.Analyzers (5)
AspireExportAnalyzer.cs (5)
301var attributeSyntax = exportAttribute.ApplicationSyntaxReference?.GetSyntax(context.CancellationToken); 1095var syntax = method.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 1254foreach (var ancestor in invocation.Ancestors()) 1270SyntaxNode current = anonymousFunction; 1639var attrSyntax = attr.ApplicationSyntaxReference?.GetSyntax(context.CancellationToken);
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\BinderInvocation.cs (1)
34public static bool IsCandidateSyntaxNode(SyntaxNode node)
dotnet-format (3)
Formatters\WhitespaceFormatter.cs (1)
55var root = await document.GetSyntaxRootAsync(cancellationToken);
Utilities\GeneratedCodeUtilities.cs (2)
33var syntaxRoot = await syntaxTree.GetRootAsync(cancellationToken); 64private static bool BeginsWithAutoGeneratedComment(SyntaxNode syntaxRoot, Func<SyntaxTrivia, bool> isComment)
GenerateDocumentationAndConfigFiles (2078)
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.cs (20)
27where TStatementSyntax : SyntaxNode 29where TVariableDeclaratorSyntax : SyntaxNode 31protected abstract bool IsMeaningfulBlock(SyntaxNode node); 32protected abstract bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock); 33protected abstract SyntaxNode GetVariableDeclaratorSymbolNode(TVariableDeclaratorSyntax variableDeclarator); 36protected abstract Task<bool> TypesAreCompatibleAsync(Document document, ILocalSymbol localSymbol, TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode right, CancellationToken cancellationToken); 38public async Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 47private async Task<State> ComputeStateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 78Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken) 84var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114var newRoot = editor.GetChangedRoot(); 151var originalNextStatement = state.OutermostBlockStatements[statementIndex + 1]; 187var blocks = state.InnermostBlock.GetAncestorsOrThis<SyntaxNode>(); 188foreach (var block in blocks) 211var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(state.VariableDeclarator); 218syntaxFacts.GetPartsOfAssignmentStatement(firstStatement, out var left, out var right); 243out var _, out var operatorToken, out var right);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.State.cs (5)
30public SyntaxNode OutermostBlock { get; private set; } 31public SyntaxNode InnermostBlock { get; private set; } 32public IReadOnlyList<SyntaxNode> OutermostBlockStatements { get; private set; } 33public IReadOnlyList<SyntaxNode> InnermostBlockStatements { get; private set; } 104var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\IMoveDeclarationNearReferenceService.cs (2)
17Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken); 24Task<Document> MoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken);
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (98)
37public abstract SyntaxNode LocalDeclarationStatement( 38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false); 43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 46public abstract SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer); 51public abstract SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer); 53public abstract SyntaxNode EqualsValueClause(SyntaxNode value); 54public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value); 58public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 60public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 62public abstract SyntaxNode RefExpression(SyntaxNode expression); 67public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true); 73public abstract SyntaxNode YieldReturnStatement(SyntaxNode expression); 78/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>. 84public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken); 85public abstract SyntaxNode Interpolation(SyntaxNode syntaxNode); 86public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken); 87public abstract SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment); 88public abstract SyntaxNode InterpolationFormatClause(string format); 89public abstract SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames); 106public abstract SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext); 108public abstract SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right); 110public abstract SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type); 119public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern); 121public abstract SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right); 122public abstract SyntaxNode ConstantPattern(SyntaxNode expression); 123public abstract SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name); 124public abstract SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression); 125public abstract SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression); 126public abstract SyntaxNode LessThanRelationalPattern(SyntaxNode expression); 127public abstract SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression); 128public abstract SyntaxNode NotPattern(SyntaxNode pattern); 129public abstract SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right); 130public abstract SyntaxNode ParenthesizedPattern(SyntaxNode pattern); 131public abstract SyntaxNode TypePattern(SyntaxNode type); 132public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern); 136public abstract SyntaxNode DefaultExpression(ITypeSymbol type); 137public abstract SyntaxNode DefaultExpression(SyntaxNode type); 139public abstract SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression); 141public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 144public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 147public abstract SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind); 149public abstract SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right); 151public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 157public abstract SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName); 158public abstract SyntaxNode IdentifierName(string identifier); 160public abstract SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression); 161public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression)
src\5f6f2f95b47c3dc6\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (6)
15internal readonly struct SemanticModelReuseInfo(SemanticModel previousNonSpeculativeSemanticModel, SemanticModel currentSemanticModel, SyntaxNode bodyNode, VersionStamp topLevelSementicVersion) 31public readonly SyntaxNode BodyNode = bodyNode; 94public async ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 100var bodyNode = reuseService.TryGetContainingMethodBodyForSpeculation(node); 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 177SyntaxNode bodyNode,
src\7a47995420f988d7\AbstractRemoveUnnecessaryImportsService.cs (3)
15IEqualityComparer<T> where T : SyntaxNode 22public abstract Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 25Document document, Func<SyntaxNode, bool> predicate, CancellationToken cancellationToken)
src\7a47995420f988d7\IRemoveUnnecessaryImportsService.cs (1)
16Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken);
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (6)
21private readonly HashSet<SyntaxNode> _seenExpressionInferType = []; 22private readonly HashSet<SyntaxNode> _seenExpressionGetType = []; 34protected abstract IEnumerable<TypeInferenceInfo> InferTypesWorker_DoNotCallDirectly(SyntaxNode expression); 35protected abstract IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode expression, bool objectAsDefault); 46public ImmutableArray<TypeInferenceInfo> InferTypes(SyntaxNode expression, bool filterUnusable = true) 60protected IEnumerable<TypeInferenceInfo> GetTypes(SyntaxNode expression, bool objectAsDefault = false)
src\ce787ef1f541c32a\IReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
30Task<SyntaxNode> ReplaceAsync(Document document, SyntaxNode memberDeclaration, CancellationToken cancellationToken);
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (23)
20where TStatementSyntax : SyntaxNode 22protected abstract bool IsFunctionDeclaration(SyntaxNode node); 24protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 26protected abstract SyntaxNode GetBody(SyntaxNode methodNode); 27protected abstract SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement); 34SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, TStatementSyntax statement); 37SyntaxNode functionDeclaration, 45var functionBody = GetBody(functionDeclaration); 79public void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement) 90var parameterDeclaration = parameterReference.GetSyntax(cancellationToken); 92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 115SyntaxNode functionDeclaration, 123var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135SyntaxNode constructorDeclaration, 159var statementToAddAfter = TryGetStatementToAddInitializationAfter(parameter, blockStatement); 164private SyntaxNode? TryGetStatementToAddInitializationAfter( 195using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var accessors); 209foreach (var accessorBody in accessors)
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
19this SyntaxNode node, 25this SyntaxNode node, 32this SyntaxNode node,
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
441var syntax = decl.GetSyntax(cancellationToken); 451foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
54private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken)
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxGeneratorExtensions.cs (56)
32/// A <see cref="SyntaxNode"/> representing the declaration. 34public static SyntaxNode DefaultOperatorEqualityDeclaration(this SyntaxGenerator generator, 37var leftArgument = generator.IdentifierName(LeftIdentifierName); 38var rightArgument = generator.IdentifierName(RightIdentifierName); 40List<SyntaxNode> statements = []; 75/// <returns>A <see cref="SyntaxNode"/> representing the type reference expression.</returns> 76public static SyntaxNode TypeExpressionForStaticMemberAccess(this SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 81var typeExpression = generator.TypeExpression(typeSymbol); 85static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 89var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 90var right = expression.ChildNodes().Last(); 108/// A <see cref="SyntaxNode"/> representing the declaration. 110public static SyntaxNode DefaultOperatorInequalityDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 112var leftArgument = generator.IdentifierName(LeftIdentifierName); 113var rightArgument = generator.IdentifierName(RightIdentifierName); 115var returnStatement = generator.ReturnStatement( 134/// A <see cref="SyntaxNode"/> representing the declaration. 136public static SyntaxNode DefaultOperatorLessThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 138var leftArgument = generator.IdentifierName(LeftIdentifierName); 139var rightArgument = generator.IdentifierName(RightIdentifierName); 141SyntaxNode expression; 172var returnStatement = generator.ReturnStatement(expression); 186/// A <see cref="SyntaxNode"/> representing the declaration. 188public static SyntaxNode DefaultOperatorLessThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 190var leftArgument = generator.IdentifierName(LeftIdentifierName); 191var rightArgument = generator.IdentifierName(RightIdentifierName); 193SyntaxNode expression; 219var returnStatement = generator.ReturnStatement(expression); 233/// A <see cref="SyntaxNode"/> representing the declaration. 235public static SyntaxNode DefaultOperatorGreaterThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 237var leftArgument = generator.IdentifierName(LeftIdentifierName); 238var rightArgument = generator.IdentifierName(RightIdentifierName); 240SyntaxNode expression; 267var returnStatement = generator.ReturnStatement(expression); 281/// A <see cref="SyntaxNode"/> representing the declaration. 283public static SyntaxNode DefaultOperatorGreaterThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 285var leftArgument = generator.IdentifierName(LeftIdentifierName); 286var rightArgument = generator.IdentifierName(RightIdentifierName); 288SyntaxNode expression; 318var returnStatement = generator.ReturnStatement(expression); 322private static SyntaxNode ComparisonOperatorDeclaration(this SyntaxGenerator generator, OperatorKind operatorKind, INamedTypeSymbol containingType, params SyntaxNode[] statements) 347/// A <see cref="SyntaxNode"/> representing the declaration. 349public static SyntaxNode DefaultEqualsOverrideDeclaration(this SyntaxGenerator generator, Compilation compilation, INamedTypeSymbol containingType) 351var argumentName = generator.IdentifierName("obj"); 353List<SyntaxNode> statements = []; 402/// A <see cref="SyntaxNode"/> representing the declaration. 404public static SyntaxNode DefaultGetHashCodeOverrideDeclaration( 425public static IEnumerable<SyntaxNode> DefaultMethodBody( 431public static SyntaxNode DefaultMethodStatement(this SyntaxGenerator generator, Compilation compilation) 438public static SyntaxNode? TryGetContainingDeclaration(this SyntaxGenerator generator, SyntaxNode? node, DeclarationKind kind) 469/// A <see cref="SyntaxNode"/> representing an unused identifier name. 472public static SyntaxNode FirstUnusedIdentifierName(this SyntaxGenerator generator, SemanticModel semanticModel, int position, string baseName, int maxTries = int.MaxValue) 474var identifierName = generator.IdentifierName(baseName);
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxNodeExtensions.cs (2)
34public static SyntaxNode WithAddImportsAnnotation(this SyntaxNode syntaxNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\ForkingSyntaxEditorBasedCodeFixProvider.cs (4)
25where TDiagnosticNode : SyntaxNode 60var originalRoot = editor.OriginalRoot; 81var currentRoot = semanticDocument.Root; 98var changedRoot = subEditor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (4)
101var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newRoot = FixAll(fixAllContext.Solution.Services, root, commonSpans); 114private SyntaxNode FixAll(SolutionServices services, SyntaxNode root, PooledHashSet<TextSpan> commonSpans)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 88var newRoot = editor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (6)
35var decl = await GetContainingMemberOrTypeDeclarationAsync(document, fixAllInContainingMember, span, cancellationToken).ConfigureAwait(false); 55var root = await syntaxRef.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 72private static async Task<SyntaxNode?> GetContainingMemberOrTypeDeclarationAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var startContainer = fixAllInContainingMember 94var endContainer = fixAllInContainingMember
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (22)
20protected abstract IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken); 22private IList<bool>? GetAvailableInsertionIndices<TDeclarationNode>(TDeclarationNode destination, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 23=> GetAvailableInsertionIndices((SyntaxNode)destination, cancellationToken); 34protected static SyntaxToken GetEndToken(SyntaxNode node) 50protected static TextSpan GetSpan(SyntaxNode node) 58public bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken) 61public bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken) 65SyntaxNode? destination, 144public SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration( 154private (SyntaxNode? declaration, IList<bool>? availableIndices) FindMostRelevantDeclaration( 166using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var ancestors); 168var fallbackDeclaration = (SyntaxNode?)null; 172ancestors.AddRange(token.GetAncestors<SyntaxNode>()); 177if (TryAddToRelatedDeclaration(declarations.Where(d => d is not ICompilationUnitSyntax), checkGeneratedCode: false, out var declaration1, out var availableIndices1) || 185if (TryAddToWorker(declarations, checkGeneratedCode: true, out var declaration2, out var availableIndices2, predicate: node => true)) 191IEnumerable<SyntaxNode> declarations, 193[NotNullWhen(true)] out SyntaxNode? declaration, 231IEnumerable<SyntaxNode> declarations, 233[NotNullWhen(true)] out SyntaxNode? declaration, 235Func<SyntaxNode, bool> predicate) 237foreach (var decl in declarations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (83)
47public TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 53public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 56public TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 59public TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 66where TDeclarationNode : SyntaxNode 69private static TNode WithAnnotations<TNode>(TNode node, CodeGenerationContextInfo info) where TNode : SyntaxNode 76public SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 82public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 85public SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 88public SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 94public TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 100public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 103public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 109public TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 112public TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 115public TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 118public TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 123protected abstract TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 125protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 126protected abstract TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 127protected abstract TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 129protected abstract TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) where TDeclarationNode : SyntaxNode; 131public abstract TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<IParameterSymbol> parameters, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 133public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 134public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 135public abstract TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138public abstract TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 139public abstract TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 140public abstract TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 142public abstract CodeGenerationDestination GetDestination(SyntaxNode node); 143public abstract SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 147public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 149public abstract SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 150public abstract SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 156protected static void CheckDeclarationNode<TDeclarationNode>(SyntaxNode destination) where TDeclarationNode : SyntaxNode 171protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2>(SyntaxNode destination) 172where TDeclarationNode1 : SyntaxNode 173where TDeclarationNode2 : SyntaxNode 190protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3>(SyntaxNode destination) 191where TDeclarationNode1 : SyntaxNode 192where TDeclarationNode2 : SyntaxNode 193where TDeclarationNode3 : SyntaxNode 211protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3, TDeclarationNode4>(SyntaxNode destination) 212where TDeclarationNode1 : SyntaxNode 213where TDeclarationNode2 : SyntaxNode 214where TDeclarationNode3 : SyntaxNode 215where TDeclarationNode4 : SyntaxNode 232Func<SyntaxNode, TCodeGenerationContextInfo, IList<bool>?, CancellationToken, SyntaxNode> declarationTransform, 247var transformedDeclaration = declarationTransform(destinationDeclaration, info, availableIndices, cancellationToken); 249var root = await destinationTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 250var currentRoot = root.ReplaceNode(destinationDeclaration, transformedDeclaration); 275where TDeclarationNode : SyntaxNode 297where TDeclarationSyntax : SyntaxNode 299var newMembers = new List<SyntaxNode>(); 304var newMember = GetNewMember(info, codeGenerationDestination, member, cancellationToken); 329where TDeclarationSyntax : SyntaxNode 342private SyntaxNode? GetNewMember(TCodeGenerationContextInfo info, CodeGenerationDestination codeGenerationDestination, ISymbol member, CancellationToken cancellationToken) 359CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 379protected abstract IComparer<SyntaxNode> GetMemberComparer(); 481protected static void CheckLocation(SyntaxNode destinationMember, [NotNull] Location? location) 500SyntaxNode attributeList, 520SyntaxNode attributeToRemove, 526var root = attributeToRemove.SyntaxTree.GetRoot(); 535where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (8)
14protected abstract SyntaxNode CreateExplicitlyCastedLiteralValue(INamedTypeSymbol enumType, SpecialType underlyingSpecialType, object constantValue); 19public SyntaxNode CreateEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 60private SyntaxNode CreateFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 70private SyntaxNode CreateFlagsEnumConstantValue( 102SyntaxNode? finalNode = null; 106var node = CreateMemberAccessExpression(field.field, enumType, underlyingSpecialType); 136private SyntaxNode CreateMemberAccessExpression( 184private SyntaxNode CreateNonFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (9)
19public static SyntaxNode? GenerateThrowStatement( 33var exceptionCreationExpression = factory.ObjectCreationExpression(exceptionType, arguments: []); 38public static TSyntaxNode? AddAnnotationsTo<TSyntaxNode>(ISymbol symbol, TSyntaxNode? syntax) where TSyntaxNode : SyntaxNode 43public static TSyntaxNode AddFormatterAndCodeGeneratorAnnotationsTo<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 172public static T RemoveLeadingDirectiveTrivia<T>(T node) where T : SyntaxNode 179where T : SyntaxNode 198where TDeclaration : SyntaxNode 303where TDeclarationSyntax : SyntaxNode 328where TDeclarationSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (18)
55SyntaxNode? initializer = null) 81bool isIndexer = false, SyntaxNode? initializer = null) 109SyntaxNode? initializer = null) 125ImmutableArray<SyntaxNode> statements = default, 126ImmutableArray<SyntaxNode> baseConstructorArguments = default, 127ImmutableArray<SyntaxNode> thisConstructorArguments = default, 140ImmutableArray<SyntaxNode> statements = default) 158ImmutableArray<SyntaxNode> statements = default, 159ImmutableArray<SyntaxNode> handlesExpressions = default, 179ImmutableArray<SyntaxNode> statements = default, 180ImmutableArray<SyntaxNode> handlesExpressions = default, 198ImmutableArray<SyntaxNode> statements = default, 224ImmutableArray<SyntaxNode> statements = default, 252ImmutableArray<SyntaxNode> statements = default, 361ImmutableArray<SyntaxNode> statements = default) 385ImmutableArray<SyntaxNode> statements) 518ImmutableArray<SyntaxNode> statements = default, 551SyntaxNode? initializer = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (27)
22SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 33SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 38SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 43SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 53TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 63TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 68TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 73TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 83TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<ISymbol> members, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 88TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 93TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 98TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 103TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 108TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 113TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 118TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 123TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 188bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken); 193bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken); 201SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration(Solution solution, INamespaceOrTypeSymbol namespaceOrType, Location? location, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorInfo.cs (15)
17private readonly ImmutableArray<SyntaxNode> _baseConstructorArguments; 18private readonly ImmutableArray<SyntaxNode> _thisConstructorArguments; 19private readonly ImmutableArray<SyntaxNode> _statements; 25ImmutableArray<SyntaxNode> statements, 26ImmutableArray<SyntaxNode> baseConstructorArguments, 27ImmutableArray<SyntaxNode> thisConstructorArguments) 42ImmutableArray<SyntaxNode> statements, 43ImmutableArray<SyntaxNode> baseConstructorArguments, 44ImmutableArray<SyntaxNode> thisConstructorArguments) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 74private static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 77private static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 80private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationConstructorInfo? info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorInfo.cs (5)
17private readonly ImmutableArray<SyntaxNode> _statements; 21ImmutableArray<SyntaxNode> statements) 30ImmutableArray<SyntaxNode> statements) 42public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 48private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationDestructorInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 57private static SyntaxNode GetInitializer(CodeGenerationFieldInfo info) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodInfo.cs (10)
20private readonly ImmutableArray<SyntaxNode> _statements; 21private readonly ImmutableArray<SyntaxNode> _handlesExpressions; 28ImmutableArray<SyntaxNode> statements, 29ImmutableArray<SyntaxNode> handlesExpressions) 45ImmutableArray<SyntaxNode> statements, 46ImmutableArray<SyntaxNode> handlesExpressions) 58public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 61public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 76private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationMethodInfo info) 79private static ImmutableArray<SyntaxNode> GetHandlesExpressions(CodeGenerationMethodInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationPropertyInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 45public static SyntaxNode GetInitializer(CodeGenerationPropertyInfo info) 48public static SyntaxNode GetInitializer(IPropertySymbol property)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
148public static ImmutableArray<SyntaxNode> DeclaringSyntaxNodes
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\AbstractRefactoringHelpersService.cs (25)
15where TExpressionSyntax : SyntaxNode 16where TArgumentSyntax : SyntaxNode 17where TExpressionStatementSyntax : SyntaxNode 21public bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 24public void AddRelevantNodes<TSyntaxNode>(SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 27public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 30public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 33public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 36public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 39public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 42public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 45public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 48public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 51public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringContextExtensions.cs (12)
41public static Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 44public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNode) where TSyntaxNode : SyntaxNode 50public static Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 53public static async Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNodes) where TSyntaxNode : SyntaxNode 59public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 65public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 68public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, bool allowEmptyNode, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 76this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 82this Document document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 89this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 93this ParsedDocument document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 102this ParsedDocument document, TextSpan span, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (3)
38public static bool IsNodeUnderselected(SyntaxNode? node, TextSpan selection) 81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\IRefactoringHelpersService.cs (1)
20this IRefactoringHelpersService service, ParsedDocument document, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\AddParameterEditor.cs (10)
20SyntaxNode declaration, 22SyntaxNode parameterDeclaration, 54var firstParameter = existingParameters[0]; 66var nextParameter = existingParameters[insertionIndex]; 91var nextParameter = existingParameters[insertionIndex]; 108var nextParameter = existingParameters[insertionIndex]; 122ISyntaxFacts syntaxFacts, SyntaxNode node, bool includeLeadingNewLine) 152IReadOnlyList<SyntaxNode> parameters, CancellationToken cancellationToken) 162var lastParameter = parameters[i - 1]; 163var thisParameter = parameters[i];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (23)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length); 73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 77SyntaxNode container, 95SyntaxNode container, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 111IEnumerable<SyntaxNode> syntaxNodes, 117using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var importsToAdd); 118using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToSimplify); 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 139var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 159var first = root.DescendantNodesAndSelf().First(x => x.HasAnnotation(annotation)); 160var last = root.DescendantNodesAndSelf().Last(x => x.HasAnnotation(annotation)); 162var context = first.GetCommonRoot(last); 172IEnumerable<SyntaxNode> annotatedNodes, 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 180var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188SyntaxNode? first = null, last = null; 190foreach (var annotatedNode in annotatedNodes) 218var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 233var context = first.GetCommonRoot(last); 236var importContainer = addImportsService.GetImportContainer(root, context, importToSyntax.First().Value, options); 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (5)
74public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 76if (document.TryGetSyntaxRoot(out var root)) 146var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span)); 167public static ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (5)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 30SyntaxNode expression, 56SyntaxNode expression, 68SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\StringBuilderExtensions.cs (1)
22where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxEditorExtensions.cs (29)
31Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 32CancellationToken cancellationToken) where TNode : SyntaxNode 54Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 55CancellationToken cancellationToken) where TNode : SyntaxNode 76Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 77CancellationToken cancellationToken) where TNode : SyntaxNode 98Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 99CancellationToken cancellationToken) where TNode : SyntaxNode 120Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 121CancellationToken cancellationToken) where TNode : SyntaxNode 154Func<ISyntaxFactsService, SyntaxNode, SyntaxNode> getSemanticBoundary, 156Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 157CancellationToken cancellationToken) where TNode : SyntaxNode 170var originalRoot = editor.OriginalRoot; 173var currentRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var replacementRoot = updateRoot(semanticModel, currentRoot, instance, currentNode); 195private static SyntaxNode GetExpressionSemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 202return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>( 210private static SyntaxNode GetMethodBodySemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 212return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (22)
48public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56ImmutableArray<SyntaxNode> statements) 120private static ImmutableArray<SyntaxNode> CreateEqualsMethodStatements( 135using var statements = TemporaryArray<SyntaxNode>.Empty; 144var localNameExpression = factory.IdentifierName(localName); 145var objNameExpression = factory.IdentifierName(ObjName); 149using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 178var ifStatement = factory.IfStatement( 189var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 201var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 240ImmutableArray<ISymbol> members, SyntaxNode localNameExpression, 241ArrayBuilder<SyntaxNode> expressions) 251var symbolNameExpression = factory.IdentifierName(member.Name); 252var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(), symbolNameExpression) 254var otherSymbol = factory.MemberAccessExpression(localNameExpression, symbolNameExpression); 291private static ImmutableArray<SyntaxNode> CreateIEquatableEqualsMethodStatements( 299var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 301var otherNameExpression = factory.IdentifierName(OtherName); 305using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 343SyntaxGenerator factory, SyntaxGeneratorInternal generatorInternal, Compilation compilation, ParseOptions parseOptions, SyntaxNode otherNameExpression, ArrayBuilder<SyntaxNode> expressions) 345var nullLiteral = factory.NullLiteralExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (20)
17public static ImmutableArray<SyntaxNode> GetGetHashCodeComponents( 25var result = ArrayBuilder<SyntaxNode>.GetInstance(); 41public static ImmutableArray<SyntaxNode> CreateGetHashCodeStatementsUsingSystemHashCode( 43INamedTypeSymbol hashCodeType, ImmutableArray<SyntaxNode> memberReferences) 47var statement = factory.ReturnStatement( 55var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 59var localReference = factory.IdentifierName(hashName); 60foreach (var member in memberReferences) 79public static ImmutableArray<SyntaxNode> CreateGetHashCodeMethodStatements( 128var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 139var hashCodeNameExpression = factory.IdentifierName(HashCodeName); 142var permuteValue = CreateLiteralExpression(factory, hashFactor); 143foreach (var component in components) 146var rightSide = 178private static SyntaxNode SimpleLocalDeclarationStatement( 180string name, SyntaxNode initializer) 187private static SyntaxNode CreateLiteralExpression(SyntaxGenerator factory, int value) 217private static SyntaxNode GetMemberForGetHashCode( 224var getHashCodeNameExpression = factory.IdentifierName(GetHashCodeName); 225var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (58)
33public static SyntaxNode Negate( 36SyntaxNode expression, 43public static SyntaxNode Negate( 46SyntaxNode expressionOrPattern, 54public static SyntaxNode Negate( 57SyntaxNode expressionOrPattern, 114syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 124syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 136private static SyntaxNode GetNegationOfBinaryExpression( 137SyntaxNode expressionNode, 144syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand); 172var newBinaryExpressionSyntax = negatedKind is BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals 190SyntaxNode innerPattern; 199var typeExpression = generatorInternal.Type(isTypeOperation.TypeOperand, typeContext: false); 228private static SyntaxNode GetNegationOfBinaryPattern( 229SyntaxNode pattern, 241syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right); 243var newLeft = generator.Negate(generatorInternal, left, semanticModel, cancellationToken); 244var newRight = generator.Negate(generatorInternal, right, semanticModel, cancellationToken); 246var newPattern = 258private static SyntaxNode GetNegationOfIsPatternExpression(SyntaxNode isExpression, SyntaxGenerator generator, SyntaxGeneratorInternal generatorInternal, SemanticModel semanticModel, CancellationToken cancellationToken) 263syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern); 265SyntaxNode? negatedPattern = null; 287var type = syntaxFacts.GetTypeOfTypePattern(negatedPattern); 300private static SyntaxNode GetNegationOfRelationalPattern( 301SyntaxNode expressionNode, 312syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression); 327private static bool IsLegalPattern(ISyntaxFacts syntaxFacts, SyntaxNode pattern, bool designatorsLegal) 332syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out _, out var right); 342syntaxFacts.GetPartsOfUnaryPattern(pattern, out _, out var subPattern); 354syntaxFacts.GetPartsOfParenthesizedPattern(pattern, out _, out var subPattern, out _); 360syntaxFacts.GetPartsOfDeclarationPattern(pattern, out _, out var designator); 366syntaxFacts.GetPartsOfRecursivePattern(pattern, out _, out _, out _, out var designator); 376private static SyntaxNode NegateRelational( 379SyntaxNode leftOperand, 381SyntaxNode rightOperand) 467private static SyntaxNode GetNegationOfLiteralExpression( 468SyntaxNode expression, 476SyntaxNode newLiteralExpression; 497private static SyntaxNode GetNegationOfConstantPattern( 498SyntaxNode pattern, 510var expression = syntaxFacts.GetExpressionOfConstantPattern(pattern); 522private static SyntaxNode GetNegationOfLogicalNotExpression( 523SyntaxNode expression, 527var operand = syntaxFacts.GetOperandOfPrefixUnaryExpression(expression); 533private static SyntaxNode GetNegationOfUnaryPattern( 534SyntaxNode pattern, 550private static SyntaxNode GetNegationOfNotPattern( 551SyntaxNode pattern, 558syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern); 564var type = syntaxFacts.GetTypeOfTypePattern(subPattern);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (47)
23public static SyntaxNode CreateThrowNotImplementedStatement( 30public static SyntaxNode CreateThrowNotImplementedExpression( 37private static SyntaxNode CreateNewNotImplementedException(SyntaxGenerator codeDefinitionFactory, Compilation compilation) 39var notImplementedExceptionTypeSyntax = compilation.NotImplementedExceptionType() is INamedTypeSymbol symbol 48public static ImmutableArray<SyntaxNode> CreateThrowNotImplementedStatementBlock( 52public static ImmutableArray<SyntaxNode> CreateArguments( 59private static SyntaxNode CreateArgument( 66public static SyntaxNode GetDefaultEqualityComparer( 73var typeExpression = equalityComparerType == null 88public static SyntaxNode IsPatternExpression(this SyntaxGeneratorInternal generator, SyntaxNode expression, SyntaxNode pattern) 94public static SyntaxNode GenerateDelegateThroughMemberStatement( 97var through = generator.MemberAccessExpression( 103var invocationExpression = generator.InvocationExpression(through, generator.CreateArguments(method.Parameters)); 109public static SyntaxNode CreateDelegateThroughExpression( 112var name = generator.IdentifierName(throughMember.Name); 113var through = throughMember.IsStatic 159var explicitImplementationCast = generator.CastExpression( 174static SyntaxNode GenerateContainerName(SyntaxGenerator factory, ISymbol throughMember) 183public static ImmutableArray<SyntaxNode> GetGetAccessorStatements( 193var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 194var expression = property.IsIndexer 222public static ImmutableArray<SyntaxNode> GetSetAccessorStatements( 232var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 233var expression = property.IsIndexer 335public static ImmutableArray<SyntaxNode> CreateAssignmentStatements( 345using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 346using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 358var assignExpression = factory.AssignmentStatement( 361var statement = factory.ExpressionStatement(assignExpression); 371var fieldAccess = factory.MemberAccessExpression(factory.ThisExpression(), factory.IdentifierName(fieldName)) 391SyntaxNode fieldAccess, 394ArrayBuilder<SyntaxNode> nullCheckStatements, 395ArrayBuilder<SyntaxNode> assignStatements) 426public static SyntaxNode CreateAssignWithNullCheckStatement( 427this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter, SyntaxNode fieldAccess) 436public static SyntaxNode CreateThrowArgumentNullExpression(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 439private static SyntaxNode CreateNewArgumentNullException(SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 448public static SyntaxNode CreateNullCheckAndThrowStatement( 454var condition = factory.CreateNullCheckExpression(generatorInternal, semanticModel, parameter.Name); 455var throwStatement = factory.CreateThrowArgumentNullExceptionStatement(semanticModel.Compilation, parameter); 460public static SyntaxNode CreateNullCheckExpression( 463var identifier = factory.IdentifierName(identifierName); 464var nullExpr = factory.NullLiteralExpression(); 465var condition = generatorInternal.SupportsPatterns(semanticModel.SyntaxTree.Options) 471public static SyntaxNode CreateThrowArgumentNullExceptionStatement(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\FormatterShared.cs (6)
26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30public SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 33public SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 36public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\AbstractIndentationService.cs (1)
14where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\IIndentationService.cs (1)
52var newRoot = document.Root.ReplaceToken(token, newToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AbstractAddImportsService.cs (65)
19where TCompilationUnitSyntax : SyntaxNode 20where TNamespaceDeclarationSyntax : SyntaxNode 21where TUsingOrAliasSyntax : SyntaxNode 22where TExternSyntax : SyntaxNode 25protected abstract SyntaxNode? GetAlias(TUsingOrAliasSyntax usingOrAlias); 26protected abstract ImmutableArray<SyntaxNode> GetGlobalImports(SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken); 27protected abstract SyntaxList<TUsingOrAliasSyntax> GetUsingsAndAliases(SyntaxNode node); 28protected abstract SyntaxList<TExternSyntax> GetExterns(SyntaxNode node); 43private bool HasAliases(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsAlias); 44private bool HasUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsSimpleUsing); 45private bool HasStaticUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsStaticUsing); 46private bool HasExterns(SyntaxNode node) => GetExterns(node).Any(); 47private bool HasAnyImports(SyntaxNode node) => GetUsingsAndAliases(node).Any() || GetExterns(node).Any(); 51SyntaxNode root, 52SyntaxNode? contextLocation, 53SyntaxNode import, 62private static ImmutableArray<SyntaxNode> GetAllContainers(SyntaxNode root, SyntaxNode? contextLocation) 66var applicableContainer = GetFirstApplicableContainer(contextLocation); 67return [.. applicableContainer.GetAncestorsOrThis<SyntaxNode>()]; 71SyntaxNode import, ImmutableArray<SyntaxNode> containers, ImmutableArray<SyntaxNode> globalImports) 73foreach (var node in containers) 86foreach (var node in globalImports) 97protected abstract bool IsEquivalentImport(SyntaxNode a, SyntaxNode b); 99public SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options) 103out var externContainer, out var usingContainer, out var staticUsingContainer, out var aliasContainer); 126public SyntaxNode AddImports( 128SyntaxNode root, 129SyntaxNode? contextLocation, 130IEnumerable<SyntaxNode> newImports, 147out var externContainer, out var usingContainer, out var aliasContainer, out var staticUsingContainer); 149var newRoot = Rewrite( 157protected abstract SyntaxNode Rewrite( 159SyntaxNode externContainer, SyntaxNode usingContainer, SyntaxNode staticUsingContainer, SyntaxNode aliasContainer, 160AddImportPlacementOptions options, SyntaxNode root, CancellationToken cancellationToken); 162private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, AddImportPlacementOptions options, out SyntaxNode externContainer, out SyntaxNode usingContainer, out SyntaxNode staticUsingContainer, out SyntaxNode aliasContainer) 164var applicableContainer = GetFirstApplicableContainer(contextLocation); 165var contextSpine = applicableContainer.GetAncestorsOrThis<SyntaxNode>().ToImmutableArray(); 170var fallbackNode = contextSpine.FirstOrDefault(HasAnyImports); 190private static SyntaxNode? GetFirstApplicableContainer(SyntaxNode contextNode) 194var node = usingDirective != null ? usingDirective.Parent! : contextNode; 196(SyntaxNode?)node.GetAncestorOrThis<TCompilationUnitSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AddImportHelpers.cs (2)
20where TRootSyntax : SyntaxNode 21where TImportDirectiveSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\IAddImportsService.cs (15)
23SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 24SyntaxNode import, SyntaxGenerator generator, CancellationToken cancellationToken); 30SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options); 32SyntaxNode AddImports( 33SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 34IEnumerable<SyntaxNode> newImports, SyntaxGenerator generator, AddImportPlacementOptions options, CancellationToken cancellationToken); 39public static SyntaxNode AddImport( 40this IAddImportsService service, SemanticModel semanticModel, SyntaxNode root, 41SyntaxNode contextLocation, SyntaxNode newImport, SyntaxGenerator generator, AddImportPlacementOptions options,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\IInitializeParameterService.cs (4)
19SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement); 25SyntaxNode functionDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (37)
40SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 48SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 56SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 64SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 73SyntaxNode location, 74SyntaxNode? containerOpt, 82var container = containerOpt ?? location.AncestorsAndSelf().FirstOrDefault( 96protected virtual IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 180public bool IsWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 183public bool IsOnlyWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 186public bool IsInOutContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 189public bool IsInRefContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 192public bool IsInInContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 195public bool CanReplaceWithRValue(SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken) 204public bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel) 210public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement) 213public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 216public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 219public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 222public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 228public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 231public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 234public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 237public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 240public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 243public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 246public bool IsInsideNameOfExpression(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 252public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol? expressionTypeOpt, CancellationToken cancellationToken) 255public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 258public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 264public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\ISemanticFactsService.cs (11)
27SemanticModel semanticModel, SyntaxNode location, 28SyntaxNode? container, string baseName, CancellationToken cancellationToken); 31SemanticModel semanticModel, SyntaxNode location, 32SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 34SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, string baseName, 38SemanticModel semanticModel, SyntaxNode location, 39SyntaxNode? container, string baseName, CancellationToken cancellationToken); 42SemanticModel semanticModel, SyntaxNode location, 43SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 47IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxFactsService\ISyntaxFactsService.cs (4)
18Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree syntaxTree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken); 26SyntaxNode root, TContextNode contextNode, 27out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.cs (2)
91SemanticModel semanticModel, SyntaxNode expression, 110SemanticModel semanticModel, SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (2)
27ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken); 31ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (20)
22where TMemberDeclarationSyntax : SyntaxNode 24where TAccessorDeclarationSyntax : SyntaxNode 32public abstract SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 34protected abstract SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode); 49public async Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken) 66var previousRoot = await previousSemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67var currentRoot = await currentBodyNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 68var previousBodyNode = GetPreviousBodyNode(previousRoot, currentRoot, currentBodyNode); 90protected SyntaxNode? GetPreviousBodyNode(SyntaxNode previousRoot, SyntaxNode currentRoot, SyntaxNode currentBodyNode) 98var previousContainer = GetPreviousBodyNode(previousRoot, currentRoot, currentContainer); 124var previousNode = previousRoot; 136var childAsNode = children[childIndex].AsNode(); 150private static void GetNodeChildIndexPathToRootReversed(SyntaxNode node, ArrayBuilder<int> path) 152var current = node; 153var parent = current.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseLanguageService.cs (3)
22SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 36Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseWorkspaceService.cs (2)
19/// Don't call this directly. use <see cref="DocumentExtensions.ReuseExistingSpeculativeModelAsync(Document, SyntaxNode, CancellationToken)"/> (or an overload). 21ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (30)
30where TCompilationUnitSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 33where TCrefSyntax : SyntaxNode 35protected static readonly Func<SyntaxNode, bool> s_containsAnnotations = n => n.ContainsAnnotations; 40protected abstract ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans); 41protected abstract SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode); 42protected abstract bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node); 43protected abstract void AddImportDeclarations(TCompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations); 48protected virtual SyntaxNode TransformReducedNode(SyntaxNode reducedNode, SyntaxNode originalNode) 51public abstract SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken); 52public abstract SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken); 115var reducedNodesMap = new ConcurrentDictionary<SyntaxNode, SyntaxNode>(); 152SyntaxNode root, 156ConcurrentDictionary<SyntaxNode, SyntaxNode> reducedNodesMap, 218var replacedParent = isNode 232var currentNode = currentNodeOrToken.AsNode()!; 237var newRoot = root.ReplaceNode(nodeOrToken.AsNode()!, currentNode.WithAdditionalAnnotations(marker)); 285using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var importDeclarations); 300var root = await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 302var unusedImports = new HashSet<SyntaxNode>(); 311var newRoot = gen.RemoveNodes(root, unusedImports); 320protected abstract void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\ISimplificationService.cs (4)
16SyntaxNode Expand( 17SyntaxNode node, 20Func<SyntaxNode, bool>? expandInsideNode, 27Func<SyntaxNode, bool>? expandInsideNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\SimplificationHelpers.cs (4)
17public static TNode CopyAnnotations<TNode>(SyntaxNode from, TNode to) where TNode : SyntaxNode 63public static ISymbol? GetOriginalSymbolInfo(SemanticModel semanticModel, SyntaxNode expression) 99public static bool IsNamespaceOrTypeOrThisParameter(SyntaxNode expression, SemanticModel semanticModel)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
18where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractSimplifier.cs (2)
12where TSyntax : SyntaxNode 13where TSimplifiedSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (2)
26SyntaxNode declarationSyntax, 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (4)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices) 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 49var root = SyntaxTree.WithChangedText(text).GetRoot(cancellationToken); 53public ParsedDocument WithChangedRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SemanticDocument.cs (3)
13internal sealed class SemanticDocument(Document document, SourceText text, SyntaxNode root, SemanticModel semanticModel) 21var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26public new async ValueTask<SemanticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SyntacticDocument.cs (4)
16public readonly SyntaxNode Root; 18protected SyntacticDocument(Document document, SourceText text, SyntaxNode root) 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 35public ValueTask<SyntacticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
ILLink.CodeFixProvider (21)
BaseAttributeCodeFixProvider.cs (8)
42SyntaxNode targetNode = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 43if (FindAttributableParent(targetNode, AttributableParentTargets) is not SyntaxNode attributableNode) 56SyntaxNode targetNode, 57SyntaxNode attributableNode, 74var attribute = generator.Attribute( 93private static CSharpSyntaxNode? FindAttributableParent(SyntaxNode node, AttributeableParentTargets targets) 95SyntaxNode? parentNode = node.Parent; 130protected abstract SyntaxNode[] GetAttributeArguments(
DynamicallyAccessedMembersCodeFixProvider.cs (4)
112if (targetRoot.FindNode(targetLocation.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode targetNode) 129SyntaxNode targetNode, 142SyntaxNode[] attributeArguments = [generator.AttributeArgument(generator.MemberAccessExpression(generator.DottedName("System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"), stringArguments))]; 143var attribute = generator.Attribute(
RequiresAssemblyFilesCodeFixProvider.cs (1)
35protected override SyntaxNode[] GetAttributeArguments(ISymbol? attributableSymbol, ISymbol targetSymbol, SyntaxGenerator syntaxGenerator, Diagnostic diagnostic) =>
RequiresDynamicCodeCodeFixProvider.cs (1)
32protected override SyntaxNode[] GetAttributeArguments(ISymbol? attributableSymbol, ISymbol targetSymbol, SyntaxGenerator syntaxGenerator, Diagnostic diagnostic) =>
RequiresHelpers.cs (2)
13internal static SyntaxNode[] GetAttributeArgumentsForRequires(ISymbol targetSymbol, SyntaxGenerator syntaxGenerator, bool hasPublicAccessibility) 17return Array.Empty<SyntaxNode>();
RequiresUnreferencedCodeCodeFixProvider.cs (1)
32protected override SyntaxNode[] GetAttributeArguments(ISymbol? attributableSymbol, ISymbol targetSymbol, SyntaxGenerator syntaxGenerator, Diagnostic diagnostic) =>
UnconditionalSuppressMessageCodeFixProvider.cs (4)
40protected override SyntaxNode[] GetAttributeArguments(ISymbol? attributableSymbol, ISymbol targetSymbol, SyntaxGenerator syntaxGenerator, Diagnostic diagnostic) 43var ruleCategory = syntaxGenerator.AttributeArgument( 50var ruleId = syntaxGenerator.AttributeArgument( 55var suppressionJustification = syntaxGenerator.AttributeArgument(Justification,
ILLink.RoslynAnalyzer (1)
IPropertySymbolExtensions.cs (1)
50var syntax = decl.GetSyntax();
Microsoft.Analyzers.Extra (26)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (14)
39internal Func<Document, CancellationToken, Task<SyntaxNode?>> GetSyntaxRootAsync = (d, t) => d.GetSyntaxRootAsync(t); 41internal Func<SemanticModel, SyntaxNode, CancellationToken, IOperation?> GetOperation = (sm, sn, t) => sm.GetOperation(sn, t); 73var root = await GetSyntaxRootAsync(invocationDoc, cancellationToken).ConfigureAwait(false); 324var root = await doc.GetSyntaxRootAsync().ConfigureAwait(false); 361private static List<SyntaxNode> MakeParameterList( 367var loggerType = gen.TypeExpression(t); 373var loggerParam = gen.ParameterDeclaration("logger", loggerType); 379var parameters = new List<SyntaxNode> 476var argList = new List<SyntaxNode>(); 479SyntaxNode loggerSyntaxNode = null!; 519var memberAccessExpression = gen.MemberAccessExpression(loggerSyntaxNode!, methodName); 520var call = gen.InvocationExpression(memberAccessExpression, argList).WithTriviaFrom(invocationExpression); 586var logMethod = gen.MethodDeclaration( 599var attr = gen.Attribute(LoggerMessageAttribute, attrArgs);
MakeExeTypesInternalFixer.cs (3)
28var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 29var node = root?.FindNode(context.Span); 37private static async Task<Document> MakeInternalAsync(Document document, SyntaxNode decl, CancellationToken cancellationToken)
Utilities\SyntaxNodeExtensions.cs (9)
14/// Class contains <see cref="SyntaxNode"/> extensions. 24public static SyntaxNode? GetFirstAncestorOfSyntaxKind(this SyntaxNode node, SyntaxKind kind) 26var n = node.Parent; 43this SyntaxNode? node, 102public static SyntaxNode? FindNodeInTreeUpToSpecifiedParentByMethodName( 103this SyntaxNode nodeToStart, 108var currentNode = nodeToStart; 111var foundNode = currentNode.DescendantNodesAndSelf()
Microsoft.Analyzers.Extra.Tests (2)
CallAnalysis\LegacyLoggingTests.cs (2)
822var targetRoot = await targetDoc.GetSyntaxRootAsync(CancellationToken.None); 849GetSyntaxRootAsync = (_, _) => Task.FromResult<SyntaxNode?>(null)
Microsoft.AspNetCore.Analyzers (1)
CompilationFeatureDetector.cs (1)
41var syntax = await syntaxReferences[j].GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
Microsoft.AspNetCore.App.Analyzers (76)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (2)
87var parent = token.GetRequiredParent(); 114private static bool IsInDirective(SyntaxNode? node)
Kestrel\ListenOnIPv6AnyAnalyzer.cs (1)
85var localVarSyntax = localVariableDeclaration.GetSyntax(context.CancellationToken);
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (10)
96var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 118var container = TryFindMinimalApiArgument(token.Parent) ?? TryFindMvcActionParameter(token.Parent); 148SyntaxNode methodNode; 321private static SyntaxNode? TryFindMvcActionParameter(SyntaxNode? node) 323var current = node; 337private static SyntaxNode? TryFindMinimalApiArgument(SyntaxNode? node) 339var current = node; 409private static ImmutableArray<string> GetExistingParameterNames(SyntaxNode node)
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (24)
76var container = token.TryFindContainer(); 99var statement = container.FirstAncestorOrSelf<SyntaxNode>(n => n is StatementSyntax); 102GetPartsOfAssignmentStatement(statement, out var left, out var right); 115var variableDeclarator = container.Parent.Parent; 127var property = container.Parent.GetRequiredParent(); 165for (var node = token.Parent; node != null; node = node.Parent) 221public static bool IsStatement([NotNullWhen(true)] SyntaxNode? node) 233public static bool IsEqualsValueOfPropertyDeclaration(SyntaxNode? node) 236private static SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node) 241SyntaxNode left, 250SyntaxNode statement, out SyntaxNode left, out SyntaxNode right) 257SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 259var expression = statement; 273SyntaxNode argument, 283SyntaxNode argument, 367private static ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 372private static IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, CancellationToken cancellationToken) 375private static IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, CancellationToken cancellationToken)
RouteEmbeddedLanguage\Infrastructure\RouteUsageDetector.cs (9)
36SyntaxNode? MethodSyntax, 76var container = token.TryFindContainer(); 112var attributeParent = FindAttributeParent(container); 191private static SyntaxNode? FindAttributeParent(SyntaxNode container) 193var argument = container.Parent; 232public static MapMethodParts? FindMapMethodParts(SemanticModel semanticModel, WellKnownTypes wellKnownTypes, SyntaxNode container, CancellationToken cancellationToken) 234var argument = container.Parent; 333private static IMethodSymbol? GetMethodInfo(SemanticModel semanticModel, SyntaxNode syntaxNode, CancellationToken cancellationToken)
RouteEmbeddedLanguage\Infrastructure\SyntaxNodeExtensions.cs (14)
20public static SyntaxNode GetRequiredParent(this SyntaxNode node) 23public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 25var parent = node.Parent; 37public static bool IsLiteralExpression([NotNullWhen(true)] this SyntaxNode? node) 40public static bool IsBinaryExpression([NotNullWhen(true)] this SyntaxNode? node) 44public static SyntaxNode? WalkUpParentheses(this SyntaxNode? node) 54public static bool IsAnyInitializerExpression([NotNullWhen(true)] this SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression) 69public static bool IsSimpleAssignmentStatement([NotNullWhen(true)] this SyntaxNode? statement) 77this SyntaxNode root, 113SyntaxNode root,
RouteEmbeddedLanguage\Infrastructure\SyntaxTokenExtensions.cs (4)
11public static SyntaxNode? TryFindContainer(this SyntaxToken token) 13var node = token.GetRequiredParent().WalkUpParentheses(); 16if (node.Parent.IsAnyInitializerExpression(out var instance)) 24public static SyntaxNode GetRequiredParent(this SyntaxToken token)
RouteEmbeddedLanguage\RoutePatternAnalyzer.cs (1)
33var root = syntaxTree.GetRoot(cancellationToken);
RouteEmbeddedLanguage\RoutePatternCompletionProvider.cs (1)
95var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);
RouteEmbeddedLanguage\RoutePatternHighlighter.cs (2)
89var syntaxNode = item.GetSyntax(cancellationToken); 105var methodSyntax = item.GetSyntax(cancellationToken);
RouteHandlers\AtMostOneFromBodyAttribute.cs (1)
52var syntax = symbol.DeclaringSyntaxReferences[0].GetSyntax(context.CancellationToken);
RouteHandlers\DisallowMvcBindArgumentsOnParameters.cs (1)
32var syntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(context.CancellationToken);
RouteHandlers\DisallowReturningActionResultFromMapMethods.cs (2)
21SyntaxNode nodeForError) 32SyntaxNode nodeForError)
RouteHandlers\RouteHandlerAnalyzer.cs (1)
127var syntaxNode = syntaxReference.GetSyntax(context.CancellationToken);
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
201SyntaxNode receiverSyntax,
WebApplicationBuilder\PublicPartialProgramClassAnalyzer.cs (2)
24var syntaxNode = context.Node; 34private static bool IsPublicPartialClassProgram(SyntaxNode syntaxNode)
Microsoft.AspNetCore.App.CodeFixes (43)
Authorization\AddAuthorizationBuilderFixer.cs (7)
29var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 55private static bool CanReplaceWithAddAuthorizationBuilder(Diagnostic diagnostic, SyntaxNode root, [NotNullWhen(true)] out InvocationExpressionSyntax? invocation) 59var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 64IEnumerable<SyntaxNode> nodes; 85foreach (var configureAction in nodes) 134private static Task<Document> ReplaceWithAddAuthorizationBuilder(Diagnostic diagnostic, SyntaxNode root, Document document, InvocationExpressionSyntax invocation) 136var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
Dependencies\AddPackageFixer.cs (2)
31var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 50var node = root.FindNode(location);
Dependencies\ExtensionMethodsCompletionProvider.cs (5)
34var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 60var nearestMemberAccessExpression = FindNearestMemberAccessExpression(token.Parent); 85private static SyntaxNode? FindNearestMemberAccessExpression(SyntaxNode? node) 87var current = node;
DetectMismatchedParameterOptionalityFixer.cs (2)
39var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var param = root.FindNode(diagnostic.Location.SourceSpan);
Http\HeaderDictionaryAddFixer.cs (9)
30var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 68private static Task<Document> ReplaceWithAppend(Diagnostic diagnostic, WellKnownTypes wellKnownTypes, SyntaxNode root, Document document, InvocationExpressionSyntax invocation) 70var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 78private static bool CanReplaceWithAppend(Diagnostic diagnostic, SyntaxNode root, [NotNullWhen(true)] out InvocationExpressionSyntax? invocation) 87var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 99private static Task<Document> ReplaceWithIndexer(Diagnostic diagnostic, SyntaxNode root, Document document, AssignmentExpressionSyntax assignment) 101var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 106private static bool CanReplaceWithIndexer(Diagnostic diagnostic, SyntaxNode root, [NotNullWhen(true)] out AssignmentExpressionSyntax? assignment) 115var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
Http\HeaderDictionaryIndexerFixer.cs (2)
44var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 51var param = root.FindNode(diagnostic.Location.SourceSpan);
Kestrel\ListenOnIPv6AnyFixer.cs (1)
34var root = await context.Document.GetSyntaxRootAsync(cancellationToken);
PublicPartialProgramClassFixer.cs (1)
32var root = await context.Document.GetSyntaxRootAsync(cancellationToken);
RouteParameterUnusedParameterFixer.cs (9)
31var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 58private static Task<Document> AddRouteParameterAsync(Diagnostic diagnostic, SyntaxNode root, RouteUsageCache routeUsageCache, Document document, CancellationToken cancellationToken) 60var param = root.FindNode(diagnostic.Location.SourceSpan); 74private static Document UpdateDocument(Diagnostic diagnostic, SyntaxNode root, Document document, SyntaxNode methodSyntax) 90var updatedMethod = methodSyntax switch 98var updatedSyntaxTree = root.ReplaceNode(methodSyntax, updatedMethod); 102private static SyntaxNode AddParameter(BaseMethodDeclarationSyntax syntax, ParameterSyntax parameterSyntax, int parameterIndex) 113private static SyntaxNode AddParameter(ParenthesizedLambdaExpressionSyntax syntax, ParameterSyntax parameterSyntax, int parameterIndex)
WebApplicationBuilderFixer.cs (5)
31var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 77private static Task<Document> FixWebApplicationBuilderAsync(Diagnostic diagnostic, SyntaxNode root, Document document, InvocationExpressionSyntax invocation) 79var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 84private static bool CanFixWebApplicationBuilder(Diagnostic diagnostic, IdentifierNameSyntax identifierMethod, SyntaxNode root, [NotNullWhen(true)] out InvocationExpressionSyntax? invocationName) 94var diagnosticTarget = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
Microsoft.AspNetCore.Components.Analyzers (20)
ComponentParametersShouldBePublicCodeFixProvider.cs (5)
33var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 52SyntaxNode root, 55var updatedDeclarationNode = HandlePropertyDeclaration(declarationNode); 56var newSyntaxRoot = root.ReplaceNode(declarationNode, updatedDeclarationNode); 60private static SyntaxNode HandlePropertyDeclaration(PropertyDeclarationSyntax node)
JSInteropCodeFixProvider.cs (3)
33var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 73private static async Task<Document> TryCatchWrapJSInteropCallAsync(Document document, SyntaxNode root, ExpressionStatementSyntax expressionStatement, CancellationToken cancellationToken) 128var newRoot = root.ReplaceNode(expressionStatement, tryStatement);
JSInvokableCodeFixProvider.cs (4)
52var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64var updatedDeclarationNode = HandleMethodDeclaration(declarationNode); 65var newSyntaxRoot = root.ReplaceNode(declarationNode, updatedDeclarationNode); 69private static SyntaxNode HandleMethodDeclaration(MethodDeclarationSyntax node)
StateHasChangedAnalyzer.cs (3)
109foreach (var node in body.DescendantNodes(static node => !IsNestedFunctionLike(node))) 229private static bool IsNestedFunctionLike(SyntaxNode node) 234private static bool TryGetSuspensionSpan(SyntaxNode node, out TextSpan span)
StateHasChangedCodeFixProvider.cs (4)
31var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 60private static Task<Document> RemoveStateHasChangedCallAsync(Document document, SyntaxNode root, InvocationExpressionSyntax invocation, CancellationToken cancellationToken) 64SyntaxNode nodeToRemove; 78var newRoot = root.RemoveNode(nodeToRemove, SyntaxRemoveOptions.KeepExteriorTrivia);
VirtualizeSpacerElementAnalyzer.cs (1)
350foreach (var syntax in invocation.Syntax.DescendantNodes())
Microsoft.AspNetCore.Components.SdkAnalyzers (5)
ComponentParametersShouldBePublicCodeFixProvider.cs (5)
33var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 52SyntaxNode root, 55var updatedDeclarationNode = HandlePropertyDeclaration(declarationNode); 56var newSyntaxRoot = root.ReplaceNode(declarationNode, updatedDeclarationNode); 60private static SyntaxNode HandlePropertyDeclaration(PropertyDeclarationSyntax node)
Microsoft.AspNetCore.Components.Testing.Generators (1)
StartupHookGenerator.cs (1)
37static bool IsConfigureServicesCandidate(SyntaxNode node, CancellationToken ct)
Microsoft.AspNetCore.Http.RequestDelegateGenerator (3)
RequestDelegateGenerator.Parser.cs (1)
15internal static bool IsEndpointInvocation(SyntaxNode node, CancellationToken cancellationToken)
StaticRouteHandlerModel\InvocationOperationExtensions.cs (2)
70public static bool TryGetMapMethodName(this SyntaxNode node, out string? methodName) 124var syn = syntaxReference.GetSyntax();
Microsoft.AspNetCore.Mvc.Analyzers (2)
AttributesShouldNotBeAppliedToPageModelAnalyzer.cs (1)
139var syntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken);
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
201SyntaxNode receiverSyntax,
Microsoft.AspNetCore.OpenApi.SourceGenerators (1)
XmlCommentGenerator.Parser.cs (1)
139internal static bool FilterInvocations(SyntaxNode node, CancellationToken _)
Microsoft.AspNetCore.SignalR.Client.SourceGenerator (4)
HubClientProxyGenerator.Parser.cs (2)
18internal static bool IsSyntaxTargetForAttribute(SyntaxNode node) => node is AttributeSyntax 137internal static bool IsSyntaxTargetForGeneration(SyntaxNode node) => node is MemberAccessExpressionSyntax
HubServerProxyGenerator.Parser.cs (2)
18internal static bool IsSyntaxTargetForAttribute(SyntaxNode node) => node is AttributeSyntax 127internal static bool IsSyntaxTargetForGeneration(SyntaxNode node) => node is MemberAccessExpressionSyntax
Microsoft.Build.TaskAuthoring.Analyzer (38)
MultiThreadableTaskCodeFixProvider.cs (8)
37var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 55var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 68private static void RegisterFilePathFix(CodeFixContext context, SemanticModel semanticModel, SyntaxNode node, Diagnostic diagnostic) 110private static ArgumentSyntax? FindPathArgument(SemanticModel semanticModel, SyntaxNode call, ArgumentListSyntax argumentList) 165private static bool CanReferenceTaskEnvironment(SemanticModel semanticModel, SyntaxNode node) 199private static bool IsThisUnavailable(ISymbol? enclosingSymbol, SyntaxNode node) 220for (SyntaxNode? current = node; current is not null; current = current.Parent) 258private static void RegisterTaskEnvironmentFix(CodeFixContext context, SemanticModel semanticModel, SyntaxNode node, Diagnostic diagnostic)
PreferTypedParameterAnalyzer.cs (6)
922var syntax = local.DeclaringSyntaxReferences[0].GetSyntax(); 998var syntax = local.DeclaringSyntaxReferences[0].GetSyntax(); 1111var syntax = syntaxRef.GetSyntax(); 1127var current = syntax; 1204var syntax = local.DeclaringSyntaxReferences[0].GetSyntax(); 1245var methodSyntax = method.DeclaringSyntaxReferences[0].GetSyntax();
PreferTypedParameterCodeFixProvider.cs (20)
55var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 87var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 154private static PropertyFixPlan? TryBuildPlan(SemanticModel semanticModel, SyntaxNode root, Diagnostic diagnostic, CancellationToken cancellationToken) 162var conversionNode = root.FindNode(diagnostic.Location.SourceSpan); 222var siteEdits = new List<(SyntaxNode, SyntaxNode)>(); 266SyntaxNode root, 363private static MethodDeclarationSyntax? FindEditableExecuteMethod(INamedTypeSymbol taskType, SyntaxNode root, CancellationToken cancellationToken) 502List<(SyntaxNode, SyntaxNode)> siteEdits, 577List<(SyntaxNode, SyntaxNode)> siteEdits, 752List<(SyntaxNode, SyntaxNode)> siteEdits, 823List<(SyntaxNode, SyntaxNode)> siteEdits, 1021List<(SyntaxNode, SyntaxNode)> siteEdits, 1053public List<(SyntaxNode OldNode, SyntaxNode NewNode)> SiteEdits { get; }
RequiredTaskPropertyInitializationSuppressor.cs (3)
93SyntaxNode root = location.SourceTree.GetRoot(context.CancellationToken); 94SyntaxNode node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true); 96for (SyntaxNode? current = node; current is not null; current = current.Parent)
SharedAnalyzerHelpers.cs (1)
430var syntax = local.DeclaringSyntaxReferences[0].GetSyntax();
Microsoft.CodeAnalysis (1018)
Binding\BindingDiagnosticBag.cs (3)
208internal bool Add(SyntaxNode node, CompoundUseSiteInfo<TAssemblySymbol> useSiteInfo) 211internal bool AddDiagnostics(SyntaxNode node, CompoundUseSiteInfo<TAssemblySymbol> useSiteInfo) 273internal bool Add(UseSiteInfo<TAssemblySymbol> useSiteInfo, SyntaxNode node)
CodeGen\ILBuilderEmit.cs (11)
41internal void EmitToken(Cci.IReference value, SyntaxNode? syntaxNode, Cci.MetadataWriter.RawTokenEncoding encoding = 0) 51internal void EmitToken(Cci.ISignature value, SyntaxNode? syntaxNode) 75internal void EmitArrayBlockInitializer(ImmutableArray<byte> data, SyntaxNode syntaxNode) 223SyntaxNode syntax, 261SyntaxNode syntax) 360internal void EmitArrayCreation(Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode) 374internal void EmitArrayElementLoad(Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode) 388internal void EmitArrayElementAddress(Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode) 402internal void EmitArrayElementStore(Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode) 566internal void EmitConstantValue(ConstantValue value, SyntaxNode? syntaxNode) 737internal void EmitStringConstant(string? value, SyntaxNode? syntax)
CodeGen\PrivateImplementationDetails.cs (1)
323SyntaxNode? syntaxNode,
CodeGen\SwitchIntegralJumpTableEmitter.cs (2)
25private readonly SyntaxNode _syntax; 56SyntaxNode syntax,
CodeGen\SwitchStringJumpTableEmitter.cs (2)
25private readonly SyntaxNode _syntax; 73SyntaxNode syntax,
CodeGen\VariableSlotAllocator.cs (4)
35SyntaxNode currentDeclarator, 85public abstract bool TryGetPreviousClosure(SyntaxNode closureSyntax, DebugId? parentClosureId, ImmutableArray<string> structCaptures, out DebugId closureId, out RuntimeRudeEdit? runtimeRudeEdit); 99public abstract bool TryGetPreviousLambda(SyntaxNode lambdaOrLambdaBodySyntax, bool isLambdaBody, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, out DebugId lambdaId, out RuntimeRudeEdit? runtimeRudeEdit); 116public abstract bool TryGetPreviousStateMachineState(SyntaxNode syntax, AwaitDebugId awaitId, out StateMachineState state);
Compilation\Compilation.cs (2)
3743internal abstract int CompareSourceLocations(SyntaxNode loc1, SyntaxNode loc2);
Compilation\ControlFlowAnalysis.cs (4)
11/// information is returned from a call to <see cref="SemanticModel.AnalyzeControlFlow(SyntaxNode)" />. 19public abstract ImmutableArray<SyntaxNode> EntryPoints { get; } 25public abstract ImmutableArray<SyntaxNode> ExitPoints { get; } 38public abstract ImmutableArray<SyntaxNode> ReturnStatements { get; }
Compilation\DataFlowAnalysis.cs (2)
12/// <see cref="SemanticModel.AnalyzeDataFlow(SyntaxNode, SyntaxNode)" />, or one of its language-specific overloads,
Compilation\Extensions.cs (14)
19public static SymbolInfo GetSymbolInfo(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 43public static SymbolInfo GetSpeculativeSymbolInfo(this SemanticModel semanticModel, int position, SyntaxNode expression, SpeculativeBindingOption bindingOption) 55public static TypeInfo GetTypeInfo(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 68public static IAliasSymbol? GetAliasInfo(this SemanticModel semanticModel, SyntaxNode nameSyntax, CancellationToken cancellationToken = default(CancellationToken)) 90public static IAliasSymbol? GetSpeculativeAliasInfo(this SemanticModel semanticModel, int position, SyntaxNode nameSyntax, SpeculativeBindingOption bindingOption) 114public static TypeInfo GetSpeculativeTypeInfo(this SemanticModel semanticModel, int position, SyntaxNode expression, SpeculativeBindingOption bindingOption) 129public static ISymbol? GetDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 140public static ImmutableArray<ISymbol> GetMemberGroup(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 148public static ControlFlowAnalysis AnalyzeControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 156public static ControlFlowAnalysis AnalyzeControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 164public static DataFlowAnalysis AnalyzeDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 173public static DataFlowAnalysis AnalyzeDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression)
Compilation\SemanticModel.cs (48)
76public IOperation? GetOperation(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 81protected abstract IOperation? GetOperationCore(SyntaxNode node, CancellationToken cancellationToken); 100internal SymbolInfo GetSymbolInfo(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 111protected abstract SymbolInfo GetSymbolInfoCore(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)); 131internal SymbolInfo GetSpeculativeSymbolInfo(int position, SyntaxNode expression, SpeculativeBindingOption bindingOption) 154protected abstract SymbolInfo GetSpeculativeSymbolInfoCore(int position, SyntaxNode expression, SpeculativeBindingOption bindingOption); 174internal TypeInfo GetSpeculativeTypeInfo(int position, SyntaxNode expression, SpeculativeBindingOption bindingOption) 197protected abstract TypeInfo GetSpeculativeTypeInfoCore(int position, SyntaxNode expression, SpeculativeBindingOption bindingOption); 205internal TypeInfo GetTypeInfo(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 216protected abstract TypeInfo GetTypeInfoCore(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)); 225internal IAliasSymbol? GetAliasInfo(SyntaxNode nameSyntax, CancellationToken cancellationToken = default(CancellationToken)) 237protected abstract IAliasSymbol? GetAliasInfoCore(SyntaxNode nameSyntax, CancellationToken cancellationToken = default(CancellationToken)); 300internal IAliasSymbol? GetSpeculativeAliasInfo(int position, SyntaxNode nameSyntax, SpeculativeBindingOption bindingOption) 321protected abstract IAliasSymbol? GetSpeculativeAliasInfoCore(int position, SyntaxNode nameSyntax, SpeculativeBindingOption bindingOption); 387internal ISymbol? GetDeclaredSymbolForNode(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 401protected abstract ISymbol? GetDeclaredSymbolCore(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)); 404/// Gets the symbols associated with a declaration syntax node. Unlike <see cref="GetDeclaredSymbolForNode(SyntaxNode, CancellationToken)"/>, 419internal ImmutableArray<ISymbol> GetDeclaredSymbolsForNode(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 425/// Gets the symbols associated with a declaration syntax node. Unlike <see cref="GetDeclaredSymbolForNode(SyntaxNode, CancellationToken)"/>, 440protected abstract ImmutableArray<ISymbol> GetDeclaredSymbolsCore(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)); 639internal ControlFlowAnalysis AnalyzeControlFlow(SyntaxNode firstStatement, SyntaxNode lastStatement) 655protected abstract ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement); 667internal ControlFlowAnalysis AnalyzeControlFlow(SyntaxNode statement) 682protected abstract ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode statement); 695internal DataFlowAnalysis AnalyzeDataFlow(SyntaxNode firstStatement, SyntaxNode lastStatement) 711protected abstract DataFlowAnalysis AnalyzeDataFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement); 723internal DataFlowAnalysis AnalyzeDataFlow(SyntaxNode statementOrExpression) 738protected abstract DataFlowAnalysis AnalyzeDataFlowCore(SyntaxNode statementOrExpression); 745public Optional<object?> GetConstantValue(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 755protected abstract Optional<object?> GetConstantValueCore(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)); 762internal ImmutableArray<ISymbol> GetMemberGroup(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)) 772protected abstract ImmutableArray<ISymbol> GetMemberGroupCore(SyntaxNode node, CancellationToken cancellationToken = default(CancellationToken)); 862public PreprocessingSymbolInfo GetPreprocessingSymbolInfo(SyntaxNode nameSyntax) 872protected abstract PreprocessingSymbolInfo GetPreprocessingSymbolInfoCore(SyntaxNode nameSyntax); 887internal abstract void ComputeDeclarationsInNode(SyntaxNode node, ISymbol associatedSymbol, bool getSymbol, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken, int? levelsToCompute = null); 895/// <see cref="ShouldSkipSyntaxNodeAnalysis(SyntaxNode, ISymbol)"/>. 897internal virtual Func<SyntaxNode, bool>? GetSyntaxNodesToAnalyzeFilter(SyntaxNode declaredNode, ISymbol declaredSymbol) => null; 903/// logic to <see cref="GetSyntaxNodesToAnalyzeFilter(SyntaxNode, ISymbol)"/>. 905internal virtual bool ShouldSkipSyntaxNodeAnalysis(SyntaxNode node, ISymbol containingSymbol) => false; 910protected internal virtual SyntaxNode GetTopmostNodeForDiagnosticAnalysis(ISymbol symbol, SyntaxNode declaringSyntax) 918internal SyntaxNode Root => RootCore; 923protected abstract SyntaxNode RootCore { get; }
Diagnostic\CommonMessageProvider.cs (14)
264protected abstract void ReportInvalidAttributeArgument(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, AttributeData attribute); 266public void ReportInvalidAttributeArgument(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, AttributeData attribute) 274protected abstract void ReportInvalidNamedArgument(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex, ITypeSymbol attributeClass, string parameterName); 276public void ReportInvalidNamedArgument(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex, ITypeSymbol attributeClass, string parameterName) 284protected abstract void ReportParameterNotValidForType(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex); 286public void ReportParameterNotValidForType(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex) 294protected abstract void ReportMarshalUnmanagedTypeNotValidForFields(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute); 296public void ReportMarshalUnmanagedTypeNotValidForFields(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute) 304protected abstract void ReportMarshalUnmanagedTypeOnlyValidForFields(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute); 306public void ReportMarshalUnmanagedTypeOnlyValidForFields(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute) 314protected abstract void ReportAttributeParameterRequired(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName); 316public void ReportAttributeParameterRequired(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName) 324protected abstract void ReportAttributeParameterRequired(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName1, string parameterName2); 326public void ReportAttributeParameterRequired(BindingDiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName1, string parameterName2)
Diagnostic\SourceLocation.cs (1)
26public SourceLocation(SyntaxNode node)
DiagnosticAnalyzer\AnalysisContextInfo.cs (6)
20private readonly SyntaxNode? _node; 42public AnalysisContextInfo(Compilation compilation, SyntaxNode node) : 52public AnalysisContextInfo(Compilation compilation, ISymbol symbol, SyntaxNode node) : 62SyntaxNode? node) 115sb.AppendLine($"{nameof(SyntaxNode)}: {GetFlattenedNodeText(_node)} [{_node.GetType().Name}]@{_node.Span} {(lineSpan.HasValue ? lineSpan.Value.ToString() : string.Empty)}"); 121private string GetFlattenedNodeText(SyntaxNode node)
DiagnosticAnalyzer\AnalysisScope.cs (3)
237Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopmostNodeForAnalysis, 255var node = getTopmostNodeForAnalysis(symbolEvent.Symbol, syntaxRef, symbolEvent.Compilation, cancellationToken); 266public bool ShouldAnalyze(SyntaxNode node)
DiagnosticAnalyzer\AnalyzerDriver.cs (28)
36private static readonly Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> s_getTopmostNodeForAnalysis = GetTopmostNodeForAnalysis; 1277for (var node = location.SourceTree.GetRoot(cancellationToken).FindNode(location.SourceSpan, getInnermostNodeForTie: true); 1330var root = tree.GetRoot(cancellationToken); 1357static bool containsGeneratedCodeToken(SyntaxNode root) 1905private static SyntaxNode GetTopmostNodeForAnalysis(ISymbol symbol, SyntaxReference syntaxReference, Compilation compilation, CancellationToken cancellationToken) 2432private readonly Func<SyntaxNode, TLanguageKindEnum> _getKind; 2443internal AnalyzerDriver(ImmutableArray<DiagnosticAnalyzer> analyzers, Func<SyntaxNode, TLanguageKindEnum> getKind, AnalyzerManager analyzerManager, SeverityFilter severityFilter, Func<SyntaxTrivia, bool> isComment) 2571SyntaxNode declaringReferenceSyntax; 2572SyntaxNode topmostNodeForAnalysis; 2597private static void ComputeDeclarationsInNode(SemanticModel semanticModel, ISymbol declaredSymbol, SyntaxNode declaringReferenceSyntax, SyntaxNode topmostNodeForAnalysis, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken) 2658void executeNodeActionsByKind(ArrayBuilder<SyntaxNode> nodesToAnalyze, GroupedAnalyzerActions groupedActions, bool arePerSymbolActions) 2668foreach (var node in nodesToAnalyze) 2693var filteredNodesToAnalyze = ArrayBuilder<SyntaxNode>.GetInstance(nodesToAnalyze.Count); 2696foreach (var node in nodesToAnalyze) 2723ArrayBuilder<SyntaxNode> filteredNodesToAnalyze) 2741var executableCodeBlocks = ImmutableArray<SyntaxNode>.Empty; 2870void executeCodeBlockActions(ImmutableArray<SyntaxNode> executableCodeBlocks, ArrayBuilder<ExecutableCodeBlockAnalyzerActions> codeBlockActions) 2915SyntaxNode declaredNode, 2919ArrayBuilder<SyntaxNode> nodesToAnalyze, 2924HashSet<SyntaxNode>? descendantDeclsToSkip = null; 2948var declarationNodeToSkip = declInNode.DeclaredNode; 2955descendantDeclsToSkip ??= new HashSet<SyntaxNode>(); 2962Func<SyntaxNode, bool>? additionalFilter = semanticModel.GetSyntaxNodesToAnalyzeFilter(declaredNode, declaredSymbol); 2963bool shouldAddNode(SyntaxNode node) => (descendantDeclsToSkip == null || !descendantDeclsToSkip.Contains(node)) && (additionalFilter is null || additionalFilter(node)); 2964foreach (var node in declaredNode.DescendantNodesAndSelf(descendIntoChildren: shouldAddNode, descendIntoTrivia: true)) 2991ImmutableArray<SyntaxNode> executableBlocks, 2997foreach (SyntaxNode executableBlock in executableBlocks)
DiagnosticAnalyzer\AnalyzerDriver.DeclarationAnalysisData.cs (6)
17public readonly SyntaxNode DeclaringReferenceSyntax; 22public readonly SyntaxNode TopmostNodeForAnalysis; 32public readonly ArrayBuilder<SyntaxNode> DescendantNodesToAnalyze = ArrayBuilder<SyntaxNode>.GetInstance(); 40SyntaxNode declaringReferenceSyntax, 41SyntaxNode topmostNodeForAnalysis,
DiagnosticAnalyzer\AnalyzerExecutor.cs (21)
444Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopMostNodeForAnalysis, 513Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopMostNodeForAnalysis, 550Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopMostNodeForAnalysis, 567Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopMostNodeForAnalysis, 780SyntaxNode node, 851SyntaxNode declaredNode, 853ImmutableArray<SyntaxNode> executableCodeBlocks, 855Func<SyntaxNode, TLanguageKindEnum> getKind, 900var syntaxNodesToAnalyze = ArrayBuilder<SyntaxNode>.GetInstance(); 903foreach (var block in executableCodeBlocks) 908foreach (var descendantNode in block.DescendantNodesAndSelf(descendIntoChildren: filter)) 966SyntaxNode declaredNode, 1045SyntaxNode declaredNode, 1130ArrayBuilder<SyntaxNode> nodesToAnalyze, 1134Func<SyntaxNode, TLanguageKindEnum> getKind, 1171ArrayBuilder<SyntaxNode> nodesToAnalyze, 1174Func<SyntaxNode, TLanguageKindEnum> getKind, 1185foreach (var node in nodesToAnalyze) 1566Func<ISymbol, SyntaxReference, Compilation, CancellationToken, SyntaxNode> getTopMostNodeForAnalysis, 1591var syntax = getTopMostNodeForAnalysis(symbol, syntaxRef, this.Compilation, cancellationToken); 1664private bool ShouldExecuteNode(SyntaxNode node, DiagnosticAnalyzer analyzer, CancellationToken cancellationToken)
DiagnosticAnalyzer\DiagnosticAnalysisContext.cs (53)
135/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 136/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 140/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 141/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 149/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 150/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 154/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 155/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 454/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 455/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 459/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 460/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 468/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 469/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 473/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 474/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 953/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 954/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 958/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 959/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 967/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 968/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 972/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 973/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 1029private readonly SyntaxNode _codeBlock; 1038public SyntaxNode CodeBlock { get { return _codeBlock; } } 1046/// <see cref="CodeAnalysis.SemanticModel"/> that can provide semantic information about the <see cref="SyntaxNode"/>s in the code block. 1078protected CodeBlockStartAnalysisContext(SyntaxNode codeBlock, ISymbol owningSymbol, SemanticModel semanticModel, AnalyzerOptions options, CancellationToken cancellationToken) 1084SyntaxNode codeBlock, 1110/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 1111/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 1114/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 1115/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 1123/// Register an action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/> with an appropriate Kind. 1124/// A syntax node action can report <see cref="Diagnostic"/>s about <see cref="SyntaxNode"/>s, and can also collect 1127/// <param name="action">Action to be executed at completion of semantic analysis of a <see cref="SyntaxNode"/>.</param> 1128/// <param name="syntaxKinds">Action will be executed only if a <see cref="SyntaxNode"/>'s Kind matches one of the syntax kind values.</param> 1138private readonly SyntaxNode _codeBlock; 1149public SyntaxNode CodeBlock { get { return _codeBlock; } } 1157/// <see cref="CodeAnalysis.SemanticModel"/> that can provide semantic information about the <see cref="SyntaxNode"/>s in the code block. 1189public CodeBlockAnalysisContext(SyntaxNode codeBlock, ISymbol owningSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> isSupportedDiagnostic, CancellationToken cancellationToken) 1195SyntaxNode codeBlock, 1667/// A syntax node action can use a <see cref="SyntaxNodeAnalysisContext"/> to report <see cref="Diagnostic"/>s for a <see cref="SyntaxNode"/>. 1671private readonly SyntaxNode _node; 1680/// <see cref="SyntaxNode"/> that is the subject of the analysis. 1682public SyntaxNode Node => _node; 1690/// <see cref="CodeAnalysis.SemanticModel"/> that can provide semantic information about the <see cref="SyntaxNode"/>. 1695/// <see cref="CodeAnalysis.Compilation"/> containing the <see cref="SyntaxNode"/>. 1727public SyntaxNodeAnalysisContext(SyntaxNode node, ISymbol? containingSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> isSupportedDiagnostic, CancellationToken cancellationToken) 1733public SyntaxNodeAnalysisContext(SyntaxNode node, SemanticModel semanticModel, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> isSupportedDiagnostic, CancellationToken cancellationToken) 1739SyntaxNode node, 1762/// Report a <see cref="Diagnostic"/> about a <see cref="SyntaxNode"/>. 1871/// Report a <see cref="Diagnostic"/> about a <see cref="SyntaxNode"/>.
DiagnosticAnalyzer\DiagnosticStartAnalysisScope.cs (1)
303SyntaxNode codeBlock,
DiagnosticAnalyzer\SuppressMessageAttributeState.cs (1)
189for (var node = location.SourceTree.GetRoot().FindNode(location.SourceSpan, getInnermostNodeForTie: true);
Emit\CommonPEModuleBuilder.cs (14)
165internal abstract Cci.ITypeReference Translate(ITypeSymbolInternal symbol, SyntaxNode syntaxOpt, DiagnosticBag diagnostics); 193public abstract Cci.IFieldReference GetFieldForData(ImmutableArray<byte> data, ushort alignment, SyntaxNode syntaxNode, DiagnosticBag diagnostics); 194public abstract Cci.IFieldReference GetArrayCachingFieldForData(ImmutableArray<byte> data, Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode, DiagnosticBag diagnostics); 195public abstract Cci.IFieldReference GetArrayCachingFieldForConstants(ImmutableArray<ConstantValue> constants, Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode, DiagnosticBag diagnostics); 262public Cci.IFieldReference? TryGetOrCreateFieldForStringValue(string text, SyntaxNode? syntaxNode, DiagnosticBag diagnostics) 301internal abstract PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNode, DiagnosticBag diagnostics); 481public uint GetFakeSymbolTokenForIL(Cci.IReference symbol, SyntaxNode syntaxNode, DiagnosticBag diagnostics) 491public uint GetFakeSymbolTokenForIL(Cci.ISignature symbol, SyntaxNode syntaxNode, DiagnosticBag diagnostics) 668where TSyntaxNode : SyntaxNode 811internal sealed override Cci.ITypeReference Translate(ITypeSymbolInternal symbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 1104public sealed override Cci.IFieldReference GetFieldForData(ImmutableArray<byte> data, ushort alignment, SyntaxNode syntaxNode, DiagnosticBag diagnostics) 1114public sealed override Cci.IFieldReference GetArrayCachingFieldForData(ImmutableArray<byte> data, Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode, DiagnosticBag diagnostics) 1124public sealed override Cci.IFieldReference GetArrayCachingFieldForConstants(ImmutableArray<ConstantValue> constants, Cci.IArrayTypeReference arrayType, SyntaxNode syntaxNode, DiagnosticBag diagnostics) 1164internal override PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics)
Emit\Context.cs (4)
13private readonly SyntaxNode? _syntaxNode; 22public SyntaxNode? SyntaxNode => _syntaxNode ?? SyntaxReference?.GetSyntax(); 25public EmitContext(CommonPEModuleBuilder module, SyntaxNode? syntaxNode, DiagnosticBag diagnostics, bool metadataOnly, bool includePrivateMembers) 35SyntaxNode? syntaxNode = null,
Emit\EditAndContinue\DefinitionMap.cs (3)
246protected static IReadOnlyDictionary<SyntaxNode, int> CreateDeclaratorToSyntaxOrdinalMap(ImmutableArray<SyntaxNode> declarators) 248var declaratorToIndex = new Dictionary<SyntaxNode, int>();
Emit\EditAndContinue\DeletedMethodBody.cs (1)
87var syntaxNode = context.SyntaxNode;
Emit\EditAndContinue\EncMappedMethod.cs (6)
10internal readonly struct EncMappedMethod(IMethodSymbolInternal previousMethod, Func<SyntaxNode, SyntaxNode?>? syntaxMap, Func<SyntaxNode, RuntimeRudeEdit?>? runtimeRudeEdit) 13public readonly Func<SyntaxNode, SyntaxNode?>? SyntaxMap = syntaxMap; 14public readonly Func<SyntaxNode, RuntimeRudeEdit?>? RuntimeRudeEdit = runtimeRudeEdit;
Emit\EditAndContinue\EncVariableSlotAllocator.cs (13)
102private int CalculateSyntaxOffsetInPreviousMethod(SyntaxNode node) 119private bool TryGetPreviousLocalId(SyntaxNode currentDeclarator, LocalDebugId currentId, out LocalDebugId previousId) 131SyntaxNode? previousDeclarator = _mappedMethod.SyntaxMap(currentDeclarator); 195SyntaxNode currentDeclarator, 247private bool TryGetPreviousSyntaxOffset(SyntaxNode currentSyntax, out int previousSyntaxOffset) 253SyntaxNode? previousSyntax = _mappedMethod.SyntaxMap?.Invoke(currentSyntax); 264private bool TryGetPreviousLambdaSyntaxOffset(SyntaxNode lambdaOrLambdaBodySyntax, bool isLambdaBody, out int previousSyntaxOffset) 268var currentLambdaSyntax = isLambdaBody 276SyntaxNode? previousLambdaSyntax = _mappedMethod.SyntaxMap?.Invoke(currentLambdaSyntax); 283SyntaxNode? previousSyntax; 303SyntaxNode scopeSyntax, 331public override bool TryGetPreviousLambda(SyntaxNode lambdaOrLambdaBodySyntax, bool isLambdaBody, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, out DebugId lambdaId, out RuntimeRudeEdit? runtimeRudeEdit) 361public override bool TryGetPreviousStateMachineState(SyntaxNode syntax, AwaitDebugId awaitId, out StateMachineState state)
Emit\EditAndContinue\LambdaSyntaxFacts.cs (6)
9public abstract SyntaxNode GetLambda(SyntaxNode lambdaOrLambdaBodySyntax); 19public abstract SyntaxNode? TryGetCorrespondingLambdaBody(SyntaxNode previousLambdaSyntax, SyntaxNode lambdaOrLambdaBodySyntax); 25public abstract int GetDeclaratorPosition(SyntaxNode node);
Emit\NoPia\EmbeddedTypesManager.cs (1)
49where TSyntaxNode : SyntaxNode
Emit\SemanticEdit.cs (12)
47public Func<SyntaxNode, SyntaxNode?>? SyntaxMap { get; } 53public Func<SyntaxNode, RuntimeRudeEdit?>? RuntimeRudeEdit { get; } 65public SemanticEdit(SemanticEditKind kind, ISymbol? oldSymbol, ISymbol? newSymbol, Func<SyntaxNode, SyntaxNode?>? syntaxMap, bool preserveLocalVariables) 74public SemanticEdit(SemanticEditKind kind, ISymbol? oldSymbol, ISymbol? newSymbol, Func<SyntaxNode, SyntaxNode?>? syntaxMap, bool preserveLocalVariables, MethodInstrumentation instrumentation) 104public SemanticEdit(SemanticEditKind kind, ISymbol? oldSymbol, ISymbol? newSymbol, Func<SyntaxNode, SyntaxNode?>? syntaxMap = null, Func<SyntaxNode, RuntimeRudeEdit?>? runtimeRudeEdit = null, MethodInstrumentation instrumentation = default) 215internal static SemanticEdit Create(SemanticEditKind kind, ISymbolInternal oldSymbol, ISymbolInternal newSymbol, Func<SyntaxNode, SyntaxNode>? syntaxMap = null)
Generated\Operations.Generated.cs (135)
4039internal BlockOperation(ImmutableArray<IOperation> operations, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4096internal VariableDeclarationGroupOperation(ImmutableArray<IVariableDeclarationOperation> declarations, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4151internal SwitchOperation(ImmutableArray<ILocalSymbol> locals, IOperation value, ImmutableArray<ISwitchCaseOperation> cases, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4221protected BaseLoopOperation(IOperation body, ImmutableArray<ILocalSymbol> locals, ILabelSymbol continueLabel, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4237internal ForEachLoopOperation(IOperation loopControlVariable, IOperation collection, ImmutableArray<IOperation> nextVariables, ForEachLoopOperationInfo? info, bool isAsynchronous, IOperation body, ImmutableArray<ILocalSymbol> locals, ILabelSymbol continueLabel, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4327internal ForLoopOperation(ImmutableArray<IOperation> before, ImmutableArray<ILocalSymbol> conditionLocals, IOperation? condition, ImmutableArray<IOperation> atLoopBottom, IOperation body, ImmutableArray<ILocalSymbol> locals, ILabelSymbol continueLabel, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4419internal ForToLoopOperation(IOperation loopControlVariable, IOperation initialValue, IOperation limitValue, IOperation stepValue, bool isChecked, ImmutableArray<IOperation> nextVariables, (ILocalSymbol LoopObject, ForToLoopOperationUserDefinedInfo UserDefinedInfo) info, IOperation body, ImmutableArray<ILocalSymbol> locals, ILabelSymbol continueLabel, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4531internal WhileLoopOperation(IOperation? condition, bool conditionIsTop, bool conditionIsUntil, IOperation? ignoredCondition, IOperation body, ImmutableArray<ILocalSymbol> locals, ILabelSymbol continueLabel, ILabelSymbol exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4555internal LabeledOperation(ILabelSymbol label, IOperation? operation, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4608internal BranchOperation(ILabelSymbol target, BranchKind branchKind, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4628internal EmptyOperation(SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4642internal ReturnOperation(IOperation? returnedValue, OperationKind kind, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4694internal LockOperation(IOperation lockedValue, IOperation body, ILocalSymbol? lockTakenSymbol, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4758internal TryOperation(IBlockOperation body, ImmutableArray<ICatchClauseOperation> catches, IBlockOperation? @finally, ILabelSymbol? exitLabel, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4837internal UsingOperation(IOperation resources, IOperation body, ImmutableArray<ILocalSymbol> locals, bool isAsynchronous, DisposeOperationInfo disposeInfo, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4905internal ExpressionStatementOperation(IOperation operation, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 4956internal LocalFunctionOperation(IMethodSymbol symbol, IBlockOperation? body, IBlockOperation? ignoredBody, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5020internal StopOperation(SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5034internal EndOperation(SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5048internal RaiseEventOperation(IEventReferenceOperation eventReference, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5114internal LiteralOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5132internal ConversionOperation(IOperation operand, IConvertibleConversion conversion, bool isTryCast, bool isChecked, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5192internal InvocationOperation(IMethodSymbol targetMethod, ITypeSymbol? constrainedToType, IOperation? instance, bool isVirtual, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5265internal ArrayElementReferenceOperation(IOperation arrayReference, ImmutableArray<IOperation> indices, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5332internal LocalReferenceOperation(ILocalSymbol local, bool isDeclaration, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5354internal ParameterReferenceOperation(IParameterSymbol parameter, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5373protected BaseMemberReferenceOperation(IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5383internal FieldReferenceOperation(IFieldSymbol field, bool isDeclaration, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5438internal MethodReferenceOperation(IMethodSymbol method, ITypeSymbol? constrainedToType, bool isVirtual, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5494internal PropertyReferenceOperation(IPropertySymbol property, ITypeSymbol? constrainedToType, ImmutableArray<IArgumentOperation> arguments, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5563internal EventReferenceOperation(IEventSymbol @event, ITypeSymbol? constrainedToType, IOperation? instance, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 5617internal UnaryOperation(UnaryOperatorKind operatorKind, IOperation operand, bool isLifted, bool isChecked, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5680internal BinaryOperation(BinaryOperatorKind operatorKind, IOperation leftOperand, IOperation rightOperand, bool isLifted, bool isChecked, bool isCompareText, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, IMethodSymbol? unaryOperatorMethod, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5758internal ConditionalOperation(IOperation condition, IOperation whenTrue, IOperation? whenFalse, bool isRef, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5835internal CoalesceOperation(IOperation value, IOperation whenNull, IConvertibleConversion valueConversion, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 5902internal AnonymousFunctionOperation(IMethodSymbol symbol, IBlockOperation body, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 5955internal ObjectCreationOperation(IMethodSymbol? constructor, IObjectOrCollectionInitializerOperation? initializer, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 6025internal TypeParameterObjectCreationOperation(IObjectOrCollectionInitializerOperation? initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6077internal ArrayCreationOperation(ImmutableArray<IOperation> dimensionSizes, IArrayInitializerOperation? initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6144internal InstanceReferenceOperation(InstanceReferenceKind referenceKind, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6163internal IsTypeOperation(IOperation valueOperand, ITypeSymbol typeOperand, bool isNegated, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6219internal AwaitOperation(IOperation operation, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6271protected BaseAssignmentOperation(IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 6282internal SimpleAssignmentOperation(bool isRef, IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 6344internal CompoundAssignmentOperation(IConvertibleConversion inConversion, IConvertibleConversion outConversion, BinaryOperatorKind operatorKind, bool isLifted, bool isChecked, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6419internal ParenthesizedOperation(IOperation operand, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 6472internal EventAssignmentOperation(IOperation eventReference, IOperation handlerValue, bool adds, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6537internal ConditionalAccessOperation(IOperation operation, IOperation whenNotNull, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6600internal ConditionalAccessInstanceOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6617internal InterpolatedStringOperation(ImmutableArray<IInterpolatedStringContentOperation> parts, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 6674internal AnonymousObjectCreationOperation(ImmutableArray<IOperation> initializers, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6730internal ObjectOrCollectionInitializerOperation(ImmutableArray<IOperation> initializers, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6786internal MemberInitializerOperation(IOperation initializedMember, IObjectOrCollectionInitializerOperation initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6849internal NameOfOperation(IOperation argument, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 6902internal TupleOperation(ImmutableArray<IOperation> elements, ITypeSymbol? naturalType, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 6960internal DynamicMemberReferenceOperation(IOperation? instance, string memberName, ImmutableArray<ITypeSymbol> typeArguments, ITypeSymbol? containingType, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7018internal TranslatedQueryOperation(IOperation operation, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7070internal DelegateCreationOperation(IOperation target, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7122internal DefaultValueOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 7140internal TypeOfOperation(ITypeSymbol typeOperand, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7159internal SizeOfOperation(ITypeSymbol typeOperand, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 7179internal AddressOfOperation(IOperation reference, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7231internal IsPatternOperation(IOperation value, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7294internal IncrementOrDecrementOperation(bool isPostfix, bool isLifted, bool isChecked, IOperation target, IMethodSymbol? operatorMethod, ITypeSymbol? constrainedToType, OperationKind kind, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7357internal ThrowOperation(IOperation? exception, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7409internal DeconstructionAssignmentOperation(IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7468internal DeclarationExpressionOperation(IOperation expression, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7520internal OmittedArgumentOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 7537protected BaseSymbolInitializerOperation(ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7548internal FieldInitializerOperation(ImmutableArray<IFieldSymbol> initializedFields, ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7599internal VariableInitializerOperation(ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7646internal PropertyInitializerOperation(ImmutableArray<IPropertySymbol> initializedProperties, ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7697internal ParameterInitializerOperation(IParameterSymbol parameter, ImmutableArray<ILocalSymbol> locals, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7748internal ArrayInitializerOperation(ImmutableArray<IOperation> elementValues, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7803internal VariableDeclaratorOperation(ILocalSymbol symbol, IVariableInitializerOperation? initializer, ImmutableArray<IOperation> ignoredArguments, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7871internal VariableDeclarationOperation(ImmutableArray<IVariableDeclaratorOperation> declarators, IVariableInitializerOperation? initializer, ImmutableArray<IOperation> ignoredDimensions, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 7952internal ArgumentOperation(ArgumentKind argumentKind, IParameterSymbol? parameter, IOperation value, IConvertibleConversion inConversion, IConvertibleConversion outConversion, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8013internal CatchClauseOperation(IOperation? exceptionDeclarationOrExpression, ITypeSymbol exceptionType, ImmutableArray<ILocalSymbol> locals, IOperation? filter, IBlockOperation handler, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8090internal SwitchCaseOperation(ImmutableArray<ICaseClauseOperation> clauses, ImmutableArray<IOperation> body, ImmutableArray<ILocalSymbol> locals, IOperation? condition, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8164protected BaseCaseClauseOperation(ILabelSymbol? label, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8174internal DefaultCaseClauseOperation(ILabelSymbol? label, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8188internal PatternCaseClauseOperation(ILabelSymbol label, IPatternOperation pattern, IOperation? guard, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8251internal RangeCaseClauseOperation(IOperation minimumValue, IOperation maximumValue, ILabelSymbol? label, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8313internal RelationalCaseClauseOperation(IOperation value, BinaryOperatorKind relation, ILabelSymbol? label, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8366internal SingleValueCaseClauseOperation(IOperation value, ILabelSymbol? label, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8417protected BaseInterpolatedStringContentOperation(SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8422internal InterpolatedStringTextOperation(IOperation text, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8473internal InterpolationOperation(IOperation expression, IOperation? alignment, IOperation? formatString, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8546protected BasePatternOperation(ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8557internal ConstantPatternOperation(IOperation value, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8608internal DeclarationPatternOperation(ITypeSymbol? matchedType, bool matchesNull, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8630internal TupleBinaryOperation(BinaryOperatorKind operatorKind, IOperation leftOperand, IOperation rightOperand, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 8695protected BaseMethodBodyBaseOperation(IBlockOperation? blockBody, IBlockOperation? expressionBody, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8706internal MethodBodyOperation(IBlockOperation? blockBody, IBlockOperation? expressionBody, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8762internal ConstructorBodyOperation(ImmutableArray<ILocalSymbol> locals, IOperation? initializer, IBlockOperation? blockBody, IBlockOperation? expressionBody, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8833internal DiscardOperation(IDiscardSymbol discardSymbol, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 8852internal FlowCaptureOperation(CaptureId id, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 8905internal FlowCaptureReferenceOperation(CaptureId id, bool isInitialization, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 8927internal IsNullOperation(IOperation operand, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) 8980internal CaughtExceptionOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 8997internal StaticLocalInitializationSemaphoreOperation(ILocalSymbol local, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9016internal CoalesceAssignmentOperation(IOperation target, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9075internal RangeOperation(IOperation? leftOperand, IOperation? rightOperand, bool isLifted, IMethodSymbol? method, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9142internal ReDimOperation(ImmutableArray<IReDimClauseOperation> clauses, bool preserve, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9199internal ReDimClauseOperation(IOperation operand, ImmutableArray<IOperation> dimensionSizes, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9265internal RecursivePatternOperation(ITypeSymbol matchedType, ISymbol? deconstructSymbol, ImmutableArray<IPatternOperation> deconstructionSubpatterns, ImmutableArray<IPropertySubpatternOperation> propertySubpatterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9341internal DiscardPatternOperation(ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9355internal SwitchExpressionOperation(IOperation value, ImmutableArray<ISwitchExpressionArmOperation> arms, bool isExhaustive, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9424internal SwitchExpressionArmOperation(IPatternOperation pattern, IOperation? guard, IOperation value, ImmutableArray<ILocalSymbol> locals, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9499internal PropertySubpatternOperation(IOperation member, IPatternOperation pattern, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9561internal AggregateQueryOperation(IOperation group, IOperation aggregation, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9624internal FixedOperation(ImmutableArray<ILocalSymbol> locals, IVariableDeclarationGroupOperation variables, IOperation body, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9688internal NoPiaObjectCreationOperation(IObjectOrCollectionInitializerOperation? initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9740internal PlaceholderOperation(PlaceholderKind placeholderKind, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 9759internal WithStatementOperation(IOperation body, IOperation value, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9821internal UsingDeclarationOperation(IVariableDeclarationGroupOperation declarationGroup, bool isAsynchronous, DisposeOperationInfo disposeInfo, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9876internal NegatedPatternOperation(IPatternOperation pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9927internal BinaryPatternOperation(BinaryOperatorKind operatorKind, IPatternOperation leftPattern, IPatternOperation rightPattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 9991internal TypePatternOperation(ITypeSymbol matchedType, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10009internal RelationalPatternOperation(BinaryOperatorKind operatorKind, IOperation value, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10062internal WithOperation(IOperation operand, IMethodSymbol? cloneMethod, IObjectOrCollectionInitializerOperation initializer, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10127internal InterpolatedStringHandlerCreationOperation(IOperation handlerCreation, bool handlerCreationHasSuccessParameter, bool handlerAppendCallsReturnBool, IOperation content, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10194internal InterpolatedStringAdditionOperation(IOperation left, IOperation right, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10256internal InterpolatedStringAppendOperation(IOperation appendCall, OperationKind kind, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10308internal InterpolatedStringHandlerArgumentPlaceholderOperation(int argumentIndex, InterpolatedStringArgumentPlaceholderKind placeholderKind, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10328internal FunctionPointerInvocationOperation(IOperation target, ImmutableArray<IArgumentOperation> arguments, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10395internal ListPatternOperation(ISymbol? lengthSymbol, ISymbol? indexerSymbol, ImmutableArray<IPatternOperation> patterns, ISymbol? declaredSymbol, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10456internal SlicePatternOperation(ISymbol? sliceSymbol, IPatternOperation? pattern, ITypeSymbol inputType, ITypeSymbol narrowedType, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10509internal ImplicitIndexerReferenceOperation(IOperation instance, IOperation argument, ISymbol lengthSymbol, ISymbol indexerSymbol, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10576internal Utf8StringOperation(string value, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10595internal AttributeOperation(IOperation operation, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10646internal InlineArrayAccessOperation(IOperation instance, IOperation argument, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10709internal CollectionExpressionOperation(IMethodSymbol? constructMethod, ImmutableArray<IOperation> constructArguments, ImmutableArray<IOperation> elements, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) 10782internal SpreadOperation(IOperation operand, ITypeSymbol? elementType, IConvertibleConversion elementConversion, SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 10838internal CollectionExpressionElementsPlaceholderOperation(SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit)
Operations\ControlFlowGraph.cs (2)
80/// Returns null if <see cref="SemanticModel.GetOperation(SyntaxNode, CancellationToken)"/> returns null for the given <paramref name="node"/> and <paramref name="semanticModel"/>. 83public static ControlFlowGraph? Create(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken = default)
Operations\ControlFlowGraphBuilder.cs (11)
1693private void CaptureResultIfNotAlready(SyntaxNode syntax, int captureId, IOperation result) 2703SyntaxNode leftSyntax = (lazyFallThrough.GetSingletonPredecessorOrDefault() != null ? condition.LeftOperand : condition).Syntax; 2997SyntaxNode valueSyntax = operationValue.Syntax; 3305private static IOperation MakeInvalidOperation(SyntaxNode syntax, ITypeSymbol? type, IOperation child1, IOperation child2) 3310private static IOperation MakeInvalidOperation(SyntaxNode syntax, ITypeSymbol? type, ImmutableArray<IOperation> children) 3462SyntaxNode defaultValueSyntax = (operation.Operation == testExpression ? testExpression : operation).Syntax; 3540SyntaxNode testExpressionSyntax = testExpression.Syntax; 3800SyntaxNode syntax = exceptionDeclarationOrExpression.Syntax; 4711InvocationOperation makeInvocation(SyntaxNode syntax, IMethodSymbol method, IOperation? instanceOpt, ImmutableArray<IArgumentOperation> arguments) 4789IOperation tryCallObjectForLoopControlHelper(SyntaxNode syntax, WellKnownMember helper) 5854SyntaxNode? assignmentSyntax = null;
Operations\IOperation.cs (2)
35SyntaxNode Syntax { get; } 74/// Non-null for operations generated from source with <see cref="SemanticModel.GetOperation(SyntaxNode, System.Threading.CancellationToken)"/> API
Operations\Operation.cs (3)
27protected Operation(SemanticModel? semanticModel, SyntaxNode syntax, bool isImplicit) 70public SyntaxNode Syntax { get; } 128/// is the semantic model on which <see cref="SemanticModel.GetOperation(SyntaxNode, CancellationToken)"/> was invoked
Operations\OperationFactory.cs (1)
11public static IInvalidOperation CreateInvalidOperation(SemanticModel semanticModel, SyntaxNode syntax, ImmutableArray<IOperation> children, bool isImplicit)
Operations\OperationMapBuilder.cs (8)
19internal static void AddToMap(IOperation root, Dictionary<SyntaxNode, IOperation> dictionary) 25private sealed class Walker : OperationWalker<Dictionary<SyntaxNode, IOperation>> 29public override object? DefaultVisit(IOperation operation, Dictionary<SyntaxNode, IOperation> argument) 35public override object? VisitBinaryOperator([DisallowNull] IBinaryOperation? operation, Dictionary<SyntaxNode, IOperation> argument) 57public override object? VisitConditional(IConditionalOperation operation, Dictionary<SyntaxNode, IOperation> argument) 78public override object? VisitBinaryPattern(IBinaryPatternOperation operation, Dictionary<SyntaxNode, IOperation> argument) 100internal override object? VisitNoneOperation(IOperation operation, Dictionary<SyntaxNode, IOperation> argument) 107private static void RecordOperation(IOperation operation, Dictionary<SyntaxNode, IOperation> argument)
Operations\OperationNodes.cs (13)
18public NoneOperation(ImmutableArray<IOperation> children, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) : 87public InvalidOperation(ImmutableArray<IOperation> children, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isImplicit) : 235protected HasDynamicArgumentsExpression(ImmutableArray<IOperation> arguments, ImmutableArray<string?> argumentNames, ImmutableArray<RefKind> argumentRefKinds, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) : 252public DynamicObjectCreationOperation(IObjectOrCollectionInitializerOperation? initializer, ImmutableArray<IOperation> arguments, ImmutableArray<string?> argumentNames, ImmutableArray<RefKind> argumentRefKinds, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) : 334public DynamicInvocationOperation(IOperation operation, ImmutableArray<IOperation> arguments, ImmutableArray<string?> argumentNames, ImmutableArray<RefKind> argumentRefKinds, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) : 416public DynamicIndexerAccessOperation(IOperation operation, ImmutableArray<IOperation> arguments, ImmutableArray<string?> argumentNames, ImmutableArray<RefKind> argumentRefKinds, SemanticModel? semanticModel, SyntaxNode syntax, ITypeSymbol? type, bool isImplicit) : 641public FlowCaptureReferenceOperation(int id, SyntaxNode syntax, ITypeSymbol? type, ConstantValue? constantValue, bool isInitialization = false) : 649public FlowCaptureOperation(int id, SyntaxNode syntax, IOperation value) : 658public IsNullOperation(SyntaxNode syntax, IOperation operand, ITypeSymbol type, ConstantValue? constantValue) : 667public CaughtExceptionOperation(SyntaxNode syntax, ITypeSymbol type) : 675public StaticLocalInitializationSemaphoreOperation(ILocalSymbol local, SyntaxNode syntax, ITypeSymbol type) : 688public static BlockOperation CreateTemporaryBlock(ImmutableArray<IOperation> statements, SemanticModel semanticModel, SyntaxNode syntax) 691private BlockOperation(ImmutableArray<IOperation> statements, SemanticModel semanticModel, SyntaxNode syntax)
SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
SourceGeneration\GeneratorContexts.cs (4)
153/// an instance of <see cref="ISyntaxReceiver"/>. This receiver will have its <see cref="ISyntaxReceiver.OnVisitSyntaxNode(SyntaxNode)"/> 236internal GeneratorSyntaxContext(SyntaxNode node, Lazy<SemanticModel>? semanticModel, ISyntaxHelper syntaxHelper) 244/// The <see cref="SyntaxNode"/> currently being visited 246public SyntaxNode Node { get; }
SourceGeneration\GeneratorSyntaxWalker.cs (2)
23public void VisitWithModel(Lazy<SemanticModel>? model, SyntaxNode node) 28foreach (var child in node.DescendantNodesAndSelf())
SourceGeneration\ISyntaxHelper.cs (32)
15bool IsAnyNamespaceBlock(SyntaxNode node); 17bool IsAttributeList(SyntaxNode node); 18SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 20void AddAttributeTargets(SyntaxNode node, ArrayBuilder<SyntaxNode> targets); 22bool IsAttribute(SyntaxNode node); 23SyntaxNode GetNameOfAttribute(SyntaxNode node); 29SyntaxNode RemapAttributeTarget(SyntaxNode target); 35SyntaxNode GetAttributeOwningNode(SyntaxNode attribute); 37bool IsLambdaExpression(SyntaxNode node); 39string GetUnqualifiedIdentifierOfName(SyntaxNode node); 47bool ContainsGlobalAliases(SyntaxNode root); 56public abstract string GetUnqualifiedIdentifierOfName(SyntaxNode name); 58public abstract bool IsAnyNamespaceBlock(SyntaxNode node); 60public abstract bool IsAttribute(SyntaxNode node); 61public abstract SyntaxNode GetNameOfAttribute(SyntaxNode node); 63public abstract SyntaxNode RemapAttributeTarget(SyntaxNode target); 64public abstract SyntaxNode GetAttributeOwningNode(SyntaxNode attribute); 66public abstract bool IsAttributeList(SyntaxNode node); 67public abstract SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 68public abstract void AddAttributeTargets(SyntaxNode node, ArrayBuilder<SyntaxNode> targets); 70public abstract bool IsLambdaExpression(SyntaxNode node); 75public abstract bool ContainsGlobalAliases(SyntaxNode root);
SourceGeneration\ISyntaxReceiver.cs (6)
8/// Receives notifications of each <see cref="SyntaxNode"/> in the compilation before generation runs 16/// <see cref="OnVisitSyntaxNode(SyntaxNode)"/> called for every syntax node in the compilation. 32/// Called for each <see cref="SyntaxNode"/> in the compilation 34/// <param name="syntaxNode">The current <see cref="SyntaxNode"/> being visited</param> 35void OnVisitSyntaxNode(SyntaxNode syntaxNode); 45/// Receives notifications of each <see cref="SyntaxNode"/> in the compilation, along with a
SourceGeneration\Nodes\ISyntaxStrategy.cs (1)
20void VisitTree(Lazy<SyntaxNode> root, EntryState state, Lazy<SemanticModel>? model, CancellationToken cancellationToken);
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (12)
20private readonly Func<SyntaxNode, CancellationToken, bool> _filterFunc; 24Func<SyntaxNode, CancellationToken, bool> filterFunc, 41private readonly NodeStateTable<SyntaxNode>.Builder _filterTable; 51_filterTable = table.GetStateTableOrEmpty<SyntaxNode>(_owner._filterKey).ToBuilder(stepName: null, trackIncrementalSteps, equalityComparer: ReferenceEqualityComparer.Instance); 68Lazy<SyntaxNode> root, 89if (state != EntryState.Cached || !_filterTable.TryUseCachedEntries(TimeSpan.Zero, noInputStepsStepInfo, out NodeStateTable<SyntaxNode>.TableEntry entry)) 123static ImmutableArray<SyntaxNode> getFilteredNodes(SyntaxNode root, Func<SyntaxNode, CancellationToken, bool> func, CancellationToken token) 125ArrayBuilder<SyntaxNode>? results = null; 128foreach (var node in root.DescendantNodesAndSelf()) 134(results ??= ArrayBuilder<SyntaxNode>.GetInstance()).Add(node);
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (1)
73Lazy<SyntaxNode> root,
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithMetadataName.cs (10)
21public SyntaxNode TargetNode { get; } 45SyntaxNode targetNode, 65/// cref="SyntaxNode"/>s if that node has an attribute on it that binds to a <see cref="INamedTypeSymbol"/> with the 71/// <param name="predicate">A function that determines if the given <see cref="SyntaxNode"/> attribute target (<see 85Func<SyntaxNode, CancellationToken, bool> predicate, 111foreach (var targetNode in syntaxNodes) 145SyntaxNode attributeTarget, 153var remappedTarget = syntaxHelper.RemapAttributeTarget(attributeTarget); 182var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(cancellationToken); 183var attributeOwnerSyntax = syntaxHelper.GetAttributeOwningNode(attributeSyntax);
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithSimpleName.cs (20)
32private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = new ObjectPool<Stack<SyntaxNode>>(static () => new Stack<SyntaxNode>()); 55internal IncrementalValuesProvider<(SyntaxTree tree, ImmutableArray<SyntaxNode> matches)> ForAttributeWithSimpleName( 57Func<SyntaxNode, CancellationToken, bool> predicate) 114SyntaxNode compilationUnit) 151private static ImmutableArray<SyntaxNode> GetMatchingNodes( 156Func<SyntaxNode, CancellationToken, bool> predicate, 159var compilationUnit = syntaxTree.GetRoot(cancellationToken); 174var results = ArrayBuilder<SyntaxNode>.GetInstance(); 175var attributeTargets = ArrayBuilder<SyntaxNode>.GetInstance(); 192void processCompilationUnit(SyntaxNode compilationUnit) 202void processCompilationOrNamespaceMembers(SyntaxNode node) 208if (child.AsNode(out var childNode)) 218void processNamespaceBlock(SyntaxNode namespaceBlock) 231void processMember(SyntaxNode member) 247var node = nodeStack.Pop(); 255foreach (var attribute in syntaxHelper.GetAttributesOfAttributeList(node)) 266foreach (var target in attributeTargets) 285if (child.AsNode(out var childNode))
SourceGeneration\Nodes\SyntaxValueProvider.cs (3)
36/// Creates an <see cref="IncrementalValueProvider{T}"/> that can provide a transform over <see cref="SyntaxNode"/>s 39/// <param name="predicate">A function that determines if the given <see cref="SyntaxNode"/> should be transformed</param> 42public IncrementalValuesProvider<T> CreateSyntaxProvider<T>(Func<SyntaxNode, CancellationToken, bool> predicate, Func<GeneratorSyntaxContext, CancellationToken, T> transform)
SourceGeneration\SyntaxStore.cs (1)
92var root = new Lazy<SyntaxNode>(() => tree.GetRoot(_cancellationToken));
src\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (14)
17internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks, CancellationToken cancellationToken) 23internal static DeclarationInfo GetDeclarationInfo(SyntaxNode node, ISymbol? declaredSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks) 25var codeBlocks = ImmutableArray<SyntaxNode>.Empty; 36internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken) 38return GetDeclarationInfo(model, node, getSymbol, (ArrayBuilder<SyntaxNode>?)null, cancellationToken); 41internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, SyntaxNode executableCodeBlock, CancellationToken cancellationToken) 43var builder = ArrayBuilder<SyntaxNode>.GetInstance(); 52internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken, params SyntaxNode[] executableCodeBlocks) 54var builder = ArrayBuilder<SyntaxNode>.GetInstance(); 63private static ISymbol? GetDeclaredSymbol(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken)
src\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationInfo.cs (4)
15internal DeclarationInfo(SyntaxNode declaredNode, ImmutableArray<SyntaxNode> executableCodeBlocks, ISymbol? declaredSymbol) 32public SyntaxNode DeclaredNode { get; } 37public ImmutableArray<SyntaxNode> ExecutableCodeBlocks { get; }
Symbols\Attributes\CommonAttributeData.cs (2)
403where TAttributeSyntaxNode : SyntaxNode 476where TAttributeSyntaxNode : SyntaxNode
Symbols\Attributes\DecodeWellKnownAttributeArguments.cs (1)
13where TAttributeSyntax : SyntaxNode
Symbols\Attributes\EarlyDecodeWellKnownAttributeArguments.cs (1)
18where TAttributeSyntax : SyntaxNode
Symbols\Attributes\MarshalAsAttributeDecoder.cs (1)
17where TAttributeSyntax : SyntaxNode
Symbols\ILocalSymbolInternal.cs (1)
13SyntaxNode GetDeclaratorSyntax();
Syntax\AnnotationExtensions.cs (5)
18where TNode : SyntaxNode 29where TNode : SyntaxNode 40where TNode : SyntaxNode 51where TNode : SyntaxNode 62where TNode : SyntaxNode
Syntax\ChildSyntaxList.cs (17)
17private readonly SyntaxNode? _node; 20internal ChildSyntaxList(SyntaxNode node) 77internal SyntaxNode? Node 104public SlotData(SyntaxNode node) 117internal static SyntaxNodeOrToken ItemInternal(SyntaxNode node, int index) 129SyntaxNode node, 189private static GreenNode GetGreenChildAt(SyntaxNode node, int index, ref SlotData slotData) 201internal static SyntaxNodeOrToken ItemInternal(SyntaxNode node, int index, ref SlotData slotData) 206var red = node.GetNodeSlot(slotIndex); 220var redChild = red.GetNodeSlot(idx); 244/// Locate the node or token that is a child of the given <see cref="SyntaxNode"/> and contains the given position. 246/// <param name="node">The <see cref="SyntaxNode"/> to search.</param> 252internal static SyntaxNodeOrToken ChildThatContainsPosition(SyntaxNode node, int targetPosition) 287var red = node.GetNodeSlot(slot); 333internal static SyntaxNode? ItemInternalAsNode(SyntaxNode node, int index, ref SlotData slotData) 338var red = node.GetNodeSlot(slotIndex);
Syntax\ChildSyntaxList.Enumerator.cs (6)
18private SyntaxNode? _node; 24internal Enumerator(SyntaxNode node, int count) 35internal void InitializeFrom(SyntaxNode node, Func<GreenNode, bool>? descendIntoChildrenGreen) 98internal SyntaxNode? TryMoveNextAndGetCurrentAsNode() 102var nodeValue = ItemInternalAsNode(_node, _childIndex, ref _slotData); 117internal EnumeratorImpl(SyntaxNode node, int count)
Syntax\ChildSyntaxList.Reversed.cs (5)
19private readonly SyntaxNode? _node; 22internal Reversed(SyntaxNode node, int count) 72private readonly SyntaxNode? _node; 76internal Enumerator(SyntaxNode node, int count) 108internal EnumeratorImpl(SyntaxNode node, int count)
Syntax\CommonSyntaxNodeRemover.cs (1)
35var node = nodesAndSeparators[nodeIndex].AsNode();
Syntax\GreenNode.cs (5)
906public abstract SyntaxNode GetStructure(SyntaxTrivia parentTrivia); 910public abstract SyntaxToken CreateSeparator(SyntaxNode element); 973public SyntaxNode CreateRed() 978internal abstract SyntaxNode CreateRed(SyntaxNode? parent, int position);
Syntax\ICompilationUnitSyntax.cs (1)
15/// given any <see cref="SyntaxNode"/>, as well as a common way for handling the special
Syntax\InternalSyntax\GreenNodeExtensions.cs (2)
9internal static SyntaxList<T> ToGreenList<T>(this SyntaxNode? node) where T : GreenNode 16internal static SeparatedSyntaxList<T> ToGreenSeparatedList<T>(this SyntaxNode? node) where T : GreenNode
Syntax\InternalSyntax\SyntaxList.cs (2)
160public sealed override SyntaxNode GetStructure(SyntaxTrivia parentTrivia) 165public sealed override SyntaxToken CreateSeparator(SyntaxNode element)
Syntax\InternalSyntax\SyntaxList.WithManyChildren.cs (4)
61internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) 68: (SyntaxNode)new Syntax.SyntaxList.WithManyWeakChildren(this, parent, position); 74: (SyntaxNode)new Syntax.SyntaxList.WithManyChildren(this, parent, position);
Syntax\InternalSyntax\SyntaxList.WithThreeChildren.cs (2)
62internal override SyntaxNode CreateRed(SyntaxNode? parent, int position)
Syntax\InternalSyntax\SyntaxList.WithTwoChildren.cs (2)
54internal override SyntaxNode CreateRed(SyntaxNode? parent, int position)
Syntax\LineDirectiveMap.cs (1)
23where TDirective : SyntaxNode
Syntax\SeparatedSyntaxList.cs (11)
20public static SeparatedSyntaxList<TNode> Create<TNode>(ReadOnlySpan<TNode> nodes) where TNode : SyntaxNode 45public readonly partial struct SeparatedSyntaxList<TNode> : IEquatable<SeparatedSyntaxList<TNode>>, IReadOnlyList<TNode> where TNode : SyntaxNode 83internal SeparatedSyntaxList(SyntaxNode node, int index) 88internal SyntaxNode? Node 116var node = _list.Node; 146var node = _list.Node; 442var node = nodesWithSeps[insertionIndex].AsNode(); 632public static implicit operator SeparatedSyntaxList<SyntaxNode>(SeparatedSyntaxList<TNode> nodes) 634return new SeparatedSyntaxList<SyntaxNode>(nodes._list); 639public static SeparatedSyntaxList<TNode> op_Implicit(SeparatedSyntaxList<SyntaxNode> nodes) 644public static explicit operator SeparatedSyntaxList<TNode>(SeparatedSyntaxList<SyntaxNode> nodes)
Syntax\SeparatedSyntaxListBuilder.cs (1)
10internal struct SeparatedSyntaxListBuilder<TNode> where TNode : SyntaxNode
Syntax\SeparatedSyntaxListExtensions.cs (1)
12where TNode : SyntaxNode
Syntax\SyntaxDiffer.cs (6)
28private SyntaxDiffer(SyntaxNode oldNode, SyntaxNode newNode, bool computeNewText) 59internal static IList<TextChange> GetTextChanges(SyntaxNode oldNode, SyntaxNode newNode) 95internal static IList<TextSpan> GetPossiblyDifferentTextSpans(SyntaxNode oldNode, SyntaxNode newNode)
Syntax\SyntaxList.cs (17)
13internal SyntaxList(InternalSyntax.SyntaxList green, SyntaxNode? parent, int position) 29protected internal override SyntaxNode ReplaceCore<TNode>(IEnumerable<TNode>? nodes = null, Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, IEnumerable<SyntaxToken>? tokens = null, Func<SyntaxToken, SyntaxToken, SyntaxToken>? computeReplacementToken = null, IEnumerable<SyntaxTrivia>? trivia = null, Func<SyntaxTrivia, SyntaxTrivia, SyntaxTrivia>? computeReplacementTrivia = null) 34protected internal override SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes) 39protected internal override SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 44protected internal override SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens) 49protected internal override SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore) 54protected internal override SyntaxNode ReplaceTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia) 59protected internal override SyntaxNode InsertTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia, bool insertBefore) 64protected internal override SyntaxNode RemoveNodesCore(IEnumerable<SyntaxNode> nodes, SyntaxRemoveOptions options) 69protected internal override SyntaxNode NormalizeWhitespaceCore(string indentation, string eol, bool elasticTrivia) 74protected override bool IsEquivalentToCore(SyntaxNode node, bool topLevel = false)
Syntax\SyntaxList.SeparatedWithManyChildren.cs (5)
11private readonly ArrayElement<SyntaxNode?>[] _children; 13internal SeparatedWithManyChildren(InternalSyntax.SyntaxList green, SyntaxNode? parent, int position) 16_children = new ArrayElement<SyntaxNode?>[(green.SlotCount + 1) >> 1]; 19internal override SyntaxNode? GetNodeSlot(int i) 30internal override SyntaxNode? GetCachedSlot(int i)
Syntax\SyntaxList.SeparatedWithManyWeakChildren.cs (7)
13private readonly ArrayElement<WeakReference<SyntaxNode>?>[] _children; 15internal SeparatedWithManyWeakChildren(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) 18_children = new ArrayElement<WeakReference<SyntaxNode>?>[(((green.SlotCount + 1) >> 1) - 1)]; 21internal override SyntaxNode? GetNodeSlot(int i) 23SyntaxNode? result = null; 34internal override SyntaxNode? GetCachedSlot(int i) 36SyntaxNode? result = null;
Syntax\SyntaxList.WithManyChildren.cs (5)
13private readonly ArrayElement<SyntaxNode?>[] _children; 15internal WithManyChildren(InternalSyntax.SyntaxList green, SyntaxNode? parent, int position) 18_children = new ArrayElement<SyntaxNode?>[green.SlotCount]; 21internal override SyntaxNode? GetNodeSlot(int index) 26internal override SyntaxNode? GetCachedSlot(int index)
Syntax\SyntaxList.WithManyWeakChildren.cs (6)
14private readonly ArrayElement<WeakReference<SyntaxNode>?>[] _children; 21internal WithManyWeakChildren(InternalSyntax.SyntaxList.WithManyChildrenBase green, SyntaxNode parent, int position) 25_children = new ArrayElement<WeakReference<SyntaxNode>?>[count]; 45internal override SyntaxNode GetNodeSlot(int index) 50internal override SyntaxNode? GetCachedSlot(int index) 52SyntaxNode? value = null;
Syntax\SyntaxList.WithThreeChildren.cs (6)
13private SyntaxNode? _child0; 14private SyntaxNode? _child1; 15private SyntaxNode? _child2; 17internal WithThreeChildren(InternalSyntax.SyntaxList green, SyntaxNode? parent, int position) 22internal override SyntaxNode? GetNodeSlot(int index) 37internal override SyntaxNode? GetCachedSlot(int index)
Syntax\SyntaxList.WithTwoChildren.cs (5)
15private SyntaxNode? _child0; 16private SyntaxNode? _child1; 18internal WithTwoChildren(InternalSyntax.SyntaxList green, SyntaxNode? parent, int position) 23internal override SyntaxNode? GetNodeSlot(int index) 36internal override SyntaxNode? GetCachedSlot(int index)
Syntax\SyntaxList`1.cs (13)
21public static SyntaxList<TNode> Create<TNode>(ReadOnlySpan<TNode> nodes) where TNode : SyntaxNode 49/// A list of <see cref="SyntaxNode"/>. 53where TNode : SyntaxNode 55private readonly SyntaxNode? _node; 57internal SyntaxList(SyntaxNode? node) 67: this((SyntaxNode?)node) 80private static SyntaxNode? CreateNode(IEnumerable<TNode>? nodes) 98internal SyntaxNode? Node 144internal SyntaxNode? ItemInternal(int index) 488public static SyntaxList<TNode> op_Implicit(SyntaxList<SyntaxNode> nodes) 493public static implicit operator SyntaxList<SyntaxNode>(SyntaxList<TNode> nodes) 495return new SyntaxList<SyntaxNode>(nodes.Node); 498public static explicit operator SyntaxList<TNode>(SyntaxList<SyntaxNode> nodes)
Syntax\SyntaxListBuilder.cs (11)
25public void Add(SyntaxNode item) 45public void AddRange(SyntaxNode[] items) 50public void AddRange(SyntaxNode[] items, int offset, int length) 79public void AddRange(SyntaxList<SyntaxNode> list) 84public void AddRange(SyntaxList<SyntaxNode> list, int offset, int count) 103public void AddRange<TNode>(SyntaxList<TNode> list) where TNode : SyntaxNode 108public void AddRange<TNode>(SyntaxList<TNode> list, int offset, int count) where TNode : SyntaxNode 110this.AddRange(new SyntaxList<SyntaxNode>(list.Node), offset, count); 145this.AddRange(new SyntaxList<SyntaxNode>(list.Node.CreateRed()), offset, length); 191public static implicit operator SyntaxList<SyntaxNode>(SyntaxListBuilder builder) 195return default(SyntaxList<SyntaxNode>);
Syntax\SyntaxListBuilder`1.cs (1)
7internal readonly struct SyntaxListBuilder<TNode> where TNode : SyntaxNode
Syntax\SyntaxListBuilderExtensions.cs (4)
19public static SyntaxList<SyntaxNode> ToList(this SyntaxListBuilder? builder) 27return new SyntaxList<SyntaxNode>(listNode.CreateRed()); 31where TNode : SyntaxNode 42public static SeparatedSyntaxList<TNode> ToSeparatedList<TNode>(this SyntaxListBuilder? builder) where TNode : SyntaxNode
Syntax\SyntaxNavigator.cs (9)
62internal SyntaxToken GetFirstToken(in SyntaxNode current, bool includeZeroWidth, bool includeSkipped, bool includeDirectives, bool includeDocumentationComments) 67internal SyntaxToken GetLastToken(in SyntaxNode current, bool includeZeroWidth, bool includeSkipped, bool includeDirectives, bool includeDocumentationComments) 95internal SyntaxToken GetFirstToken(SyntaxNode current, Func<SyntaxToken, bool>? predicate, Func<SyntaxTrivia, bool>? stepInto) 141internal SyntaxToken GetLastToken(SyntaxNode current, Func<SyntaxToken, bool> predicate, Func<SyntaxTrivia, bool>? stepInto) 193if (trivia.TryGetStructure(out var structure) && stepInto(trivia)) 233if (!trivia.TryGetStructure(out var structure) || stepInto == null || !stepInto(trivia)) 386if (trivia.TryGetStructure(out var structure) && stepInto != null && stepInto(trivia)) 431SyntaxNode node, 481SyntaxNode node,
Syntax\SyntaxNode.cs (103)
29private readonly SyntaxNode? _parent; 32internal SyntaxNode(GreenNode green, SyntaxNode? parent, int position) 137internal SyntaxNode? GetRed(ref SyntaxNode? field, int slot) 139var result = field; 155internal SyntaxNode? GetRedAtZero(ref SyntaxNode? field) 157var result = field; 172protected T? GetRed<T>(ref T? field, int slot) where T : SyntaxNode 190protected T? GetRedAtZero<T>(ref T? field) where T : SyntaxNode 212internal SyntaxNode? GetRedElement(ref SyntaxNode? element, int slot) 216var result = element; 232internal SyntaxNode? GetRedElementIfNotToken(ref SyntaxNode? element) 236var result = element; 252internal SyntaxNode GetWeakRedElement(ref WeakReference<SyntaxNode>? slot, int index) 254SyntaxNode? value = null; 264private SyntaxNode CreateWeakItem(ref WeakReference<SyntaxNode>? slot, int index) 267var newNode = greenChild.CreateRed(this.Parent, GetChildPosition(index)); 268var newWeakReference = new WeakReference<SyntaxNode>(newNode); 272SyntaxNode? previousNode = null; 273WeakReference<SyntaxNode>? previousWeakReference = slot; 337public bool IsEquivalentTo([NotNullWhen(true)] SyntaxNode? other) 356/// new tree. In this case, the <see cref="SyntaxNode.ToFullString()"/> of each node will be the same, though 366public bool IsIncrementallyIdenticalTo([NotNullWhen(true)] SyntaxNode? other) 388for (SyntaxNode? node = this; node != null; node = node.Parent) 528public bool Contains(SyntaxNode? node) 585internal abstract SyntaxNode? GetCachedSlot(int index); 629var prevSibling = this.GetCachedSlot(index); 659var nextSibling = this.GetCachedSlot(index); 723public SyntaxNode? Parent 739internal SyntaxNode? ParentOrStructuredTriviaParent 774internal abstract SyntaxNode? GetNodeSlot(int slot); 776internal SyntaxNode GetRequiredNodeSlot(int slot) 778var syntaxNode = GetNodeSlot(slot); 786public IEnumerable<SyntaxNode> ChildNodes() 790if (nodeOrToken.AsNode(out var node)) 800public IEnumerable<SyntaxNode> Ancestors(bool ascendOutOfTrivia = true) 802var parent = GetParent(this, ascendOutOfTrivia); 805SpecializedCollections.EmptyEnumerable<SyntaxNode>(); 811public IEnumerable<SyntaxNode> AncestorsAndSelf(bool ascendOutOfTrivia = true) 813for (SyntaxNode? node = this; node != null; node = GetParent(node, ascendOutOfTrivia)) 819private static SyntaxNode? GetParent(SyntaxNode node, bool ascendOutOfTrivia) 821var parent = node.Parent; 839where TNode : SyntaxNode 841for (SyntaxNode? node = this; node != null; node = GetParent(node, ascendOutOfTrivia)) 859where TNode : SyntaxNode 861for (var node = this; node != null; node = GetParent(node, ascendOutOfTrivia)) 877public IEnumerable<SyntaxNode> DescendantNodes(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 888public IEnumerable<SyntaxNode> DescendantNodes(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 898public IEnumerable<SyntaxNode> DescendantNodesAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 909public IEnumerable<SyntaxNode> DescendantNodesAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 919public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 930public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 940public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 951public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 966public SyntaxNode FindNode(TextSpan span, bool findInsideTrivia = false, bool getInnermostNodeForTie = false) 973var node = FindToken(span.Start, findInsideTrivia) 975!.FirstAncestorOrSelf<SyntaxNode, TextSpan>((a, span) => a.FullSpan.Contains(span), span); 978SyntaxNode? cuRoot = node.SyntaxTree?.GetRoot(); 985var parent = node.Parent; 1048public IEnumerable<SyntaxToken> DescendantTokens(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 1056public IEnumerable<SyntaxToken> DescendantTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 1114internal static SyntaxTrivia FindTriviaByOffset(SyntaxNode node, int textOffset, Func<SyntaxTrivia, bool>? stepInto = null) 1124if (element.AsNode(out var elementNode)) 1185public IEnumerable<SyntaxTrivia> DescendantTrivia(Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 1193public IEnumerable<SyntaxTrivia> DescendantTrivia(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null, bool descendIntoTrivia = false) 1203Func<SyntaxNode, bool>? descendIntoChildrenRed, 1215Func<SyntaxNode, bool>? descendIntoChildrenRed, 1318public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxAnnotation syntaxAnnotation) 1328public IEnumerable<SyntaxNode> GetAnnotatedNodes(string annotationKind) 1376internal SyntaxNode WithAdditionalAnnotationsInternal(IEnumerable<SyntaxAnnotation> annotations) 1381internal SyntaxNode GetNodeWithoutAnnotations(IEnumerable<SyntaxAnnotation> annotations) 1399public T? CopyAnnotationsTo<T>(T? node) where T : SyntaxNode 1425public bool IsEquivalentTo(SyntaxNode node, bool topLevel = false) 1457protected virtual bool EquivalentToCore(SyntaxNode other) 1525var node = curNode.AsNode(); 1615protected internal abstract SyntaxNode ReplaceCore<TNode>( 1617Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 1622where TNode : SyntaxNode; 1624protected internal abstract SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes); 1625protected internal abstract SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore); 1626protected internal abstract SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens); 1627protected internal abstract SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore); 1628protected internal abstract SyntaxNode ReplaceTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia); 1629protected internal abstract SyntaxNode InsertTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia, bool insertBefore); 1634protected internal abstract SyntaxNode? RemoveNodesCore( 1635IEnumerable<SyntaxNode> nodes, 1638protected internal abstract SyntaxNode NormalizeWhitespaceCore(string indentation, string eol, bool elasticTrivia); 1649protected abstract bool IsEquivalentToCore(SyntaxNode node, bool topLevel = false); 1687internal static T CloneNodeAsRoot<T>(T node, SyntaxTree syntaxTree) where T : SyntaxNode
Syntax\SyntaxNode.Iterators.cs (30)
16private IEnumerable<SyntaxNode> DescendantNodesImpl(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool descendIntoTrivia, bool includeSelf) 23private IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensImpl(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool descendIntoTrivia, bool includeSelf) 31Func<SyntaxNode, bool>? descendIntoChildrenRed, 43Func<SyntaxNode, bool>? descendIntoChildrenRed, 76private readonly Func<SyntaxNode, bool>? _descendIntoChildrenRed; 82SyntaxNode startingNode, 84Func<SyntaxNode, bool>? descendIntoChildrenRed) 119public SyntaxNode? TryGetNextAsNodeInSpan(in TextSpan span) 122SyntaxNode? nodeValue; 135private bool ShouldDescendIntoChildren(SyntaxNode node) 139public bool PushChildren(SyntaxNode node) 237SyntaxNode startingNode, 239Func<SyntaxNode, bool>? descendIntoChildrenRed) 286public void PushChildren(SyntaxNode node) 332SyntaxNode startingNode, 334Func<SyntaxNode, bool>? descendIntoChildrenRed) 391public void PushChildren(SyntaxNode node) 431private IEnumerable<SyntaxNode> DescendantNodesOnly(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool includeSelf) 442SyntaxNode? nodeValue = stack.TryGetNextAsNodeInSpan(in span); 462Func<SyntaxNode, bool>? descendIntoChildrenRed, 480var nodeValue = value.AsNode(); 495Func<SyntaxNode, bool>? descendIntoChildrenRed, 562if (trivia.TryGetStructure(out var structureNode) && IsInSpan(in span, trivia.FullSpan)) 587Func<SyntaxNode, bool>? descendIntoChildrenRed) 596if (value.AsNode(out var nodeValue)) 628Func<SyntaxNode, bool>? descendIntoChildrenRed) 640if (value.AsNode(out var nodeValue)) 670if (trivia.TryGetStructure(out var structureNode))
Syntax\SyntaxNodeExtensions_Tracking.cs (36)
18private static readonly ConditionalWeakTable<SyntaxNode, SyntaxAnnotation> s_nodeToIdMap 19= new ConditionalWeakTable<SyntaxNode, SyntaxAnnotation>(); 21private static readonly ConditionalWeakTable<SyntaxNode, CurrentNodes> s_rootToCurrentNodesMap 22= new ConditionalWeakTable<SyntaxNode, CurrentNodes>(); 34public static TRoot TrackNodes<TRoot>(this TRoot root, IEnumerable<SyntaxNode> nodes) 35where TRoot : SyntaxNode 43foreach (var node in nodes) 64public static TRoot TrackNodes<TRoot>(this TRoot root, params SyntaxNode[] nodes) 65where TRoot : SyntaxNode 67return TrackNodes(root, (IEnumerable<SyntaxNode>)nodes); 76public static IEnumerable<TNode> GetCurrentNodes<TNode>(this SyntaxNode root, TNode node) 77where TNode : SyntaxNode 93public static TNode? GetCurrentNode<TNode>(this SyntaxNode root, TNode node) 94where TNode : SyntaxNode 105public static IEnumerable<TNode> GetCurrentNodes<TNode>(this SyntaxNode root, IEnumerable<TNode> nodes) 106where TNode : SyntaxNode 113var trueRoot = GetRoot(root); 124private static IReadOnlyList<SyntaxNode> GetCurrentNodeFromTrueRoots(SyntaxNode trueRoot, SyntaxNode node) 134return SpecializedCollections.EmptyReadOnlyList<SyntaxNode>(); 138private static SyntaxAnnotation? GetId(SyntaxNode original) 145private static SyntaxNode GetRoot(SyntaxNode node) 166private static bool IsDescendant(SyntaxNode root, SyntaxNode node) 196private readonly ImmutableSegmentedDictionary<SyntaxAnnotation, IReadOnlyList<SyntaxNode>> _idToNodeMap; 198public CurrentNodes(SyntaxNode root) 202var map = new SegmentedDictionary<SyntaxAnnotation, List<SyntaxNode>>(); 204foreach (var node in root.GetAnnotatedNodesAndTokens(IdAnnotationKind).Select(n => n.AsNode()!)) 209List<SyntaxNode>? list; 212list = new List<SyntaxNode>(); 220_idToNodeMap = map.ToImmutableSegmentedDictionary(kv => kv.Key, kv => (IReadOnlyList<SyntaxNode>)ImmutableArray.CreateRange(kv.Value)); 223public IReadOnlyList<SyntaxNode> GetNodes(SyntaxAnnotation id) 225IReadOnlyList<SyntaxNode>? nodes; 232return SpecializedCollections.EmptyReadOnlyList<SyntaxNode>();
Syntax\SyntaxNodeExtensions.cs (53)
32IEnumerable<SyntaxNode>? nodes, 33Func<SyntaxNode, SyntaxNode, SyntaxNode>? computeReplacementNode, 38where TRoot : SyntaxNode 56public static TRoot ReplaceNodes<TRoot, TNode>(this TRoot root, IEnumerable<TNode> nodes, Func<TNode, TNode, SyntaxNode> computeReplacementNode) 57where TRoot : SyntaxNode 58where TNode : SyntaxNode 70public static TRoot ReplaceNode<TRoot>(this TRoot root, SyntaxNode oldNode, SyntaxNode newNode) 71where TRoot : SyntaxNode 88public static TRoot ReplaceNode<TRoot>(this TRoot root, SyntaxNode oldNode, IEnumerable<SyntaxNode> newNodes) 89where TRoot : SyntaxNode 101public static TRoot InsertNodesBefore<TRoot>(this TRoot root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> newNodes) 102where TRoot : SyntaxNode 114public static TRoot InsertNodesAfter<TRoot>(this TRoot root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> newNodes) 115where TRoot : SyntaxNode 131where TRoot : SyntaxNode 148where TRoot : SyntaxNode 165where TRoot : SyntaxNode 178where TRoot : SyntaxNode 191where TRoot : SyntaxNode 204where TRoot : SyntaxNode 219where TRoot : SyntaxNode 221return (TRoot)root.ReplaceCore<SyntaxNode>(tokens: tokens, computeReplacementToken: computeReplacementToken); 233where TRoot : SyntaxNode 235return (TRoot)root.ReplaceCore<SyntaxNode>(tokens: new[] { oldToken }, computeReplacementToken: (o, r) => newToken); 248where TRoot : SyntaxNode 250return (TRoot)root.ReplaceCore<SyntaxNode>(trivia: trivia, computeReplacementTrivia: computeReplacementTrivia); 261where TRoot : SyntaxNode 263return (TRoot)root.ReplaceCore<SyntaxNode>(trivia: new[] { trivia }, computeReplacementTrivia: (o, r) => newTrivia); 275SyntaxNode node, 277where TRoot : SyntaxNode 291IEnumerable<SyntaxNode> nodes, 293where TRoot : SyntaxNode 310where TNode : SyntaxNode 325where TNode : SyntaxNode 333public static TSyntax WithTriviaFrom<TSyntax>(this TSyntax syntax, SyntaxNode node) 334where TSyntax : SyntaxNode 343where TSyntax : SyntaxNode 360SyntaxTriviaList trivia) where TSyntax : SyntaxNode 372IEnumerable<SyntaxTrivia>? trivia) where TSyntax : SyntaxNode 384) where TSyntax : SyntaxNode 394params SyntaxTrivia[]? trivia) where TSyntax : SyntaxNode 404SyntaxTriviaList trivia) where TSyntax : SyntaxNode 416IEnumerable<SyntaxTrivia>? trivia) where TSyntax : SyntaxNode 426public static TSyntax WithoutTrailingTrivia<TSyntax>(this TSyntax node) where TSyntax : SyntaxNode 436params SyntaxTrivia[]? trivia) where TSyntax : SyntaxNode 445internal static SyntaxNode? AsRootOfNewTreeWithOptionsFrom(this SyntaxNode? node, SyntaxTree oldTree)
Syntax\SyntaxNodeLocationComparer.cs (3)
9internal class SyntaxNodeLocationComparer : IComparer<SyntaxNode> 17public int Compare(SyntaxNode? x, SyntaxNode? y)
Syntax\SyntaxNodeOrToken.cs (18)
17/// A wrapper for either a syntax node (<see cref="SyntaxNode"/>) or a syntax token (<see 30private readonly SyntaxNode? _nodeOrParent; 44internal SyntaxNodeOrToken(SyntaxNode node) 53internal SyntaxNodeOrToken(SyntaxNode? parent, GreenNode? token, int position, int index) 127public SyntaxNode? Parent => _token != null ? _nodeOrParent : _nodeOrParent?.Parent; 188public SyntaxNode? AsNode() 198internal bool AsNode([NotNullWhen(true)] out SyntaxNode? node) 215if (AsNode(out var node)) 762/// See <see cref="SyntaxNode.IsIncrementallyIdenticalTo"/> and <see cref="SyntaxToken.IsIncrementallyIdenticalTo"/>. 800public static implicit operator SyntaxNodeOrToken(SyntaxNode? node) 816public static explicit operator SyntaxNode?(SyntaxNodeOrToken nodeOrToken) 843where TDirective : SyntaxNode 850where TDirective : SyntaxNode 869private static void GetDirectives<TDirective>(SyntaxNode node, Func<TDirective, bool>? filter, ref List<TDirective>? directives) 870where TDirective : SyntaxNode 879where TDirective : SyntaxNode 900public static int GetFirstChildIndexSpanningPosition(SyntaxNode node, int position) 952var parent = this.Parent;
Syntax\SyntaxNodeOrTokenList.cs (6)
28private readonly SyntaxNode? _node; 40internal SyntaxNodeOrTokenList(SyntaxNode? node, int index) 77private static SyntaxNode? CreateNodeFromSpan(ReadOnlySpan<SyntaxNodeOrToken> nodesAndTokens) 102private static SyntaxNode? CreateNode(IEnumerable<SyntaxNodeOrToken> nodesAndTokens) 115internal SyntaxNode? Node => _node; 119internal SyntaxNode? Parent => _node?.Parent;
Syntax\SyntaxNodeOrTokenListBuilder.cs (1)
70public void Add(SyntaxNode item)
Syntax\SyntaxReference.cs (2)
31public abstract SyntaxNode GetSyntax(CancellationToken cancellationToken = default); 38public virtual Task<SyntaxNode> GetSyntaxAsync(CancellationToken cancellationToken = default)
Syntax\SyntaxToken.cs (2)
29internal SyntaxToken(SyntaxNode? parent, GreenNode? token, int position, int index) 76public SyntaxNode? Parent { get; }
Syntax\SyntaxTokenList.cs (2)
26private readonly SyntaxNode? _parent; 29internal SyntaxTokenList(SyntaxNode? parent, GreenNode? tokenOrList, int position, int index)
Syntax\SyntaxTokenList.Enumerator.cs (1)
51private readonly SyntaxNode? _parent;
Syntax\SyntaxTokenList.Reversed.cs (1)
74private readonly SyntaxNode? _parent;
Syntax\SyntaxTree.cs (10)
128public bool TryGetRoot([NotNullWhen(true)] out SyntaxNode? root) 136protected abstract bool TryGetRootCore([NotNullWhen(true)] out SyntaxNode? root); 141public SyntaxNode GetRoot(CancellationToken cancellationToken = default) 149protected abstract SyntaxNode GetRootCore(CancellationToken cancellationToken); 154public Task<SyntaxNode> GetRootAsync(CancellationToken cancellationToken = default) 163protected abstract Task<SyntaxNode> GetRootAsyncCore(CancellationToken cancellationToken); 186public abstract IEnumerable<Diagnostic> GetDiagnostics(SyntaxNode node); 358public abstract SyntaxReference GetReference(SyntaxNode node); 391public abstract SyntaxTree WithRootAndOptions(SyntaxNode root, ParseOptions options); 430var root = this.GetRoot(cancellationToken);
Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
Syntax\SyntaxTrivia.cs (2)
209public SyntaxNode? GetStructure() 214internal bool TryGetStructure([NotNullWhen(true)] out SyntaxNode? structure)
Syntax\SyntaxWalker.cs (1)
34public virtual void Visit(SyntaxNode node)
Syntax\TranslationSyntaxReference.cs (3)
34public sealed override SyntaxNode GetSyntax(CancellationToken cancellationToken = default(CancellationToken)) 36var node = Translate(_reference, cancellationToken); 41protected abstract SyntaxNode Translate(SyntaxReference reference, CancellationToken cancellationToken);
Microsoft.CodeAnalysis.Analyzers (2216)
FixAnalyzers\FixerWithFixAllAnalyzer.Fixer.cs (6)
38var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 46var classDecl = generator.GetDeclaration(token.Parent); 57private static async Task<Document> AddMethodAsync(Document document, SyntaxNode classDecl, CancellationToken cancellationToken) 72var returnStatement = generator.ReturnStatement(generator.MemberAccessExpression( 74var statements = new SyntaxNode[] { returnStatement }; 76var methodDeclaration = generator.MethodDeclaration(getFixAllProviderMethod, statements);
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (8)
27where TTypeSyntax : SyntaxNode 60protected abstract bool IsNamedTypeDeclarationBlock(SyntaxNode syntax); 195var syntax = decl.GetSyntax(cancellationToken); 198syntax = syntax.FirstAncestorOrSelf<SyntaxNode>(IsNamedTypeDeclarationBlock, ascendOutOfTrivia: false) ?? syntax; 203var nodesToProcess = new Queue<(SyntaxNode node, bool inExecutableCode)>(); 208(SyntaxNode node, bool inExecutableCode) nodeToProcess = nodesToProcess.Dequeue(); 209var node = nodeToProcess.node; 249foreach (var child in node.ChildNodes())
MetaAnalyzers\DiagnosticAnalyzerAttributeAnalyzer.cs (1)
86SyntaxNode? attributeSyntax = null;
MetaAnalyzers\DiagnosticAnalyzerCorrectnessAnalyzer.SyntaxNodeWithinAnalyzerTypeCompilationAnalyzer.cs (4)
15where TClassDeclarationSyntax : SyntaxNode 16where TStructDeclarationSyntax : SyntaxNode 17where TSyntaxNodeOfInterest : SyntaxNode 26foreach (SyntaxNode syntax in namedType.DeclaringSyntaxReferences.Select(s => s.GetSyntax(cancellationToken)))
MetaAnalyzers\DiagnosticAnalyzerFieldsAnalyzer.cs (8)
27where TClassDeclarationSyntax : SyntaxNode 28where TStructDeclarationSyntax : SyntaxNode 29where TFieldDeclarationSyntax : SyntaxNode 30where TTypeSyntax : SyntaxNode 31where TVariableTypeDeclarationSyntax : SyntaxNode 32where TTypeArgumentListSyntax : SyntaxNode 33where TGenericNameSyntax : SyntaxNode 174var current = typeSyntax.Parent;
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (2)
921static IFieldInitializerOperation? GetFieldInitializer(SyntaxNode fieldDeclaration, SemanticModel model) 929foreach (var node in fieldDeclaration.DescendantNodes())
MetaAnalyzers\Fixers\ApplyDiagnosticAnalyzerAttributeFix.cs (12)
22var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 30var classDecl = generator.GetDeclaration(token.Parent); 51protected abstract SyntaxNode ParseExpression(string expression); 53private void AddFix(string codeFixTitle, CodeFixContext context, SyntaxNode root, SyntaxNode classDecl, SyntaxGenerator generator, params string[] languages) 62private Task<Document> GetFixAsync(Document document, SyntaxNode root, SyntaxNode classDecl, SyntaxGenerator generator, params string[] languages) 65var arguments = new SyntaxNode[languages.Length]; 71var parsedExpression = ParseExpression(expressionToParse); 75var attribute = generator.Attribute(WellKnownTypeNames.MicrosoftCodeAnalysisDiagnosticsDiagnosticAnalyzerAttribute, arguments); 76var newClassDecl = generator.AddAttributes(classDecl, attribute); 77var newRoot = root.ReplaceNode(classDecl, newClassDecl);
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (22)
27protected abstract SyntaxNode CreateConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 29protected abstract SyntaxNode GetExpression(IInvocationOperation invocationOperation); 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 69var expression = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 84var expression = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 116private static async Task<Document> CallOverloadWithEqualityComparerAsync(Document document, SyntaxNode nodeToReplace, IMethodSymbol? methodSymbol, 117ImmutableArray<IArgumentOperation> arguments, bool isUsedAsExtensionMethod, Func<SyntaxGenerator, IEnumerable<SyntaxNode>, SyntaxNode> getReplacementNode, 139var replacement = getReplacementNode(generator, syntaxArguments); 200var conditionalAccessMembers = new List<SyntaxNode>(); 209var replacement = generator.InvocationExpression(GetEqualityComparerDefaultEquals(generator), arguments); 211var nodeToReplace = currentOperation.Syntax; 217private IEnumerable<SyntaxNode> GetNewInvocationArguments(IInvocationOperation invocationOperation, 218List<SyntaxNode> conditionalAccessMembers) 243var currentExpression = conditionalAccessMembers.Count > 2 259var expression = binaryOperation.Syntax; 263var replacement = CompareSymbolsCorrectlyAnalyzer.UseSymbolEqualityComparer(semanticModel.Compilation) switch 289private static SyntaxNode GetEqualityComparerDefaultEquals(SyntaxGenerator generator) 294private static SyntaxNode GetEqualityComparerDefault(SyntaxGenerator generator)
MetaAnalyzers\Fixers\ConfigureGeneratedCodeAnalysisFix.cs (9)
52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 53var analysisContextParameter = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 57var parameterDeclaration = generator.TryGetContainingDeclaration(analysisContextParameter, DeclarationKind.Parameter); 63var methodDeclaration = generator.TryGetContainingDeclaration(parameterDeclaration.Parent, DeclarationKind.Method); 70var newInvocation = generator.InvocationExpression( 82var newStatements = new SyntaxNode[] { newInvocation }.Concat(statements); 83var newMethodDeclaration = generator.WithStatements(methodDeclaration, newStatements); 87protected abstract IEnumerable<SyntaxNode> GetStatements(SyntaxNode methodDeclaration);
MetaAnalyzers\Fixers\DefineDiagnosticDescriptorArgumentsCorrectlyFix.cs (6)
41var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 42var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 106SyntaxNode root, 159private static async Task<Solution> ApplyFixAsync(Document document, SyntaxNode root, FixInfo fixInfo, CancellationToken cancellationToken) 166var newLiteral = generator.LiteralExpression(fixInfo.FixValue).WithTriviaFrom(literal.Syntax); 167var newRoot = root.ReplaceNode(literal.Syntax, newLiteral);
MetaAnalyzers\Fixers\EnableConcurrentExecutionFix.cs (9)
44var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var analysisContextParameter = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 49var parameterDeclaration = generator.TryGetContainingDeclaration(analysisContextParameter, DeclarationKind.Parameter); 55var methodDeclaration = generator.TryGetContainingDeclaration(parameterDeclaration.Parent, DeclarationKind.Method); 62var newInvocation = generator.InvocationExpression( 67var newStatements = new SyntaxNode[] { newInvocation }.Concat(statements).ToArray(); 68var newMethodDeclaration = generator.WithStatements(methodDeclaration, newStatements); 72protected abstract IEnumerable<SyntaxNode> GetStatements(SyntaxNode methodDeclaration);
MetaAnalyzers\Fixers\PreferIsKindFix.cs (4)
48protected abstract SyntaxNode? TryGetNodeToFix(SyntaxNode root, TextSpan span); 50protected abstract void FixDiagnostic(DocumentEditor editor, SyntaxNode nodeToFix); 68var nodeToFix = _fixer.TryGetNodeToFix(editor.OriginalRoot, diagnostic.Location.SourceSpan);
MetaAnalyzers\RegisterActionAnalyzer.cs (12)
29where TInvocationExpressionSyntax : SyntaxNode 30where TArgumentSyntax : SyntaxNode 230protected abstract IEnumerable<SyntaxNode>? GetArgumentExpressions(TInvocationExpressionSyntax invocation); 231protected abstract SyntaxNode GetArgumentExpression(TArgumentSyntax argument); 232protected abstract SyntaxNode GetInvocationExpression(TInvocationExpressionSyntax invocation); 233protected abstract SyntaxNode? GetInvocationReceiver(TInvocationExpressionSyntax invocation); 330IEnumerable<SyntaxNode>? arguments = GetArgumentExpressions(invocation); 355SyntaxNode invocationExpression = GetInvocationExpression(invocation); 361foreach (SyntaxNode argument in arguments.Skip(1)) 408SyntaxNode invocationExpression = GetInvocationExpression(invocation); 420SyntaxNode argumentExpression = GetArgumentExpression((TArgumentSyntax)context.Node); 464SyntaxNode? receiver = GetInvocationReceiver(invocation);
MetaAnalyzers\ReportDiagnosticAnalyzer.cs (13)
22where TClassDeclarationSyntax : SyntaxNode 23where TStructDeclarationSyntax : SyntaxNode 24where TInvocationExpressionSyntax : SyntaxNode 25where TIdentifierNameSyntax : SyntaxNode 26where TVariableDeclaratorSyntax : SyntaxNode 130protected abstract IEnumerable<SyntaxNode>? GetArgumentExpressions(TInvocationExpressionSyntax invocation); 131protected virtual SyntaxNode GetPropertyGetterBlockSyntax(SyntaxNode declaringSyntaxRefNode) 165SyntaxNode syntax = syntaxRef.GetSyntax(cancellationToken); 179private ImmutableArray<IFieldSymbol> GetReferencedDescriptorFields(SyntaxNode syntax, SemanticModel semanticModel, CancellationToken cancellationToken) 209IEnumerable<SyntaxNode>? arguments = GetArgumentExpressions(syntaxNode); 212SyntaxNode argument = arguments.First(); 219SyntaxNode? diagnosticInitializer = null;
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.cs (20)
27where TStatementSyntax : SyntaxNode 29where TVariableDeclaratorSyntax : SyntaxNode 31protected abstract bool IsMeaningfulBlock(SyntaxNode node); 32protected abstract bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock); 33protected abstract SyntaxNode GetVariableDeclaratorSymbolNode(TVariableDeclaratorSyntax variableDeclarator); 36protected abstract Task<bool> TypesAreCompatibleAsync(Document document, ILocalSymbol localSymbol, TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode right, CancellationToken cancellationToken); 38public async Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 47private async Task<State> ComputeStateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 78Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken) 84var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114var newRoot = editor.GetChangedRoot(); 151var originalNextStatement = state.OutermostBlockStatements[statementIndex + 1]; 187var blocks = state.InnermostBlock.GetAncestorsOrThis<SyntaxNode>(); 188foreach (var block in blocks) 211var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(state.VariableDeclarator); 218syntaxFacts.GetPartsOfAssignmentStatement(firstStatement, out var left, out var right); 243out var _, out var operatorToken, out var right);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.State.cs (5)
30public SyntaxNode OutermostBlock { get; private set; } 31public SyntaxNode InnermostBlock { get; private set; } 32public IReadOnlyList<SyntaxNode> OutermostBlockStatements { get; private set; } 33public IReadOnlyList<SyntaxNode> InnermostBlockStatements { get; private set; } 104var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\IMoveDeclarationNearReferenceService.cs (2)
17Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken); 24Task<Document> MoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken);
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (98)
37public abstract SyntaxNode LocalDeclarationStatement( 38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false); 43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 46public abstract SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer); 51public abstract SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer); 53public abstract SyntaxNode EqualsValueClause(SyntaxNode value); 54public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value); 58public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 60public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 62public abstract SyntaxNode RefExpression(SyntaxNode expression); 67public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true); 73public abstract SyntaxNode YieldReturnStatement(SyntaxNode expression); 78/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>. 84public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken); 85public abstract SyntaxNode Interpolation(SyntaxNode syntaxNode); 86public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken); 87public abstract SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment); 88public abstract SyntaxNode InterpolationFormatClause(string format); 89public abstract SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames); 106public abstract SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext); 108public abstract SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right); 110public abstract SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type); 119public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern); 121public abstract SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right); 122public abstract SyntaxNode ConstantPattern(SyntaxNode expression); 123public abstract SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name); 124public abstract SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression); 125public abstract SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression); 126public abstract SyntaxNode LessThanRelationalPattern(SyntaxNode expression); 127public abstract SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression); 128public abstract SyntaxNode NotPattern(SyntaxNode pattern); 129public abstract SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right); 130public abstract SyntaxNode ParenthesizedPattern(SyntaxNode pattern); 131public abstract SyntaxNode TypePattern(SyntaxNode type); 132public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern); 136public abstract SyntaxNode DefaultExpression(ITypeSymbol type); 137public abstract SyntaxNode DefaultExpression(SyntaxNode type); 139public abstract SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression); 141public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 144public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 147public abstract SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind); 149public abstract SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right); 151public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 157public abstract SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName); 158public abstract SyntaxNode IdentifierName(string identifier); 160public abstract SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression); 161public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression)
src\5f6f2f95b47c3dc6\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (6)
15internal readonly struct SemanticModelReuseInfo(SemanticModel previousNonSpeculativeSemanticModel, SemanticModel currentSemanticModel, SyntaxNode bodyNode, VersionStamp topLevelSementicVersion) 31public readonly SyntaxNode BodyNode = bodyNode; 94public async ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 100var bodyNode = reuseService.TryGetContainingMethodBodyForSpeculation(node); 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 177SyntaxNode bodyNode,
src\7a47995420f988d7\AbstractRemoveUnnecessaryImportsService.cs (3)
15IEqualityComparer<T> where T : SyntaxNode 22public abstract Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 25Document document, Func<SyntaxNode, bool> predicate, CancellationToken cancellationToken)
src\7a47995420f988d7\IRemoveUnnecessaryImportsService.cs (1)
16Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken);
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (6)
21private readonly HashSet<SyntaxNode> _seenExpressionInferType = []; 22private readonly HashSet<SyntaxNode> _seenExpressionGetType = []; 34protected abstract IEnumerable<TypeInferenceInfo> InferTypesWorker_DoNotCallDirectly(SyntaxNode expression); 35protected abstract IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode expression, bool objectAsDefault); 46public ImmutableArray<TypeInferenceInfo> InferTypes(SyntaxNode expression, bool filterUnusable = true) 60protected IEnumerable<TypeInferenceInfo> GetTypes(SyntaxNode expression, bool objectAsDefault = false)
src\ce787ef1f541c32a\IReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
30Task<SyntaxNode> ReplaceAsync(Document document, SyntaxNode memberDeclaration, CancellationToken cancellationToken);
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (23)
20where TStatementSyntax : SyntaxNode 22protected abstract bool IsFunctionDeclaration(SyntaxNode node); 24protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 26protected abstract SyntaxNode GetBody(SyntaxNode methodNode); 27protected abstract SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement); 34SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, TStatementSyntax statement); 37SyntaxNode functionDeclaration, 45var functionBody = GetBody(functionDeclaration); 79public void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement) 90var parameterDeclaration = parameterReference.GetSyntax(cancellationToken); 92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 115SyntaxNode functionDeclaration, 123var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135SyntaxNode constructorDeclaration, 159var statementToAddAfter = TryGetStatementToAddInitializationAfter(parameter, blockStatement); 164private SyntaxNode? TryGetStatementToAddInitializationAfter( 195using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var accessors); 209foreach (var accessorBody in accessors)
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (11)
32protected abstract SyntaxNode GetReferenceSyntaxNodeFromXmlCref(SyntaxNode syntaxNode); 36protected abstract IEnumerable<SyntaxNode> GetTypeSyntaxNodesFromBaseType(SyntaxNode syntaxNode); 307var node = applicationSyntaxReference.GetSyntax(cancellationToken); 325bool VerifyType(Action<Diagnostic> reportDiagnostic, ITypeSymbol? type, SyntaxNode syntaxNode) 383bool VerifyTypeArguments(Action<Diagnostic> reportDiagnostic, ITypeSymbol? type, SyntaxNode syntaxNode, out ITypeSymbol? originalDefinition) 418void VerifySymbol(Action<Diagnostic> reportDiagnostic, ISymbol symbol, SyntaxNode syntaxNode) 450void VerifyDocumentationSyntax(Action<Diagnostic> reportDiagnostic, SyntaxNode syntaxNode, SyntaxNodeAnalysisContext context) 464void VerifyBaseTypesSyntax(Action<Diagnostic> reportDiagnostic, IEnumerable<SyntaxNode> typeSyntaxNodes, SyntaxNodeAnalysisContext context) 466foreach (var typeSyntaxNode in typeSyntaxNodes)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeMetricsAnalysisContext.cs (1)
34internal SemanticModel GetSemanticModel(SyntaxNode node)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (10)
67SyntaxNode declSyntax = GetTopmostSyntaxNodeForDeclaration(decl, symbol, context); 176internal static SyntaxNode GetTopmostSyntaxNodeForDeclaration(SyntaxReference declaration, ISymbol declaredSymbol, CodeMetricsAnalysisContext context) 178var declSyntax = declaration.GetSyntax(context.CancellationToken); 200var nodesToProcess = new Queue<SyntaxNode>(); 201using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var applicableAttributeNodes); 205SyntaxNode syntax = GetTopmostSyntaxNodeForDeclaration(declaration, symbol, context); 215var parameterSyntax = parameterSyntaxRef.GetSyntax(context.CancellationToken); 231var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken); 241var node = nodesToProcess.Dequeue(); 315foreach (var child in node.ChildNodes())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
19this SyntaxNode node, 25this SyntaxNode node, 32this SyntaxNode node,
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
441var syntax = decl.GetSyntax(cancellationToken); 451foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
54private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken)
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxGeneratorExtensions.cs (56)
32/// A <see cref="SyntaxNode"/> representing the declaration. 34public static SyntaxNode DefaultOperatorEqualityDeclaration(this SyntaxGenerator generator, 37var leftArgument = generator.IdentifierName(LeftIdentifierName); 38var rightArgument = generator.IdentifierName(RightIdentifierName); 40List<SyntaxNode> statements = []; 75/// <returns>A <see cref="SyntaxNode"/> representing the type reference expression.</returns> 76public static SyntaxNode TypeExpressionForStaticMemberAccess(this SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 81var typeExpression = generator.TypeExpression(typeSymbol); 85static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 89var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 90var right = expression.ChildNodes().Last(); 108/// A <see cref="SyntaxNode"/> representing the declaration. 110public static SyntaxNode DefaultOperatorInequalityDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 112var leftArgument = generator.IdentifierName(LeftIdentifierName); 113var rightArgument = generator.IdentifierName(RightIdentifierName); 115var returnStatement = generator.ReturnStatement( 134/// A <see cref="SyntaxNode"/> representing the declaration. 136public static SyntaxNode DefaultOperatorLessThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 138var leftArgument = generator.IdentifierName(LeftIdentifierName); 139var rightArgument = generator.IdentifierName(RightIdentifierName); 141SyntaxNode expression; 172var returnStatement = generator.ReturnStatement(expression); 186/// A <see cref="SyntaxNode"/> representing the declaration. 188public static SyntaxNode DefaultOperatorLessThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 190var leftArgument = generator.IdentifierName(LeftIdentifierName); 191var rightArgument = generator.IdentifierName(RightIdentifierName); 193SyntaxNode expression; 219var returnStatement = generator.ReturnStatement(expression); 233/// A <see cref="SyntaxNode"/> representing the declaration. 235public static SyntaxNode DefaultOperatorGreaterThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 237var leftArgument = generator.IdentifierName(LeftIdentifierName); 238var rightArgument = generator.IdentifierName(RightIdentifierName); 240SyntaxNode expression; 267var returnStatement = generator.ReturnStatement(expression); 281/// A <see cref="SyntaxNode"/> representing the declaration. 283public static SyntaxNode DefaultOperatorGreaterThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 285var leftArgument = generator.IdentifierName(LeftIdentifierName); 286var rightArgument = generator.IdentifierName(RightIdentifierName); 288SyntaxNode expression; 318var returnStatement = generator.ReturnStatement(expression); 322private static SyntaxNode ComparisonOperatorDeclaration(this SyntaxGenerator generator, OperatorKind operatorKind, INamedTypeSymbol containingType, params SyntaxNode[] statements) 347/// A <see cref="SyntaxNode"/> representing the declaration. 349public static SyntaxNode DefaultEqualsOverrideDeclaration(this SyntaxGenerator generator, Compilation compilation, INamedTypeSymbol containingType) 351var argumentName = generator.IdentifierName("obj"); 353List<SyntaxNode> statements = []; 402/// A <see cref="SyntaxNode"/> representing the declaration. 404public static SyntaxNode DefaultGetHashCodeOverrideDeclaration( 425public static IEnumerable<SyntaxNode> DefaultMethodBody( 431public static SyntaxNode DefaultMethodStatement(this SyntaxGenerator generator, Compilation compilation) 438public static SyntaxNode? TryGetContainingDeclaration(this SyntaxGenerator generator, SyntaxNode? node, DeclarationKind kind) 469/// A <see cref="SyntaxNode"/> representing an unused identifier name. 472public static SyntaxNode FirstUnusedIdentifierName(this SyntaxGenerator generator, SemanticModel semanticModel, int position, string baseName, int maxTries = int.MaxValue) 474var identifierName = generator.IdentifierName(baseName);
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxNodeExtensions.cs (2)
34public static SyntaxNode WithAddImportsAnnotation(this SyntaxNode syntaxNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\ForkingSyntaxEditorBasedCodeFixProvider.cs (4)
25where TDiagnosticNode : SyntaxNode 60var originalRoot = editor.OriginalRoot; 81var currentRoot = semanticDocument.Root; 98var changedRoot = subEditor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (4)
101var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newRoot = FixAll(fixAllContext.Solution.Services, root, commonSpans); 114private SyntaxNode FixAll(SolutionServices services, SyntaxNode root, PooledHashSet<TextSpan> commonSpans)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 88var newRoot = editor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (6)
35var decl = await GetContainingMemberOrTypeDeclarationAsync(document, fixAllInContainingMember, span, cancellationToken).ConfigureAwait(false); 55var root = await syntaxRef.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 72private static async Task<SyntaxNode?> GetContainingMemberOrTypeDeclarationAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var startContainer = fixAllInContainingMember 94var endContainer = fixAllInContainingMember
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (22)
20protected abstract IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken); 22private IList<bool>? GetAvailableInsertionIndices<TDeclarationNode>(TDeclarationNode destination, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 23=> GetAvailableInsertionIndices((SyntaxNode)destination, cancellationToken); 34protected static SyntaxToken GetEndToken(SyntaxNode node) 50protected static TextSpan GetSpan(SyntaxNode node) 58public bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken) 61public bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken) 65SyntaxNode? destination, 144public SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration( 154private (SyntaxNode? declaration, IList<bool>? availableIndices) FindMostRelevantDeclaration( 166using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var ancestors); 168var fallbackDeclaration = (SyntaxNode?)null; 172ancestors.AddRange(token.GetAncestors<SyntaxNode>()); 177if (TryAddToRelatedDeclaration(declarations.Where(d => d is not ICompilationUnitSyntax), checkGeneratedCode: false, out var declaration1, out var availableIndices1) || 185if (TryAddToWorker(declarations, checkGeneratedCode: true, out var declaration2, out var availableIndices2, predicate: node => true)) 191IEnumerable<SyntaxNode> declarations, 193[NotNullWhen(true)] out SyntaxNode? declaration, 231IEnumerable<SyntaxNode> declarations, 233[NotNullWhen(true)] out SyntaxNode? declaration, 235Func<SyntaxNode, bool> predicate) 237foreach (var decl in declarations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (83)
47public TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 53public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 56public TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 59public TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 66where TDeclarationNode : SyntaxNode 69private static TNode WithAnnotations<TNode>(TNode node, CodeGenerationContextInfo info) where TNode : SyntaxNode 76public SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 82public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 85public SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 88public SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 94public TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 100public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 103public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 109public TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 112public TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 115public TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 118public TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 123protected abstract TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 125protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 126protected abstract TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 127protected abstract TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 129protected abstract TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) where TDeclarationNode : SyntaxNode; 131public abstract TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<IParameterSymbol> parameters, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 133public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 134public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 135public abstract TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138public abstract TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 139public abstract TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 140public abstract TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 142public abstract CodeGenerationDestination GetDestination(SyntaxNode node); 143public abstract SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 147public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 149public abstract SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 150public abstract SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 156protected static void CheckDeclarationNode<TDeclarationNode>(SyntaxNode destination) where TDeclarationNode : SyntaxNode 171protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2>(SyntaxNode destination) 172where TDeclarationNode1 : SyntaxNode 173where TDeclarationNode2 : SyntaxNode 190protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3>(SyntaxNode destination) 191where TDeclarationNode1 : SyntaxNode 192where TDeclarationNode2 : SyntaxNode 193where TDeclarationNode3 : SyntaxNode 211protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3, TDeclarationNode4>(SyntaxNode destination) 212where TDeclarationNode1 : SyntaxNode 213where TDeclarationNode2 : SyntaxNode 214where TDeclarationNode3 : SyntaxNode 215where TDeclarationNode4 : SyntaxNode 232Func<SyntaxNode, TCodeGenerationContextInfo, IList<bool>?, CancellationToken, SyntaxNode> declarationTransform, 247var transformedDeclaration = declarationTransform(destinationDeclaration, info, availableIndices, cancellationToken); 249var root = await destinationTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 250var currentRoot = root.ReplaceNode(destinationDeclaration, transformedDeclaration); 275where TDeclarationNode : SyntaxNode 297where TDeclarationSyntax : SyntaxNode 299var newMembers = new List<SyntaxNode>(); 304var newMember = GetNewMember(info, codeGenerationDestination, member, cancellationToken); 329where TDeclarationSyntax : SyntaxNode 342private SyntaxNode? GetNewMember(TCodeGenerationContextInfo info, CodeGenerationDestination codeGenerationDestination, ISymbol member, CancellationToken cancellationToken) 359CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 379protected abstract IComparer<SyntaxNode> GetMemberComparer(); 481protected static void CheckLocation(SyntaxNode destinationMember, [NotNull] Location? location) 500SyntaxNode attributeList, 520SyntaxNode attributeToRemove, 526var root = attributeToRemove.SyntaxTree.GetRoot(); 535where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (8)
14protected abstract SyntaxNode CreateExplicitlyCastedLiteralValue(INamedTypeSymbol enumType, SpecialType underlyingSpecialType, object constantValue); 19public SyntaxNode CreateEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 60private SyntaxNode CreateFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 70private SyntaxNode CreateFlagsEnumConstantValue( 102SyntaxNode? finalNode = null; 106var node = CreateMemberAccessExpression(field.field, enumType, underlyingSpecialType); 136private SyntaxNode CreateMemberAccessExpression( 184private SyntaxNode CreateNonFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (9)
19public static SyntaxNode? GenerateThrowStatement( 33var exceptionCreationExpression = factory.ObjectCreationExpression(exceptionType, arguments: []); 38public static TSyntaxNode? AddAnnotationsTo<TSyntaxNode>(ISymbol symbol, TSyntaxNode? syntax) where TSyntaxNode : SyntaxNode 43public static TSyntaxNode AddFormatterAndCodeGeneratorAnnotationsTo<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 172public static T RemoveLeadingDirectiveTrivia<T>(T node) where T : SyntaxNode 179where T : SyntaxNode 198where TDeclaration : SyntaxNode 303where TDeclarationSyntax : SyntaxNode 328where TDeclarationSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (18)
55SyntaxNode? initializer = null) 81bool isIndexer = false, SyntaxNode? initializer = null) 109SyntaxNode? initializer = null) 125ImmutableArray<SyntaxNode> statements = default, 126ImmutableArray<SyntaxNode> baseConstructorArguments = default, 127ImmutableArray<SyntaxNode> thisConstructorArguments = default, 140ImmutableArray<SyntaxNode> statements = default) 158ImmutableArray<SyntaxNode> statements = default, 159ImmutableArray<SyntaxNode> handlesExpressions = default, 179ImmutableArray<SyntaxNode> statements = default, 180ImmutableArray<SyntaxNode> handlesExpressions = default, 198ImmutableArray<SyntaxNode> statements = default, 224ImmutableArray<SyntaxNode> statements = default, 252ImmutableArray<SyntaxNode> statements = default, 361ImmutableArray<SyntaxNode> statements = default) 385ImmutableArray<SyntaxNode> statements) 518ImmutableArray<SyntaxNode> statements = default, 551SyntaxNode? initializer = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (27)
22SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 33SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 38SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 43SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 53TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 63TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 68TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 73TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 83TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<ISymbol> members, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 88TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 93TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 98TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 103TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 108TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 113TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 118TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 123TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 188bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken); 193bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken); 201SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration(Solution solution, INamespaceOrTypeSymbol namespaceOrType, Location? location, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorInfo.cs (15)
17private readonly ImmutableArray<SyntaxNode> _baseConstructorArguments; 18private readonly ImmutableArray<SyntaxNode> _thisConstructorArguments; 19private readonly ImmutableArray<SyntaxNode> _statements; 25ImmutableArray<SyntaxNode> statements, 26ImmutableArray<SyntaxNode> baseConstructorArguments, 27ImmutableArray<SyntaxNode> thisConstructorArguments) 42ImmutableArray<SyntaxNode> statements, 43ImmutableArray<SyntaxNode> baseConstructorArguments, 44ImmutableArray<SyntaxNode> thisConstructorArguments) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 74private static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 77private static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 80private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationConstructorInfo? info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorInfo.cs (5)
17private readonly ImmutableArray<SyntaxNode> _statements; 21ImmutableArray<SyntaxNode> statements) 30ImmutableArray<SyntaxNode> statements) 42public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 48private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationDestructorInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 57private static SyntaxNode GetInitializer(CodeGenerationFieldInfo info) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodInfo.cs (10)
20private readonly ImmutableArray<SyntaxNode> _statements; 21private readonly ImmutableArray<SyntaxNode> _handlesExpressions; 28ImmutableArray<SyntaxNode> statements, 29ImmutableArray<SyntaxNode> handlesExpressions) 45ImmutableArray<SyntaxNode> statements, 46ImmutableArray<SyntaxNode> handlesExpressions) 58public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 61public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 76private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationMethodInfo info) 79private static ImmutableArray<SyntaxNode> GetHandlesExpressions(CodeGenerationMethodInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationPropertyInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 45public static SyntaxNode GetInitializer(CodeGenerationPropertyInfo info) 48public static SyntaxNode GetInitializer(IPropertySymbol property)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
148public static ImmutableArray<SyntaxNode> DeclaringSyntaxNodes
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\AbstractRefactoringHelpersService.cs (25)
15where TExpressionSyntax : SyntaxNode 16where TArgumentSyntax : SyntaxNode 17where TExpressionStatementSyntax : SyntaxNode 21public bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 24public void AddRelevantNodes<TSyntaxNode>(SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 27public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 30public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 33public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 36public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 39public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 42public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 45public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 48public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 51public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringContextExtensions.cs (12)
41public static Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 44public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNode) where TSyntaxNode : SyntaxNode 50public static Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 53public static async Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNodes) where TSyntaxNode : SyntaxNode 59public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 65public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 68public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, bool allowEmptyNode, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 76this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 82this Document document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 89this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 93this ParsedDocument document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 102this ParsedDocument document, TextSpan span, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (3)
38public static bool IsNodeUnderselected(SyntaxNode? node, TextSpan selection) 81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\IRefactoringHelpersService.cs (1)
20this IRefactoringHelpersService service, ParsedDocument document, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\AddParameterEditor.cs (10)
20SyntaxNode declaration, 22SyntaxNode parameterDeclaration, 54var firstParameter = existingParameters[0]; 66var nextParameter = existingParameters[insertionIndex]; 91var nextParameter = existingParameters[insertionIndex]; 108var nextParameter = existingParameters[insertionIndex]; 122ISyntaxFacts syntaxFacts, SyntaxNode node, bool includeLeadingNewLine) 152IReadOnlyList<SyntaxNode> parameters, CancellationToken cancellationToken) 162var lastParameter = parameters[i - 1]; 163var thisParameter = parameters[i];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (23)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length); 73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 77SyntaxNode container, 95SyntaxNode container, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 111IEnumerable<SyntaxNode> syntaxNodes, 117using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var importsToAdd); 118using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToSimplify); 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 139var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 159var first = root.DescendantNodesAndSelf().First(x => x.HasAnnotation(annotation)); 160var last = root.DescendantNodesAndSelf().Last(x => x.HasAnnotation(annotation)); 162var context = first.GetCommonRoot(last); 172IEnumerable<SyntaxNode> annotatedNodes, 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 180var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188SyntaxNode? first = null, last = null; 190foreach (var annotatedNode in annotatedNodes) 218var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 233var context = first.GetCommonRoot(last); 236var importContainer = addImportsService.GetImportContainer(root, context, importToSyntax.First().Value, options); 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (5)
74public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 76if (document.TryGetSyntaxRoot(out var root)) 146var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span)); 167public static ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (5)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 30SyntaxNode expression, 56SyntaxNode expression, 68SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\StringBuilderExtensions.cs (1)
22where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxEditorExtensions.cs (29)
31Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 32CancellationToken cancellationToken) where TNode : SyntaxNode 54Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 55CancellationToken cancellationToken) where TNode : SyntaxNode 76Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 77CancellationToken cancellationToken) where TNode : SyntaxNode 98Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 99CancellationToken cancellationToken) where TNode : SyntaxNode 120Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 121CancellationToken cancellationToken) where TNode : SyntaxNode 154Func<ISyntaxFactsService, SyntaxNode, SyntaxNode> getSemanticBoundary, 156Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 157CancellationToken cancellationToken) where TNode : SyntaxNode 170var originalRoot = editor.OriginalRoot; 173var currentRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var replacementRoot = updateRoot(semanticModel, currentRoot, instance, currentNode); 195private static SyntaxNode GetExpressionSemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 202return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>( 210private static SyntaxNode GetMethodBodySemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 212return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (22)
48public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56ImmutableArray<SyntaxNode> statements) 120private static ImmutableArray<SyntaxNode> CreateEqualsMethodStatements( 135using var statements = TemporaryArray<SyntaxNode>.Empty; 144var localNameExpression = factory.IdentifierName(localName); 145var objNameExpression = factory.IdentifierName(ObjName); 149using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 178var ifStatement = factory.IfStatement( 189var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 201var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 240ImmutableArray<ISymbol> members, SyntaxNode localNameExpression, 241ArrayBuilder<SyntaxNode> expressions) 251var symbolNameExpression = factory.IdentifierName(member.Name); 252var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(), symbolNameExpression) 254var otherSymbol = factory.MemberAccessExpression(localNameExpression, symbolNameExpression); 291private static ImmutableArray<SyntaxNode> CreateIEquatableEqualsMethodStatements( 299var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 301var otherNameExpression = factory.IdentifierName(OtherName); 305using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 343SyntaxGenerator factory, SyntaxGeneratorInternal generatorInternal, Compilation compilation, ParseOptions parseOptions, SyntaxNode otherNameExpression, ArrayBuilder<SyntaxNode> expressions) 345var nullLiteral = factory.NullLiteralExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (20)
17public static ImmutableArray<SyntaxNode> GetGetHashCodeComponents( 25var result = ArrayBuilder<SyntaxNode>.GetInstance(); 41public static ImmutableArray<SyntaxNode> CreateGetHashCodeStatementsUsingSystemHashCode( 43INamedTypeSymbol hashCodeType, ImmutableArray<SyntaxNode> memberReferences) 47var statement = factory.ReturnStatement( 55var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 59var localReference = factory.IdentifierName(hashName); 60foreach (var member in memberReferences) 79public static ImmutableArray<SyntaxNode> CreateGetHashCodeMethodStatements( 128var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 139var hashCodeNameExpression = factory.IdentifierName(HashCodeName); 142var permuteValue = CreateLiteralExpression(factory, hashFactor); 143foreach (var component in components) 146var rightSide = 178private static SyntaxNode SimpleLocalDeclarationStatement( 180string name, SyntaxNode initializer) 187private static SyntaxNode CreateLiteralExpression(SyntaxGenerator factory, int value) 217private static SyntaxNode GetMemberForGetHashCode( 224var getHashCodeNameExpression = factory.IdentifierName(GetHashCodeName); 225var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (58)
33public static SyntaxNode Negate( 36SyntaxNode expression, 43public static SyntaxNode Negate( 46SyntaxNode expressionOrPattern, 54public static SyntaxNode Negate( 57SyntaxNode expressionOrPattern, 114syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 124syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 136private static SyntaxNode GetNegationOfBinaryExpression( 137SyntaxNode expressionNode, 144syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand); 172var newBinaryExpressionSyntax = negatedKind is BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals 190SyntaxNode innerPattern; 199var typeExpression = generatorInternal.Type(isTypeOperation.TypeOperand, typeContext: false); 228private static SyntaxNode GetNegationOfBinaryPattern( 229SyntaxNode pattern, 241syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right); 243var newLeft = generator.Negate(generatorInternal, left, semanticModel, cancellationToken); 244var newRight = generator.Negate(generatorInternal, right, semanticModel, cancellationToken); 246var newPattern = 258private static SyntaxNode GetNegationOfIsPatternExpression(SyntaxNode isExpression, SyntaxGenerator generator, SyntaxGeneratorInternal generatorInternal, SemanticModel semanticModel, CancellationToken cancellationToken) 263syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern); 265SyntaxNode? negatedPattern = null; 287var type = syntaxFacts.GetTypeOfTypePattern(negatedPattern); 300private static SyntaxNode GetNegationOfRelationalPattern( 301SyntaxNode expressionNode, 312syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression); 327private static bool IsLegalPattern(ISyntaxFacts syntaxFacts, SyntaxNode pattern, bool designatorsLegal) 332syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out _, out var right); 342syntaxFacts.GetPartsOfUnaryPattern(pattern, out _, out var subPattern); 354syntaxFacts.GetPartsOfParenthesizedPattern(pattern, out _, out var subPattern, out _); 360syntaxFacts.GetPartsOfDeclarationPattern(pattern, out _, out var designator); 366syntaxFacts.GetPartsOfRecursivePattern(pattern, out _, out _, out _, out var designator); 376private static SyntaxNode NegateRelational( 379SyntaxNode leftOperand, 381SyntaxNode rightOperand) 467private static SyntaxNode GetNegationOfLiteralExpression( 468SyntaxNode expression, 476SyntaxNode newLiteralExpression; 497private static SyntaxNode GetNegationOfConstantPattern( 498SyntaxNode pattern, 510var expression = syntaxFacts.GetExpressionOfConstantPattern(pattern); 522private static SyntaxNode GetNegationOfLogicalNotExpression( 523SyntaxNode expression, 527var operand = syntaxFacts.GetOperandOfPrefixUnaryExpression(expression); 533private static SyntaxNode GetNegationOfUnaryPattern( 534SyntaxNode pattern, 550private static SyntaxNode GetNegationOfNotPattern( 551SyntaxNode pattern, 558syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern); 564var type = syntaxFacts.GetTypeOfTypePattern(subPattern);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (47)
23public static SyntaxNode CreateThrowNotImplementedStatement( 30public static SyntaxNode CreateThrowNotImplementedExpression( 37private static SyntaxNode CreateNewNotImplementedException(SyntaxGenerator codeDefinitionFactory, Compilation compilation) 39var notImplementedExceptionTypeSyntax = compilation.NotImplementedExceptionType() is INamedTypeSymbol symbol 48public static ImmutableArray<SyntaxNode> CreateThrowNotImplementedStatementBlock( 52public static ImmutableArray<SyntaxNode> CreateArguments( 59private static SyntaxNode CreateArgument( 66public static SyntaxNode GetDefaultEqualityComparer( 73var typeExpression = equalityComparerType == null 88public static SyntaxNode IsPatternExpression(this SyntaxGeneratorInternal generator, SyntaxNode expression, SyntaxNode pattern) 94public static SyntaxNode GenerateDelegateThroughMemberStatement( 97var through = generator.MemberAccessExpression( 103var invocationExpression = generator.InvocationExpression(through, generator.CreateArguments(method.Parameters)); 109public static SyntaxNode CreateDelegateThroughExpression( 112var name = generator.IdentifierName(throughMember.Name); 113var through = throughMember.IsStatic 159var explicitImplementationCast = generator.CastExpression( 174static SyntaxNode GenerateContainerName(SyntaxGenerator factory, ISymbol throughMember) 183public static ImmutableArray<SyntaxNode> GetGetAccessorStatements( 193var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 194var expression = property.IsIndexer 222public static ImmutableArray<SyntaxNode> GetSetAccessorStatements( 232var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 233var expression = property.IsIndexer 335public static ImmutableArray<SyntaxNode> CreateAssignmentStatements( 345using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 346using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 358var assignExpression = factory.AssignmentStatement( 361var statement = factory.ExpressionStatement(assignExpression); 371var fieldAccess = factory.MemberAccessExpression(factory.ThisExpression(), factory.IdentifierName(fieldName)) 391SyntaxNode fieldAccess, 394ArrayBuilder<SyntaxNode> nullCheckStatements, 395ArrayBuilder<SyntaxNode> assignStatements) 426public static SyntaxNode CreateAssignWithNullCheckStatement( 427this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter, SyntaxNode fieldAccess) 436public static SyntaxNode CreateThrowArgumentNullExpression(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 439private static SyntaxNode CreateNewArgumentNullException(SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 448public static SyntaxNode CreateNullCheckAndThrowStatement( 454var condition = factory.CreateNullCheckExpression(generatorInternal, semanticModel, parameter.Name); 455var throwStatement = factory.CreateThrowArgumentNullExceptionStatement(semanticModel.Compilation, parameter); 460public static SyntaxNode CreateNullCheckExpression( 463var identifier = factory.IdentifierName(identifierName); 464var nullExpr = factory.NullLiteralExpression(); 465var condition = generatorInternal.SupportsPatterns(semanticModel.SyntaxTree.Options) 471public static SyntaxNode CreateThrowArgumentNullExceptionStatement(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\FormatterShared.cs (6)
26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30public SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 33public SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 36public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\AbstractIndentationService.cs (1)
14where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\IIndentationService.cs (1)
52var newRoot = document.Root.ReplaceToken(token, newToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AbstractAddImportsService.cs (65)
19where TCompilationUnitSyntax : SyntaxNode 20where TNamespaceDeclarationSyntax : SyntaxNode 21where TUsingOrAliasSyntax : SyntaxNode 22where TExternSyntax : SyntaxNode 25protected abstract SyntaxNode? GetAlias(TUsingOrAliasSyntax usingOrAlias); 26protected abstract ImmutableArray<SyntaxNode> GetGlobalImports(SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken); 27protected abstract SyntaxList<TUsingOrAliasSyntax> GetUsingsAndAliases(SyntaxNode node); 28protected abstract SyntaxList<TExternSyntax> GetExterns(SyntaxNode node); 43private bool HasAliases(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsAlias); 44private bool HasUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsSimpleUsing); 45private bool HasStaticUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsStaticUsing); 46private bool HasExterns(SyntaxNode node) => GetExterns(node).Any(); 47private bool HasAnyImports(SyntaxNode node) => GetUsingsAndAliases(node).Any() || GetExterns(node).Any(); 51SyntaxNode root, 52SyntaxNode? contextLocation, 53SyntaxNode import, 62private static ImmutableArray<SyntaxNode> GetAllContainers(SyntaxNode root, SyntaxNode? contextLocation) 66var applicableContainer = GetFirstApplicableContainer(contextLocation); 67return [.. applicableContainer.GetAncestorsOrThis<SyntaxNode>()]; 71SyntaxNode import, ImmutableArray<SyntaxNode> containers, ImmutableArray<SyntaxNode> globalImports) 73foreach (var node in containers) 86foreach (var node in globalImports) 97protected abstract bool IsEquivalentImport(SyntaxNode a, SyntaxNode b); 99public SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options) 103out var externContainer, out var usingContainer, out var staticUsingContainer, out var aliasContainer); 126public SyntaxNode AddImports( 128SyntaxNode root, 129SyntaxNode? contextLocation, 130IEnumerable<SyntaxNode> newImports, 147out var externContainer, out var usingContainer, out var aliasContainer, out var staticUsingContainer); 149var newRoot = Rewrite( 157protected abstract SyntaxNode Rewrite( 159SyntaxNode externContainer, SyntaxNode usingContainer, SyntaxNode staticUsingContainer, SyntaxNode aliasContainer, 160AddImportPlacementOptions options, SyntaxNode root, CancellationToken cancellationToken); 162private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, AddImportPlacementOptions options, out SyntaxNode externContainer, out SyntaxNode usingContainer, out SyntaxNode staticUsingContainer, out SyntaxNode aliasContainer) 164var applicableContainer = GetFirstApplicableContainer(contextLocation); 165var contextSpine = applicableContainer.GetAncestorsOrThis<SyntaxNode>().ToImmutableArray(); 170var fallbackNode = contextSpine.FirstOrDefault(HasAnyImports); 190private static SyntaxNode? GetFirstApplicableContainer(SyntaxNode contextNode) 194var node = usingDirective != null ? usingDirective.Parent! : contextNode; 196(SyntaxNode?)node.GetAncestorOrThis<TCompilationUnitSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AddImportHelpers.cs (2)
20where TRootSyntax : SyntaxNode 21where TImportDirectiveSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\IAddImportsService.cs (15)
23SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 24SyntaxNode import, SyntaxGenerator generator, CancellationToken cancellationToken); 30SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options); 32SyntaxNode AddImports( 33SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 34IEnumerable<SyntaxNode> newImports, SyntaxGenerator generator, AddImportPlacementOptions options, CancellationToken cancellationToken); 39public static SyntaxNode AddImport( 40this IAddImportsService service, SemanticModel semanticModel, SyntaxNode root, 41SyntaxNode contextLocation, SyntaxNode newImport, SyntaxGenerator generator, AddImportPlacementOptions options,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\IInitializeParameterService.cs (4)
19SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement); 25SyntaxNode functionDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (37)
40SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 48SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 56SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 64SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 73SyntaxNode location, 74SyntaxNode? containerOpt, 82var container = containerOpt ?? location.AncestorsAndSelf().FirstOrDefault( 96protected virtual IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 180public bool IsWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 183public bool IsOnlyWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 186public bool IsInOutContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 189public bool IsInRefContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 192public bool IsInInContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 195public bool CanReplaceWithRValue(SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken) 204public bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel) 210public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement) 213public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 216public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 219public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 222public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 228public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 231public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 234public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 237public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 240public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 243public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 246public bool IsInsideNameOfExpression(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 252public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol? expressionTypeOpt, CancellationToken cancellationToken) 255public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 258public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 264public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\ISemanticFactsService.cs (11)
27SemanticModel semanticModel, SyntaxNode location, 28SyntaxNode? container, string baseName, CancellationToken cancellationToken); 31SemanticModel semanticModel, SyntaxNode location, 32SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 34SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, string baseName, 38SemanticModel semanticModel, SyntaxNode location, 39SyntaxNode? container, string baseName, CancellationToken cancellationToken); 42SemanticModel semanticModel, SyntaxNode location, 43SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 47IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxFactsService\ISyntaxFactsService.cs (4)
18Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree syntaxTree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken); 26SyntaxNode root, TContextNode contextNode, 27out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.cs (2)
91SemanticModel semanticModel, SyntaxNode expression, 110SemanticModel semanticModel, SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (2)
27ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken); 31ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (20)
22where TMemberDeclarationSyntax : SyntaxNode 24where TAccessorDeclarationSyntax : SyntaxNode 32public abstract SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 34protected abstract SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode); 49public async Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken) 66var previousRoot = await previousSemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67var currentRoot = await currentBodyNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 68var previousBodyNode = GetPreviousBodyNode(previousRoot, currentRoot, currentBodyNode); 90protected SyntaxNode? GetPreviousBodyNode(SyntaxNode previousRoot, SyntaxNode currentRoot, SyntaxNode currentBodyNode) 98var previousContainer = GetPreviousBodyNode(previousRoot, currentRoot, currentContainer); 124var previousNode = previousRoot; 136var childAsNode = children[childIndex].AsNode(); 150private static void GetNodeChildIndexPathToRootReversed(SyntaxNode node, ArrayBuilder<int> path) 152var current = node; 153var parent = current.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseLanguageService.cs (3)
22SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 36Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseWorkspaceService.cs (2)
19/// Don't call this directly. use <see cref="DocumentExtensions.ReuseExistingSpeculativeModelAsync(Document, SyntaxNode, CancellationToken)"/> (or an overload). 21ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (30)
30where TCompilationUnitSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 33where TCrefSyntax : SyntaxNode 35protected static readonly Func<SyntaxNode, bool> s_containsAnnotations = n => n.ContainsAnnotations; 40protected abstract ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans); 41protected abstract SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode); 42protected abstract bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node); 43protected abstract void AddImportDeclarations(TCompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations); 48protected virtual SyntaxNode TransformReducedNode(SyntaxNode reducedNode, SyntaxNode originalNode) 51public abstract SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken); 52public abstract SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken); 115var reducedNodesMap = new ConcurrentDictionary<SyntaxNode, SyntaxNode>(); 152SyntaxNode root, 156ConcurrentDictionary<SyntaxNode, SyntaxNode> reducedNodesMap, 218var replacedParent = isNode 232var currentNode = currentNodeOrToken.AsNode()!; 237var newRoot = root.ReplaceNode(nodeOrToken.AsNode()!, currentNode.WithAdditionalAnnotations(marker)); 285using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var importDeclarations); 300var root = await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 302var unusedImports = new HashSet<SyntaxNode>(); 311var newRoot = gen.RemoveNodes(root, unusedImports); 320protected abstract void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\ISimplificationService.cs (4)
16SyntaxNode Expand( 17SyntaxNode node, 20Func<SyntaxNode, bool>? expandInsideNode, 27Func<SyntaxNode, bool>? expandInsideNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\SimplificationHelpers.cs (4)
17public static TNode CopyAnnotations<TNode>(SyntaxNode from, TNode to) where TNode : SyntaxNode 63public static ISymbol? GetOriginalSymbolInfo(SemanticModel semanticModel, SyntaxNode expression) 99public static bool IsNamespaceOrTypeOrThisParameter(SyntaxNode expression, SemanticModel semanticModel)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
18where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractSimplifier.cs (2)
12where TSyntax : SyntaxNode 13where TSimplifiedSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (2)
26SyntaxNode declarationSyntax, 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (4)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices) 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 49var root = SyntaxTree.WithChangedText(text).GetRoot(cancellationToken); 53public ParsedDocument WithChangedRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SemanticDocument.cs (3)
13internal sealed class SemanticDocument(Document document, SourceText text, SyntaxNode root, SemanticModel semanticModel) 21var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26public new async ValueTask<SemanticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SyntacticDocument.cs (4)
16public readonly SyntaxNode Root; 18protected SyntacticDocument(Document document, SourceText text, SyntaxNode root) 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 35public ValueTask<SyntacticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.AnalyzerUtilities (1177)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
128SyntaxNode parameterSyntaxNode;
src\683181b2796de991\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (6)
28private readonly ImmutableDictionary<IParameterSymbol, SyntaxNode>.Builder? _hazardousParameterUsageBuilder; 39_hazardousParameterUsageBuilder = ImmutableDictionary.CreateBuilder<IParameterSymbol, SyntaxNode>(); 45public ImmutableDictionary<IParameterSymbol, SyntaxNode> HazardousParameterUsages 187private void HandleHazardousOperation(SyntaxNode syntaxNode, IEnumerable<AbstractLocation> nonValidatedLocations) 196if (!_hazardousParameterUsageBuilder.TryGetValue(parameter, out var currentSyntaxNode) || 371var syntaxNode = kvp.Value;
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (2)
595SyntaxNode operationSyntax, 617SyntaxNode operationSyntax,
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeMetricsAnalysisContext.cs (1)
34internal SemanticModel GetSemanticModel(SyntaxNode node)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (10)
67SyntaxNode declSyntax = GetTopmostSyntaxNodeForDeclaration(decl, symbol, context); 176internal static SyntaxNode GetTopmostSyntaxNodeForDeclaration(SyntaxReference declaration, ISymbol declaredSymbol, CodeMetricsAnalysisContext context) 178var declSyntax = declaration.GetSyntax(context.CancellationToken); 200var nodesToProcess = new Queue<SyntaxNode>(); 201using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var applicableAttributeNodes); 205SyntaxNode syntax = GetTopmostSyntaxNodeForDeclaration(declaration, symbol, context); 215var parameterSyntax = parameterSyntaxRef.GetSyntax(context.CancellationToken); 231var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken); 241var node = nodesToProcess.Dequeue(); 315foreach (var child in node.ChildNodes())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
19this SyntaxNode node, 25this SyntaxNode node, 32this SyntaxNode node,
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
441var syntax = decl.GetSyntax(cancellationToken); 451foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
54private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.cs (4)
30public static ImmutableDictionary<IParameterSymbol, SyntaxNode> GetOrComputeHazardousParameterUsages( 46return ImmutableDictionary<IParameterSymbol, SyntaxNode>.Empty; 58private static ImmutableDictionary<IParameterSymbol, SyntaxNode> GetOrComputeHazardousParameterUsages( 82return ImmutableDictionary<IParameterSymbol, SyntaxNode>.Empty;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysisResult.cs (2)
16ImmutableDictionary<IParameterSymbol, SyntaxNode> hazardousParameterUsages) 22public ImmutableDictionary<IParameterSymbol, SyntaxNode> HazardousParameterUsages { get; }
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SymbolAccess.cs (1)
17public SymbolAccess(ISymbol symbol, SyntaxNode syntaxNode, ISymbol accessingMethod)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAbstractValue.cs (1)
58internal static TaintedDataAbstractValue CreateTainted(ISymbol taintedSymbol, SyntaxNode accessingSyntax, ISymbol accessingMethod)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (6)
127public SyntaxNode? TryGetNodeToReportDiagnostic(PointsToAnalysisResult? pointsToAnalysisResult) 136var syntaxNode = TryGetSyntaxNodeToReportDiagnostic(creation, pointsToAnalysisResult); 154SyntaxNode? TryGetSyntaxNodeToReportDiagnostic(IOperation creation, PointsToAnalysisResult pointsToAnalysisResult) 168var syntaxNode = TryGetSyntaxNodeToReportDiagnosticCore(argument); 177SyntaxNode? TryGetSyntaxNodeToReportDiagnosticCore(IOperation operation) 182SyntaxNode? TryGetSyntaxNodeToReportDiagnosticForPointsValue(PointsToAbstractValue pointsToValue, IOperation operation)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntity.cs (2)
41SyntaxNode? instanceReferenceOperationSyntax, 198public SyntaxNode? InstanceReferenceOperationSyntax { get; }
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (1)
123public TAbstractAnalysisValue this[OperationKind operationKind, SyntaxNode syntax]
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
Microsoft.CodeAnalysis.CodeStyle (1453)
src\4f5ad909b1ed0e10\AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (12)
24where TExpressionSyntax : SyntaxNode 64conditionalExpression, out var conditionNode, out var whenTrueNodeHigh, out var whenFalseNodeHigh); 67var whenTrueNodeLow = syntaxFacts.WalkDownParentheses(whenTrueNodeHigh); 68var whenFalseNodeLow = syntaxFacts.WalkDownParentheses(whenFalseNodeHigh); 80syntaxFacts.GetPartsOfMemberAccessExpression(conditionMemberAccess, out var conditionExpression, out var conditionSimpleName); 86var whenPartToCheck = notHasValueExpression ? whenFalseNodeLow : whenTrueNodeLow; 90syntaxFacts.GetPartsOfMemberAccessExpression(whenPartMemberAccess, out var whenPartExpression, out var whenPartSimpleName); 118var whenPartToKeep = notHasValueExpression ? whenTrueNodeHigh : whenFalseNodeHigh;
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
126var root = firstBlock.Syntax.SyntaxTree.GetRoot(context.CancellationToken); 128var memberDecl = symbolStartAnalyzer._compilationAnalyzer.SyntaxFacts.GetContainingMemberDeclaration(root, spanStart, useFullSpan: false);
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (2)
80var syntax = syntaxRef.GetSyntax(cancellationToken); 263var methodSyntax = method.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax(cancellationToken);
src\f2477eb0f086ba59\AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
19where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\AbstractAddAccessibilityModifiers.cs (2)
11where TMemberDeclarationSyntax : SyntaxNode 15SyntaxNode member,
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs (2)
19where TCompilationUnitSyntax : SyntaxNode 58SyntaxNode member)
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\IAddAccessibilityModifiersService.cs (1)
19SyntaxNode member,
src\roslyn\src\Analyzers\Core\Analyzers\AddRequiredParentheses\AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs (1)
21where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\ConvertTypeofToNameof\AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (2)
34var node = context.Operation.Syntax; 35var parent = node.Parent;
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderDiagnosticAnalyzer.cs (1)
49var root = tree.GetRoot(context.CancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderHelper.cs (1)
33public FileHeader ParseFileHeader(SyntaxNode root)
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
23where TForEachStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\Formatting\AbstractFormattingAnalyzer.cs (1)
50var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
25where TThisExpression : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\MatchFolderAndNamespace\AbstractMatchFolderAndNamespaceDiagnosticAnalyzer.cs (4)
23where TNamespaceSyntax : SyntaxNode 86var nameSyntax = GetSyntaxFacts().GetNameOfBaseNamespaceDeclaration(namespaceDecl); 102var root = namespaceDeclaration.SyntaxTree.GetRoot(cancellationToken); 184foreach (var typeDecl in typeDeclarations)
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (7)
16where TExecutableStatementSyntax : SyntaxNode 30protected abstract bool IsBlockLikeStatement(SyntaxNode node); 31protected abstract Location GetDiagnosticLocation(SyntaxNode block); 49using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 52while (stack.TryPop(out var node)) 67if (child.AsNode(out var childNode)) 73private void ProcessBlockLikeStatement(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, SyntaxNode block)
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 61if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\Core\Analyzers\OrderModifiers\AbstractOrderModifiersDiagnosticAnalyzer.cs (3)
51var analysisRoot = context.GetAnalysisRoot(findInTrivia: false); 64SyntaxNode root); 70SyntaxNode memberDeclaration)
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchDiagnosticAnalyzer.cs (1)
21where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs (1)
15where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchStatementDiagnosticAnalyzer.cs (1)
15where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18where TExpressionSyntax : SyntaxNode 42protected abstract bool CanMemberAccessBeQualified(ISymbol containingSymbol, SyntaxNode node);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
34var syntax = context.Operation.Syntax; 56var syntax = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryCast\AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs (1)
18where TCastExpression : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (9)
20where TSyntaxNode : SyntaxNode 70protected abstract ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<TSyntaxNode> unnecessaryImports); 74protected abstract SyntaxToken? TryGetLastToken(SyntaxNode node); 146private IEnumerable<TextSpan> GetContiguousSpans(ImmutableArray<SyntaxNode> nodes) 149(SyntaxNode node, TextSpan textSpan)? previous = null; 152foreach (var node in nodes.OrderBy(n => n.SpanStart)) 184int GetEnd(SyntaxNode node) 214IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken); 217IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (2)
22where TParenthesizedExpressionSyntax : SyntaxNode 74var child = syntaxFacts.GetExpressionOfParenthesizedExpression(parenthesizedExpression);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs (1)
73public void AnalyzeAssemblyOrModuleAttribute(SyntaxNode attributeSyntax, SemanticModel model, Action<Diagnostic> reportDiagnostic, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (23)
49protected abstract bool ContainsPragmaDirective(SyntaxNode root); 127var root = tree.GetRoot(cancellationToken); 166using var _5 = PooledDictionary<string, List<SyntaxNode>>.GetInstance(out var idToSuppressMessageAttributesMap); 167using var _6 = PooledDictionary<SyntaxNode, bool>.GetInstance(out var suppressMessageAttributesToIsUsedMap); 210foreach (var attributeNode in attributeNodes) 226SyntaxNode root, 251foreach (var errorCodeNode in errorCodeNodes) 297SyntaxNode idNode, 391SyntaxNode root, 512PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 513PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 586PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 587PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 596var attributeNode = await attribute.ApplicationSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 597foreach (var node in suppressMessageAttributesForId) 611PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 663PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 733SyntaxNode root, 736PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 737PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 749using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(discardLargeInstances: false, out var declarationNodes); 755foreach (var node in declarationNodes) 819var attributeNode = await attribute.ApplicationSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\SuppressMessageAttributeState.cs (1)
43SyntaxNode attributeSyntax,
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (12)
31where TDocumentationCommentTriviaSyntax : SyntaxNode 32where TIdentifierNameSyntax : SyntaxNode 34where TMemberDeclarationSyntax : SyntaxNode 68protected abstract SyntaxNode GetParentIfSoleDeclarator(SyntaxNode declaration); 495var parameterSyntax = reference.GetSyntax(cancellationToken); 496var equalsValueSyntax = syntaxFacts.GetDefaultOfParameter(parameterSyntax); 501var valueSyntax = syntaxFacts.GetValueOfEqualsValueClause(equalsValueSyntax); 513SyntaxNode valueSyntax, 518foreach (var node in valueSyntax.DescendantNodesAndSelf()) 703var fadingNode = fadingLocation?.GetSyntax(cancellationToken) ?? diagnosticLocation.FindNode(cancellationToken); 856SyntaxNode memberDeclaration, ArrayBuilder<TDocumentationCommentTriviaSyntax> documentationComments)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (2)
111protected abstract bool IsIfConditionalDirective(SyntaxNode node); 112protected abstract bool ReturnsThrow([NotNullWhen(true)] SyntaxNode? node);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyBooleanExpression\AbstractSimplifyConditionalDiagnosticAnalyzer.cs (4)
22where TExpressionSyntax : SyntaxNode 76conditionalExpression, out var conditionNode, out var whenTrueNode, out var whenFalseNode);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (2)
22where TInterpolationSyntax : SyntaxNode 23where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
24where TInterpolationSyntax : SyntaxNode 25where TExpressionSyntax : SyntaxNode 29protected abstract SyntaxNode GetPreservedInterpolationExpressionSyntax(IOperation operation); 289var alignmentSyntax = alignmentOp.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
28where TExpressionSyntax : SyntaxNode 210SyntaxFacts.GetExpressionOfMemberAccessExpression(memberAccess) is not SyntaxNode expression) 223var memberName = SyntaxFacts.GetNameOfMemberAccessExpression(memberAccess);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyTypeNames\SimplifyTypeNamesDiagnosticAnalyzerBase.cs (8)
64internal abstract bool IsCandidate(SyntaxNode node); 66SemanticModel model, SyntaxNode node, TSimplifierOptions options, 96protected abstract bool IsIgnoredCodeBlock(SyntaxNode codeBlock); 97protected abstract ImmutableArray<Diagnostic> AnalyzeCodeBlock(CodeBlockAnalysisContext context, SyntaxNode root); 98protected abstract ImmutableArray<Diagnostic> AnalyzeSemanticModel(SemanticModelAnalysisContext context, SyntaxNode root, TextSpanMutableIntervalTree? codeBlockIntervalTree); 100public bool TrySimplify(SemanticModel model, SyntaxNode node, [NotNullWhen(true)] out Diagnostic? diagnostic, TSimplifierOptions options, AnalyzerOptions analyzerOptions, CancellationToken cancellationToken) 223var root = context.GetAnalysisRoot(findInTrivia: true); 279var root = context.GetAnalysisRoot(findInTrivia: true);
src\roslyn\src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (27)
38where TPropertyDeclaration : SyntaxNode 39where TConstructorDeclaration : SyntaxNode 40where TFieldDeclaration : SyntaxNode 41where TVariableDeclarator : SyntaxNode 42where TExpression : SyntaxNode 49private static readonly ObjectPool<ConcurrentSet<SyntaxNode>> s_nodeSetPool = new(() => []); 51private static readonly ObjectPool<ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>>> s_fieldToUsageLocationPool = new(() => []); 58protected static void AddFieldUsage(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, IFieldSymbol field, SyntaxNode location) 61private static void ClearAndFree(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> multiMap) 89protected abstract SyntaxNode GetFieldNode(TFieldDeclaration fieldDeclaration, TVariableDeclarator variableDeclarator); 94HashSet<string> fieldNames, ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, SemanticModel semanticModel, SyntaxNode codeBlock, CancellationToken cancellationToken); 202var analysisRoot = context.GetAnalysisRoot(findInTrivia: false); 203foreach (var node in analysisRoot.DescendantNodes()) 212if (!shouldAnalyze && analysisRoot.FirstAncestorOrSelf<SyntaxNode>(node => node is TPropertyDeclaration or TFieldDeclaration) == null) 222ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 223ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 225SyntaxNode codeBlock, 538ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 539ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 540ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 625static bool NotWithinProperty(IEnumerable<SyntaxNode> nodes, TPropertyDeclaration propertyDeclaration) 627foreach (var node in nodes) 636static IEnumerable<SyntaxNode> NonConstructorLocations(IEnumerable<SyntaxNode> nodes) 643var fieldNode = GetFieldNode(result.FieldDeclaration, variableDeclarator);
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer.cs (14)
25where TExpressionSyntax : SyntaxNode 26where TStatementSyntax : SyntaxNode 27where TVariableDeclarator : SyntaxNode 37protected abstract SyntaxNode GetDeclarationNode(TVariableDeclarator declarator); 80var thrownExpression = syntaxFacts.GetExpressionOfThrowStatement(whenTrueStatement); 175var equalsValue = syntaxFacts.GetInitializerOfVariableDeclarator(declarator); 191if (!IsLegalWhenTrueStatementForAssignment(out var whenPartToAnalyze)) 197foreach (var identifier in whenPartToAnalyze.DescendantNodesAndSelf()) 210bool IsLegalWhenTrueStatementForAssignment([NotNullWhen(true)] out SyntaxNode? whenPartToAnalyze) 229syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var left, out var right); 252syntaxFacts.GetPartsOfAssignmentStatement(assignmentStatement, out var topAssignmentLeft, out var topAssignmentRight); 275syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var innerAssignmentLeft, out _);
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (12)
21where TExpressionSyntax : SyntaxNode 58conditionalExpression, out var conditionNode, out var whenTrueNodeHigh, out var whenFalseNodeHigh); 61var whenTrueNodeLow = syntaxFacts.WalkDownParentheses(whenTrueNodeHigh); 62var whenFalseNodeLow = syntaxFacts.WalkDownParentheses(whenFalseNodeHigh); 73syntaxFacts.GetPartsOfBinaryExpression(condition, out var conditionLeftHigh, out var conditionRightHigh); 75var conditionLeftLow = syntaxFacts.WalkDownParentheses(conditionLeftHigh); 76var conditionRightLow = syntaxFacts.WalkDownParentheses(conditionRightHigh); 121var conditionPartToCheck = conditionRightIsNull ? conditionLeftHigh : conditionRightHigh; 122var whenPartToCheck = isEquals ? whenTrueNodeHigh : whenFalseNodeHigh;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionExpression\CollectionExpressionMatch.cs (1)
22bool UseKeyValue = false) where TMatchNode : SyntaxNode;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (5)
23where TExpressionSyntax : SyntaxNode 24where TStatementSyntax : SyntaxNode 27where TVariableDeclaratorSyntax : SyntaxNode 152out var left, out var right);
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerAnalyzer.cs (12)
31CollectionMatch<SyntaxNode>, TAnalyzer> 32where TExpressionSyntax : SyntaxNode 33where TStatementSyntax : SyntaxNode 39where TVariableDeclaratorSyntax : SyntaxNode 53protected abstract bool IsComplexElementInitializer(SyntaxNode expression, out int initializerElementCount); 57ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 58ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches, 109ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 110ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches, 118var initializer = this.SyntaxFacts.GetInitializerOfBaseObjectCreationExpression(_objectCreationExpression); 165private CollectionMatch<SyntaxNode>? TryAnalyzeStatement( 173private CollectionMatch<SyntaxNode>? TryAnalyzeStatementForCollectionInitializer(
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (8)
31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 83ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 177? ImmutableArray<SyntaxNode>.Empty 202(ImmutableArray<CollectionMatch<SyntaxNode>> matches, bool shouldUseCollectionExpression, bool changesSemantics)? GetCollectionInitializerMatches() 219(ImmutableArray<CollectionMatch<SyntaxNode>> matches, bool shouldUseCollectionExpression, bool changesSemantics)? GetCollectionExpressionMatches() 245ImmutableArray<CollectionMatch<SyntaxNode>> matches,
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\IUpdateExpressionSyntaxHelper.cs (2)
12where TExpressionSyntax : SyntaxNode 13where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (20)
30where TExpressionSyntax : SyntaxNode 31where TStatementSyntax : SyntaxNode 98SyntaxNode expression, 246var memberAccess = instance.GetRequiredParent(); 294out SeparatedSyntaxList<SyntaxNode> arguments) 309var memberAccess = this.SyntaxFacts.GetExpressionOfInvocationExpression(invocationExpression); 313this.SyntaxFacts.GetPartsOfMemberAccessExpression(memberAccess, out var localInstance, out var memberName); 319foreach (var argument in arguments) 324var argumentExpression = this.SyntaxFacts.GetExpressionOfArgument(argument); 368this.SyntaxFacts.GetPartsOfAssignmentStatement(statement, out var left, out var right); 380this.SyntaxFacts.GetPartsOfElementAccessExpression(left, out var elementInstance, out var argumentList); 385foreach (var argument in elementAccessArguments) 392var argExpression = this.SyntaxFacts.GetExpressionOfArgument(argument); 408public CollectionMatch<SyntaxNode>? TryAnalyzeStatementForCollectionExpression( 426CollectionMatch<SyntaxNode>? TryAnalyzeExpressionStatement(TStatementSyntax expressionStatement) 449CollectionMatch<SyntaxNode>? TryAnalyzeForeachStatement( 483CollectionMatch<SyntaxNode>? TryAnalyzeIfStatement(TStatementSyntax ifStatement)
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UseCollectionInitializerHelpers.cs (8)
24CollectionMatch<SyntaxNode> matchInfo) 26var match = matchInfo.Node; 30var expression = syntaxFacts.GetExpressionOfExpressionStatement(match); 46var expression = syntaxFacts.GetExpressionOfForeachStatement(match); 59TStatementSyntax initialStatement) where TStatementSyntax : SyntaxNode 64var containingBlockOrCompilationUnit = initialStatement.GetRequiredParent(); 77var childNode = child.AsNode()!; 78var extractedChild = syntaxFacts.IsGlobalStatement(childNode)
src\roslyn\src\Analyzers\Core\Analyzers\UseCompoundAssignment\AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs (6)
20where TAssignmentSyntax : SyntaxNode 21where TBinaryExpressionSyntax : SyntaxNode 88out var assignmentLeft, out var assignmentToken, out var assignmentRight); 112out var binaryLeft, out var binaryRight);
src\roslyn\src\Analyzers\Core\Analyzers\UseCompoundAssignment\UseCompoundAssignmentUtilities.cs (7)
41ISyntaxFacts syntaxFacts, SyntaxNode expr, SemanticModel semanticModel, CancellationToken cancellationToken) 47ISyntaxFacts syntaxFacts, SyntaxNode expr, SemanticModel semanticModel, 73out _, out var expression, out _); 81out var subExpr, out _); 89out var expression, out var whenNotNull); 99SyntaxNode expr, SemanticModel semanticModel, bool isTopLevel, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\AbstractUseConditionalExpressionDiagnosticAnalyzer.cs (1)
24where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (2)
189bool ContainsReference(SyntaxNode nullCheckedExpression, SyntaxNode? within)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
19where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\UseConditionalExpressionHelpers.cs (1)
77public static bool HasRegularComments(ISyntaxFacts syntaxFacts, SyntaxNode syntax)
src\roslyn\src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (2)
57var memberAccessSyntax = fieldReferenceOperation.Syntax; 58var nameNode = memberAccessSyntax.ChildNodesAndTokens().Reverse().FirstOrDefault().AsNode();
src\roslyn\src\Analyzers\Core\Analyzers\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (9)
68var invocation = context.Node; 71var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocation); 72var nameNode = syntaxFacts.IsIdentifierName(expression) 148private static ITypeParameterSymbol? GetGenericParameterSymbol(ISyntaxFacts syntaxFacts, SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2, CancellationToken cancellationToken) 150var valueNode = syntaxFacts.IsNullLiteralExpression(syntaxFacts.GetExpressionOfArgument(node1)) ? node2 : node1; 151var argumentExpression = syntaxFacts.GetExpressionOfArgument(valueNode); 161private static bool MatchesPattern(ISyntaxFacts syntaxFacts, SyntaxNode node1, SyntaxNode node2)
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (2)
102syntaxFacts.GetPartsOfAssignmentStatement(nullAssignmentOpt, out var assignLeft, out _, out var assignRight);
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer.cs (13)
55where TExpressionSyntax : SyntaxNode 56where TStatementSyntax : SyntaxNode 113public (TExpressionSyntax conditionalPart, SyntaxNode whenPart)? GetPartsOfConditionalExpression( 162conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 318syntaxFacts.GetPartsOfBinaryExpression(condition, out var conditionLeft, out var conditionRight); 339var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocation); 340var nameNode = syntaxFacts.IsIdentifierName(expression) 432syntaxFacts.GetPartsOfCastExpression(node, out var type, out var expression); 461syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out var left, out _, out _);
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AnalysisResults.cs (2)
21where TExpressionSyntax : SyntaxNode 22where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\AbstractUseObjectInitializerDiagnosticAnalyzer.cs (4)
28where TExpressionSyntax : SyntaxNode 29where TStatementSyntax : SyntaxNode 34where TVariableDeclaratorSyntax : SyntaxNode 128var nodes = ImmutableArray.Create<SyntaxNode>(containingStatement).AddRange(matches.Select(m => m.Statement));
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\UseNamedMemberInitializerAnalyzer.cs (14)
32where TExpressionSyntax : SyntaxNode 33where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 80var initializer = this.SyntaxFacts.GetInitializerOfBaseObjectCreationExpression(_objectCreationExpression); 83foreach (var init in this.SyntaxFacts.GetInitializersOfObjectMemberInitializer(initializer)) 87this.SyntaxFacts.GetPartsOfNamedMemberInitializer(init, out var name, out _); 104statement, out var left, out var right); 166var name = this.SyntaxFacts.GetNameOfMemberAccessExpression(leftMemberAccess); 197private bool ImplicitMemberAccessWouldBeAffected(SyntaxNode node) 203if (child.AsNode(out var childNode) && 212var expression = this.SyntaxFacts.GetExpressionOfMemberAccessExpression( 237where TExpressionSyntax : SyntaxNode 238where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (2)
77var throwStatementSyntax = throwOperation.Syntax; 272var throwStatement = throwOperation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (18)
63protected abstract SyntaxNode GetArgumentExpression(SyntaxNode syntaxNode); 64protected abstract SyntaxNode? TryGetMatchingNamedArgument(SeparatedSyntaxList<SyntaxNode> arguments, string searchArgumentName); 92var expression = syntaxFacts.GetExpressionOfInvocationExpression(context.Node); 125var formatStringLiteralExpressionSyntax = TryGetFormatStringLiteralExpressionSyntax( 158private static bool IsValidFormatMethod(ISyntaxFacts syntaxFacts, SyntaxNode expression) 163var nameOfMemberAccessExpression = syntaxFacts.GetNameOfMemberAccessExpression(expression); 182SeparatedSyntaxList<SyntaxNode> arguments, 192SeparatedSyntaxList<SyntaxNode> arguments, 196var argsArgument = TryGetArgument(NameOfArgsParameter, arguments, parameters); 203var expression = syntaxFacts.GetExpressionOfArgument(argsArgument); 207protected SyntaxNode? TryGetArgument( 209SeparatedSyntaxList<SyntaxNode> arguments, 213var matchingNamedArgument = TryGetMatchingNamedArgument(arguments, searchArgumentName); 257protected SyntaxNode? TryGetFormatStringLiteralExpressionSyntax( 258SeparatedSyntaxList<SyntaxNode> arguments, 262var formatArgumentSyntax = TryGetArgument(
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
Microsoft.CodeAnalysis.CodeStyle.Fixes (1611)
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.cs (20)
27where TStatementSyntax : SyntaxNode 29where TVariableDeclaratorSyntax : SyntaxNode 31protected abstract bool IsMeaningfulBlock(SyntaxNode node); 32protected abstract bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock); 33protected abstract SyntaxNode GetVariableDeclaratorSymbolNode(TVariableDeclaratorSyntax variableDeclarator); 36protected abstract Task<bool> TypesAreCompatibleAsync(Document document, ILocalSymbol localSymbol, TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode right, CancellationToken cancellationToken); 38public async Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 47private async Task<State> ComputeStateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 78Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken) 84var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114var newRoot = editor.GetChangedRoot(); 151var originalNextStatement = state.OutermostBlockStatements[statementIndex + 1]; 187var blocks = state.InnermostBlock.GetAncestorsOrThis<SyntaxNode>(); 188foreach (var block in blocks) 211var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(state.VariableDeclarator); 218syntaxFacts.GetPartsOfAssignmentStatement(firstStatement, out var left, out var right); 243out var _, out var operatorToken, out var right);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.State.cs (5)
30public SyntaxNode OutermostBlock { get; private set; } 31public SyntaxNode InnermostBlock { get; private set; } 32public IReadOnlyList<SyntaxNode> OutermostBlockStatements { get; private set; } 33public IReadOnlyList<SyntaxNode> InnermostBlockStatements { get; private set; } 104var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\IMoveDeclarationNearReferenceService.cs (2)
17Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken); 24Task<Document> MoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken);
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (98)
37public abstract SyntaxNode LocalDeclarationStatement( 38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false); 43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 46public abstract SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer); 51public abstract SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer); 53public abstract SyntaxNode EqualsValueClause(SyntaxNode value); 54public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value); 58public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 60public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 62public abstract SyntaxNode RefExpression(SyntaxNode expression); 67public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true); 73public abstract SyntaxNode YieldReturnStatement(SyntaxNode expression); 78/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>. 84public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken); 85public abstract SyntaxNode Interpolation(SyntaxNode syntaxNode); 86public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken); 87public abstract SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment); 88public abstract SyntaxNode InterpolationFormatClause(string format); 89public abstract SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames); 106public abstract SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext); 108public abstract SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right); 110public abstract SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type); 119public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern); 121public abstract SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right); 122public abstract SyntaxNode ConstantPattern(SyntaxNode expression); 123public abstract SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name); 124public abstract SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression); 125public abstract SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression); 126public abstract SyntaxNode LessThanRelationalPattern(SyntaxNode expression); 127public abstract SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression); 128public abstract SyntaxNode NotPattern(SyntaxNode pattern); 129public abstract SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right); 130public abstract SyntaxNode ParenthesizedPattern(SyntaxNode pattern); 131public abstract SyntaxNode TypePattern(SyntaxNode type); 132public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern); 136public abstract SyntaxNode DefaultExpression(ITypeSymbol type); 137public abstract SyntaxNode DefaultExpression(SyntaxNode type); 139public abstract SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression); 141public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 144public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 147public abstract SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind); 149public abstract SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right); 151public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 157public abstract SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName); 158public abstract SyntaxNode IdentifierName(string identifier); 160public abstract SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression); 161public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression)
src\5f6f2f95b47c3dc6\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (6)
15internal readonly struct SemanticModelReuseInfo(SemanticModel previousNonSpeculativeSemanticModel, SemanticModel currentSemanticModel, SyntaxNode bodyNode, VersionStamp topLevelSementicVersion) 31public readonly SyntaxNode BodyNode = bodyNode; 94public async ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 100var bodyNode = reuseService.TryGetContainingMethodBodyForSpeculation(node); 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 177SyntaxNode bodyNode,
src\7a47995420f988d7\AbstractRemoveUnnecessaryImportsService.cs (3)
15IEqualityComparer<T> where T : SyntaxNode 22public abstract Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 25Document document, Func<SyntaxNode, bool> predicate, CancellationToken cancellationToken)
src\7a47995420f988d7\IRemoveUnnecessaryImportsService.cs (1)
16Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken);
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (7)
29where TStatementSyntax : SyntaxNode 32where TVariableDeclaratorSyntax : SyntaxNode 33where TExpressionSyntax : SyntaxNode 64var ifStatement = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 110var assignment = generator.AssignmentStatement(assignmentOperation.Target.Syntax, conditionalExpression); 140var localDeclaration = localDeclarationOperation.Syntax; 149var updatedLocalDeclaration = localDeclaration.ReplaceNode(variable, updatedVariable);
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (6)
21private readonly HashSet<SyntaxNode> _seenExpressionInferType = []; 22private readonly HashSet<SyntaxNode> _seenExpressionGetType = []; 34protected abstract IEnumerable<TypeInferenceInfo> InferTypesWorker_DoNotCallDirectly(SyntaxNode expression); 35protected abstract IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode expression, bool objectAsDefault); 46public ImmutableArray<TypeInferenceInfo> InferTypes(SyntaxNode expression, bool filterUnusable = true) 60protected IEnumerable<TypeInferenceInfo> GetTypes(SyntaxNode expression, bool objectAsDefault = false)
src\ce787ef1f541c32a\IReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
30Task<SyntaxNode> ReplaceAsync(Document document, SyntaxNode memberDeclaration, CancellationToken cancellationToken);
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (23)
20where TStatementSyntax : SyntaxNode 22protected abstract bool IsFunctionDeclaration(SyntaxNode node); 24protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 26protected abstract SyntaxNode GetBody(SyntaxNode methodNode); 27protected abstract SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement); 34SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, TStatementSyntax statement); 37SyntaxNode functionDeclaration, 45var functionBody = GetBody(functionDeclaration); 79public void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement) 90var parameterDeclaration = parameterReference.GetSyntax(cancellationToken); 92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 115SyntaxNode functionDeclaration, 123var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135SyntaxNode constructorDeclaration, 159var statementToAddAfter = TryGetStatementToAddInitializationAfter(parameter, blockStatement); 164private SyntaxNode? TryGetStatementToAddInitializationAfter( 195using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var accessors); 209foreach (var accessorBody in accessors)
src\roslyn\src\Analyzers\Core\CodeFixes\AddAccessibilityModifiers\AbstractAddAccessibilityModifiersCodeFixProvider.cs (4)
19protected abstract SyntaxNode MapToDeclarator(SyntaxNode declaration); 47var declaration = diagnostic.AdditionalLocations[0].FindNode(cancellationToken); 48var declarator = MapToDeclarator(declaration);
src\roslyn\src\Analyzers\Core\CodeFixes\AddAccessibilityModifiers\AddAccessibilityModifiersHelpers.cs (3)
13SyntaxEditor editor, ISymbol symbol, SyntaxNode declaration) 27SyntaxNode UpdateAccessibility(SyntaxNode declaration, Accessibility preferredAccessibility)
src\roslyn\src\Analyzers\Core\CodeFixes\AddAnonymousTypeMemberName\AbstractAddAnonymousTypeMemberNameCodeFixProvider.cs (5)
23where TExpressionSyntax : SyntaxNode 24where TAnonymousObjectInitializer : SyntaxNode 25where TAnonymousObjectMemberDeclaratorSyntax : SyntaxNode 56var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 125var anonymousType = current.Parent;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\AbstractAddExplicitCastCodeFixProvider.cs (13)
21where TExpressionSyntax : SyntaxNode 30protected abstract void GetPartsOfCastOrConversionExpression(TExpressionSyntax expression, out SyntaxNode type, out TExpressionSyntax castedExpression); 48Document document, SemanticModel semanticModel, SyntaxNode root, 60Document document, SemanticModel semanticModel, SyntaxNode root, 71var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 114private (SyntaxNode finalTarget, SyntaxNode finalReplacement) ApplyFix( 134(SyntaxNode finalTarget, SyntaxNode finalReplacement) ApplyFixWorker() 139GetPartsOfCastOrConversionExpression(targetNode, out var castTypeNode, out var castedExpression); 159protected virtual (SyntaxNode finalTarget, SyntaxNode finalReplacement) Cast(SemanticModel semanticModel, TExpressionSyntax targetNode, ITypeSymbol conversionType) 216var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (8)
19where TArgumentSyntax : SyntaxNode 20where TArgumentListSyntax : SyntaxNode 21where TInvocationSyntax : SyntaxNode 41SyntaxNode root, 111SyntaxNode root, 205SyntaxNode root, 208SyntaxNode targetNode) 210var newRoot = root.ReplaceNode(oldArgumentList, GenerateNewArgumentList(oldArgumentList, newArguments));
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\InheritanceDistanceComparer.cs (1)
35where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddObsoleteAttribute\AbstractAddObsoleteAttributeCodeFixProvider.cs (8)
43var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var node = context.Diagnostics[0].Location.FindNode(cancellationToken); 47var container = GetContainer(root, node); 64private SyntaxNode? GetContainer(SyntaxNode root, SyntaxNode node) 79var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 86foreach (var container in containers)
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (17)
31where TArgumentSyntax : SyntaxNode 32where TArgumentListSyntax : SyntaxNode 33where TAttributeArgumentListSyntax : SyntaxNode 34where TExpressionSyntax : SyntaxNode 47protected abstract ITypeSymbol GetArgumentType(SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken); 58SyntaxNode node, 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70var initialNode = root.FindNode(diagnostic.Location.SourceSpan); 74for (var node = initialNode; node != null; node = node.Parent) 109SyntaxNode initialNode, SyntaxNode node, Diagnostic diagnostic) 128SyntaxNode node, 133var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocationExpression); 149SyntaxNode node, 156var typeNode = syntaxFacts.IsImplicitObjectCreationExpression(node) 424var expression = syntaxFacts.GetExpressionOfArgument(argument); 474var expressionOfArgument = syntaxFacts.GetExpressionOfArgument(argument);
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (8)
87where TExpressionSyntax : SyntaxNode 113var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 118var methodNode = syntaxRoot.FindNode(currentMethodToUpdate.Locations[0].SourceSpan, getInnermostNodeForTie: true); 130var argumentInitializer = parameterMustBeOptional ? generator.DefaultExpression(newParameterType) : null; 131var parameterDeclaration = generator 148var newRoot = editor.GetChangedRoot(); 183var rewrittenSyntaxRoot = await rewrittenDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 185var parameterDeclaration = rewrittenSyntaxRoot.GetAnnotatedNodes(s_annotation).SingleOrDefault();
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\ArgumentInsertPositionData.cs (1)
7internal readonly struct ArgumentInsertPositionData<TArgumentSyntax>(IMethodSymbol methodToUpdate, TArgumentSyntax argumentToInsert, int argumentInsertionIndex) where TArgumentSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\RegisterFixData.cs (1)
10where TArgumentSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddRequiredParentheses\AddRequiredParenthesesCodeFixProvider.cs (1)
45var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\AliasAmbiguousType\AbstractAliasAmbiguousTypeCodeFixProvider.cs (4)
34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var diagnosticNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 61var aliasDirective = syntaxGenerator.AliasImportDeclaration(typeName, symbol); 62var newRoot = addImportService.AddImport(semanticModel, root, diagnosticNode, aliasDirective, syntaxGenerator, placementOption, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\ConflictMarkerResolution\AbstractConflictMarkerCodeFixProvider.cs (3)
74var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 85SyntaxNode root, SourceText text, int position, 406var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertToAsync\AbstractConvertToAsyncCodeFixProvider.cs (9)
18protected abstract Task<string> GetDescriptionAsync(Diagnostic diagnostic, SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken); 19protected abstract Task<(SyntaxTree syntaxTree, SyntaxNode root)?> GetRootInOtherSyntaxTreeAsync(SyntaxNode node, SemanticModel semanticModel, Diagnostic diagnostic, CancellationToken cancellationToken); 23var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 24if (!TryGetNode(root, context.Span, out var node)) 38SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 41var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>(); 52SyntaxNode node, Document document, Diagnostic diagnostic, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertTypeOfToNameOf\AbstractConvertTypeOfToNameOfCodeFixProvider.cs (6)
17where TMemberAccessExpressionSyntax : SyntaxNode 21protected abstract SyntaxNode ConvertToUnboundGeneric(ParseOptions options, SyntaxNode nameOfSyntax); 22protected abstract SyntaxNode GetSymbolTypeExpression(SemanticModel model, TMemberAccessExpressionSyntax node, CancellationToken cancellationToken); 56var typeExpression = GetSymbolTypeExpression(semanticModel, nodeToReplace, cancellationToken); 57var nameOfSyntax = editor.Generator.NameOfExpression(typeExpression);
src\roslyn\src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractAddDocCommentNodesCodeFixProvider.cs (13)
21where TXmlElementSyntax : SyntaxNode 22where TXmlNameAttributeSyntax : SyntaxNode 23where TXmlTextSyntax : SyntaxNode 24where TMemberDeclarationSyntax : SyntaxNode 31var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36var docCommentNode = TryGetDocCommentNode(parentMethod.GetLeadingTrivia()); 52protected abstract SyntaxNode? TryGetDocCommentNode(SyntaxTriviaList parameter); 58Document document, TMemberDeclarationSyntax parentMethod, SyntaxNode docCommentNode, CancellationToken cancellationToken) 60var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62var newDocComment = docCommentNode; 102var nodeAfterNewParamNode = paramNodes.FirstOrDefault() ?? newDocComment.ChildNodes().First(); 120var newRoot = root.ReplaceNode(docCommentNode, newDocComment.WithAdditionalAnnotations(Formatter.Annotation)); 124private List<TXmlElementSyntax> GetElementNodes(SyntaxNode docComment, string nodeName)
src\roslyn\src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractRemoveDocCommentNodeCodeFixProvider.cs (10)
18where TXmlElementSyntax : SyntaxNode 19where TXmlTextSyntax : SyntaxNode 35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 48private static TXmlElementSyntax? GetParamNode(SyntaxNode root, TextSpan span) 54var paramNode = root.FindNode(span, findInsideTrivia: true); 61var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 63var removedNodes = new List<SyntaxNode> { paramNode }; 80var newRoot = root.RemoveNodes(removedNodes, SyntaxRemoveOptions.KeepNoTrivia); 85private bool ShouldRemovePreviousSibling(List<SyntaxNode> paramNodeSiblings, int paramNodeIndex) 97var nextSibling = paramNodeSiblings[paramNodeIndex + 1];
src\roslyn\src\Analyzers\Core\CodeFixes\FileHeaders\AbstractFileHeaderCodeFixProvider.cs (8)
46private async Task<SyntaxNode> GetTransformedSyntaxRootAsync(Document document, CancellationToken cancellationToken) 55internal static async Task<SyntaxNode> GetTransformedSyntaxRootAsync(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, Document document, string? fileHeaderTemplate, CancellationToken cancellationToken) 58var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 78SyntaxNode newSyntaxRoot; 91private static SyntaxNode ReplaceHeader(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, SyntaxNode root, string expectedFileHeader) 173private static SyntaxNode AddHeader(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, SyntaxNode root, string expectedFileHeader)
src\roslyn\src\Analyzers\Core\CodeFixes\ForEachCast\AbstractForEachCastCodeFixProvider.cs (6)
20where TForEachStatementSyntax : SyntaxNode 46var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 59var expression = syntaxFacts.GetExpressionOfForeachStatement(forEachStatement); 71var rewritten = GetRewrittenCollection(editor.Generator, expression, variableDeclarator.Symbol.Type, conversion); 80private SyntaxNode GetRewrittenCollection( 82SyntaxNode collection,
src\roslyn\src\Analyzers\Core\CodeFixes\Formatting\FormattingCodeFixProvider.cs (3)
70var root = await context.Document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var formattedRoot = SyntaxFormatting.GetFormattingResult(root, [spanToFormat], formattingOptions, rules: default, cancellationToken: cancellationToken).GetFormattedRoot(cancellationToken); 89var updatedRoot = SyntaxFormatting.GetFormattingResult(editor.OriginalRoot, [editor.OriginalRoot.FullSpan], formattingOptions, rules: default, cancellationToken).GetFormattedRoot(cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.cs (9)
27where TExpressionSyntax : SyntaxNode 30protected abstract bool IsSimpleNameGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 31protected abstract bool IsConstructorInitializerGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 32protected abstract bool IsImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 34protected abstract bool TryInitializeImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 35protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 36protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 37protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 80public async Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (6)
68SyntaxNode node, 83SyntaxNode node, CancellationToken cancellationToken) 296SyntaxNode constructorInitializer, CancellationToken cancellationToken) 314private async ValueTask<bool> TryInitializeImplicitObjectCreationAsync(SyntaxNode implicitObjectCreation, CancellationToken cancellationToken) 332SyntaxNode simpleName, 458private async Task<(ImmutableArray<ISymbol>, ImmutableArray<SyntaxNode>)> GenerateMembersAndAssignmentsAsync(
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (4)
31where TExpressionSyntax : SyntaxNode 85where TExpressionSyntax : SyntaxNode 141where TExpressionSyntax : SyntaxNode 286where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\IGenerateConstructorService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorCodeFixProvider.cs (3)
18protected abstract SyntaxToken? TryGetTypeName(SyntaxNode typeDeclaration); 28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30if (!headerFacts.IsOnTypeHeader(root, diagnostic.Location.SourceSpan.Start, fullHeader: true, out var typeDecl))
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\AbstractGenerateEnumMemberService.cs (3)
18where TExpressionSyntax : SyntaxNode 20protected abstract bool IsIdentifierNameGeneration(SyntaxNode node); 25public async Task<ImmutableArray<CodeAction>> GenerateEnumMemberAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\AbstractGenerateEnumMemberService.State.cs (2)
30SyntaxNode node, 40SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\IGenerateEnumMemberService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateEnumMemberAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberCodeFixProvider.cs (11)
25protected abstract Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode node, CancellationToken cancellationToken); 26protected abstract bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic); 41var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43foreach (var name in names) 56protected virtual SyntaxNode? GetTargetNode(SyntaxNode node) 59private IEnumerable<SyntaxNode> GetTargetNodes( 60ISyntaxFactsService syntaxFacts, SyntaxNode root, 67foreach (var ancestor in token.GetAncestors<SyntaxNode>()) 86var name = GetTargetNode(ancestor);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberService.cs (10)
17where TExpressionSyntax : SyntaxNode 92var beforeDotExpression = syntaxFacts.GetExpressionOfMemberAccessExpression( 103var beforeDotExpression = syntaxFacts.GetExpressionOfConditionalAccessExpression(expression); 113var beforeArrowExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(expression); 126var attributeNode = expression.GetAncestors().FirstOrDefault(syntaxFacts.IsAttribute); 129var attributeName = syntaxFacts.GetNameOfAttribute(attributeNode); 135expression, out var initializedObject)) 141var propertyPatternClause = expression.Ancestors().FirstOrDefault(syntaxFacts.IsPropertyPatternClause); 152var target = syntaxFacts.GetTargetOfMemberBinding(expression); 184SyntaxNode expression,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.cs (6)
19where TExpressionSyntax : SyntaxNode 22protected abstract bool IsImplicitConversionGeneration(SyntaxNode node); 23protected abstract bool IsExplicitConversionGeneration(SyntaxNode node); 24protected abstract bool TryInitializeImplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 25protected abstract bool TryInitializeExplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 29SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.State.cs (4)
21SyntaxNode interfaceNode, 36SyntaxNode node, 57private bool TryInitializeExplicitConversion(TService service, SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 81private bool TryInitializeImplicitConversion(TService service, SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.cs (3)
18where TExpressionSyntax : SyntaxNode 21public abstract ImmutableArray<IParameterSymbol> TryMakeParameters(SemanticModel semanticModel, SyntaxNode target, CancellationToken cancellationToken); 25SyntaxNode leftSide,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (2)
28SyntaxNode targetVariables, 44SyntaxNode targetVariables,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.cs (5)
19where TExpressionSyntax : SyntaxNode 22protected abstract bool IsSimpleNameGeneration(SyntaxNode node); 23protected abstract bool IsExplicitInterfaceGeneration(SyntaxNode node); 24protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 30SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (3)
28SyntaxNode interfaceNode, 43SyntaxNode node, 82SyntaxNode methodDeclaration,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.cs (1)
21where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (2)
187private ImmutableArray<SyntaxNode> GenerateStatements( 191var throwStatement = CodeGenerationHelpers.GenerateThrowStatement(factory, Document, "System.NotImplementedException");
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateConversionService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateConversionAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateDeconstructMemberService.cs (1)
16Document document, SyntaxNode targetVariables, INamedTypeSymbol typeToGenerateIn, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateParameterizedMemberService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateMethodAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.CodeAction.cs (2)
106private ImmutableArray<SyntaxNode> GenerateStatements() 112var throwStatement = CodeGenerationHelpers.GenerateThrowStatement(
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (6)
22where TExpressionSyntax : SyntaxNode 24protected abstract bool IsExplicitInterfaceGeneration(SyntaxNode node); 25protected abstract bool IsIdentifierNameGeneration(SyntaxNode node); 27protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IPropertySymbol propertySymbol, out INamedTypeSymbol typeToGenerateIn); 30protected abstract bool TryConvertToLocalDeclaration(ITypeSymbol type, SyntaxToken identifierToken, SemanticModel semanticModel, CancellationToken cancellationToken, out SyntaxNode newRoot); 34SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.GenerateLocalCodeAction.cs (7)
38var newRoot = await GetNewRootAsync(cancellationToken).ConfigureAwait(false); 44private async Task<SyntaxNode> GetNewRootAsync(CancellationToken cancellationToken) 48if (_service.TryConvertToLocalDeclaration(_state.LocalType, _state.IdentifierToken, semanticModel, cancellationToken, out var newRoot)) 54var initializer = _state.IsOnlyWrittenTo 59var localStatement = syntaxFactory.LocalDeclarationStatement(type, _state.IdentifierToken.ValueText, initializer); 62var root = _state.IdentifierToken.GetAncestors<SyntaxNode>().Last();
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.State.cs (11)
77SyntaxNode interfaceNode, 108SyntaxNode node, CancellationToken cancellationToken) 192SyntaxNode propertyDeclaration, 338var assignmentStatement = simpleName.Ancestors().FirstOrDefault(syntaxFacts.IsSimpleAssignmentStatement); 342assignmentStatement, out var left, out var right); 346var block = assignmentStatement.Parent; 378var siblingNode = sibling.AsNode(); 382siblingNode, out var left, out _); 416private static int GetStatementIndex(ChildSyntaxList children, SyntaxNode statement) 498private bool DetermineIsInConstructor(SyntaxNode simpleName)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\IGenerateVariableService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateVariableAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (2)
14where TClassNode : SyntaxNode 28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\ImplementAbstractClassData.cs (14)
27Document document, ImplementTypeOptions options, SyntaxNode classNode, SyntaxToken classIdentifier, 33private readonly SyntaxNode _classNode = classNode; 41Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken) 76Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken) 95var classNodeToAddMembersTo = _classNode; 111var updatedClassNode = info.Service.AddMembers( 117var root = await _document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 118var newRoot = root.ReplaceNode(_classNode, updatedClassNode); 178var body = throughMember == null 246Func<SyntaxNode, SyntaxNode, SyntaxNode> createAddOrRemoveHandler) 252var throughExpression = generator.CreateDelegateThroughExpression(@event, throughMember); 253var statement = generator.ExpressionStatement(createAddOrRemoveHandler(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (2)
13where TTypeSyntax : SyntaxNode 24var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceService.cs (17)
27where TTypeDeclarationSyntax : SyntaxNode 37protected abstract bool TryInitializeState(Document document, SemanticModel model, SyntaxNode interfaceNode, CancellationToken cancellationToken, 38[NotNullWhen(true)] out SyntaxNode? classOrStructDecl, 43protected abstract SyntaxNode AddCommentInsideIfStatement(SyntaxNode ifDisposingStatement, SyntaxTriviaList trivia); 44protected abstract SyntaxNode CreateFinalizer(SyntaxGenerator generator, INamedTypeSymbol classType, string disposeMethodDisplayString); 46protected abstract bool IsTypeInInterfaceBaseList([NotNullWhen(true)] SyntaxNode? type); 47protected abstract void AddInterfaceTypes(TTypeDeclarationSyntax typeDeclaration, ArrayBuilder<SyntaxNode> result); 49public ImmutableArray<SyntaxNode> GetInterfaceTypes(SyntaxNode typeDeclaration) 51using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var result); 59Document document, ImplementTypeOptions options, SyntaxNode node, CancellationToken cancellationToken) 78private async Task<ImplementInterfaceInfo?> AnalyzeAsync(Document document, SyntaxNode interfaceType, CancellationToken cancellationToken) 84protected TNode AddComment<TNode>(string comment, TNode node) where TNode : SyntaxNode 87protected TNode AddComments<TNode>(string comment1, string comment2, TNode node) where TNode : SyntaxNode 90protected TNode AddComments<TNode>(string[] comments, TNode node) where TNode : SyntaxNode 146public async Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode? interfaceType, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceService.State.cs (4)
16SyntaxNode contextNode, 28public SyntaxNode ContextNode => Info.ContextNode; 46SyntaxNode interfaceNode, 50out var classOrStructDecl, out var classOrStructType, out var interfaceTypes))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\IImplementInterfaceService.cs (4)
25Task<Document> ImplementInterfaceAsync(Document document, ImplementTypeOptions options, SyntaxNode node, CancellationToken cancellationToken); 41Document document, SyntaxNode? interfaceType, CancellationToken cancellationToken); 43ImmutableArray<SyntaxNode> GetInterfaceTypes(SyntaxNode typeDeclaration);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (6)
69var declarator = syntaxRef.GetSyntax(cancellationToken); 72var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declarator); 85var declarator = syntaxRef.GetSyntax(cancellationToken); 88var initializer = syntaxFacts.GetInitializerOfPropertyDeclaration(declarator); 97bool InitializerReferencesParameter(SyntaxNode? initializer, IParameterSymbol parameter) 101var value = syntaxFacts.GetValueOfEqualsValueClause(initializer);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_DisposePattern.cs (15)
60var rootWithCoreMembers = await docWithCoreMembers.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62var firstGeneratedMember = rootWithCoreMembers.GetAnnotatedNodes(CodeGenerator.Annotation).First(); 63var typeDeclarationWithCoreMembers = firstGeneratedMember.Parent!; 72var typeDeclarationWithAllMembers = info.Service.AddMembers( 89Document document, SyntaxNode finalizer, CancellationToken cancellationToken) 91var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 93var lastGeneratedMember = root.GetAnnotatedNodes(CodeGenerator.Annotation) 103var lastMemberWithComments = lastGeneratedMember.WithPrependedLeadingTrivia( 107var finalRoot = root.ReplaceNode(lastGeneratedMember, lastMemberWithComments); 111private (ImmutableArray<ISymbol>, SyntaxNode) CreateDisposableMethods( 124var finalizer = Service.CreateFinalizer(g, State.ClassOrStructType, disposeMethodDisplayString); 149var ifDisposingStatement = g.IfStatement(g.IdentifierName(DisposingName), []); 158var disposedValueEqualsTrueStatement = this.Service.AddComments( 164var ifStatement = g.IfStatement( 185using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var statements);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Method.cs (2)
45private SyntaxNode GenerateStatement( 55var invocation = factory.InvocationExpression(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Property.cs (2)
147private ImmutableArray<SyntaxNode> GetSetAccessorStatements( 162private ImmutableArray<SyntaxNode> GetGetAccessorStatements(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator.cs (5)
325Func<SyntaxNode, SyntaxNode, SyntaxNode> createAddOrRemoveHandler) 330var throughExpression = generator.CreateDelegateThroughExpression(@event, ThroughMember); 331var statement = generator.ExpressionStatement(createAddOrRemoveHandler(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceInfo.cs (1)
20public required SyntaxNode ContextNode { get; init; }
src\roslyn\src\Analyzers\Core\CodeFixes\Iterator\AbstractIteratorCodeFixProvider.cs (7)
17protected abstract Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken); 21var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 22if (!TryGetNode(root, context.Span, out var node)) 35SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 38var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (5)
22where TSymbolSyntax : SyntaxNode 23where TFieldDeclarationSyntax : SyntaxNode 28protected abstract SyntaxNode? GetInitializerNode(TSymbolSyntax declaration); 43var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 82var newDeclaration = generator
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMemberStatic\AbstractMakeMemberStaticCodeFixProvider.cs (5)
17protected abstract bool TryGetMemberDeclaration(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? memberDeclaration); 33var declaration = diagnostics[i].Location.FindNode(cancellationToken); 35if (TryGetMemberDeclaration(declaration, out var memberDeclaration)) 38var newNode = generator.WithModifiers(memberDeclaration, generator.GetModifiers(declaration).WithIsStatic(true));
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodAsynchronous\AbstractMakeMethodAsynchronousCodeFixProvider.cs (19)
25protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 33protected abstract SyntaxNode FixMethodSignature( 37SyntaxNode node, 51var node = GetContainingFunction(diagnostic, cancellationToken); 134var syntaxNode = semanticDocument.Root.FindNode(location.Location.SourceSpan, getInnermostNodeForTie: true); 149SyntaxNode syntaxNode, 154foreach (var currentNode in syntaxNode.GetAncestorsOrThis<SyntaxNode>()) 182private static IMethodSymbol? GetMethodSymbol(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 204var node = GetContainingFunction(diagnostic, cancellationToken); 249private SyntaxNode? GetContainingFunction(Diagnostic diagnostic, CancellationToken cancellationToken) 252var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 260SyntaxNode node, 276var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 277if (syntaxPath.TryResolve(newRoot, out SyntaxNode? newNode)) 293SyntaxNode node, 296var newNode = FixMethodSignature(addAsyncModifier: true, keepVoid, methodSymbol, node, knownTypes); 308var partialDefinitionNode = partialDefinitionLocation.FindNode(cancellationToken); 309var fixedPartialDefinitionNode =
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodSynchronous\AbstractMakeMethodSynchronousCodeFixProvider.cs (27)
24protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 25protected abstract SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTaskTypes knownTypes); 35var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 50Document document, SyntaxNode node, CancellationToken cancellationToken) 71private async Task<Solution> RenameThenRemoveAsyncTokenAsync(Document document, SyntaxNode node, IMethodSymbol methodSymbol, CancellationToken cancellationToken) 83var newRoot = await newDocument.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 84if (syntaxPath.TryResolve(newRoot, out SyntaxNode? newNode)) 95Document document, IMethodSymbol methodSymbol, SyntaxNode node, CancellationToken cancellationToken) 101var newNode = RemoveAsyncTokenAndFixReturnType(methodSymbol, node, knownTypes) 104var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 105var newRoot = root.ReplaceNode(node, newNode); 120var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 121var methodDeclaration = syntaxRoot.GetAnnotatedNodes(annotation).FirstOrDefault(); 173var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 180var newRoot = editor.GetChangedRoot(); 195var nameNode = token.Parent; 207var expressionNode = nameNode; 221var invocationExpression = expressionNode.Parent; 227var awaitExpression = invocationExpression.GetRequiredParent(); 235var parentMemberAccessExpression = invocationExpression.GetRequiredParent(); 236var parentMemberAccessExpressionNameNode = syntaxFacts.GetNameOfMemberAccessExpression(parentMemberAccessExpression); 241var parentExpression = parentMemberAccessExpression.Parent; 244var awaitExpression = parentExpression.GetRequiredParent(); 247var currentConfigureAwaitInvocation = syntaxFacts.GetExpressionOfAwaitExpression(currentAwaitExpression); 248var currentMemberAccess = syntaxFacts.GetExpressionOfInvocationExpression(currentConfigureAwaitInvocation); 249var currentInvocationExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(currentMemberAccess);
src\roslyn\src\Analyzers\Core\CodeFixes\MakeTypeAbstract\AbstractMakeTypeAbstractCodeFixProvider.cs (2)
16where TTypeDeclarationSyntax : SyntaxNode 18protected abstract bool IsValidRefactoringContext(SyntaxNode? node, [NotNullWhen(true)] out TTypeDeclarationSyntax? typeDeclaration);
src\roslyn\src\Analyzers\Core\CodeFixes\MakeTypePartial\AbstractMakeTypePartialCodeFixProvider.cs (3)
25var syntaxRoot = editor.OriginalRoot; 31var declaration = syntaxRoot.FindNode(diagnostic.Location.SourceSpan); 42var node = await reference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\NamingStyle\NamingStyleCodeFixProvider.cs (2)
57var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 58var node = root.FindNode(span);
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\ConsecutiveStatementPlacement\ConsecutiveStatementPlacementCodeFixProvider.cs (2)
45var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52var newRoot = root.ReplaceTokens(
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesCodeFixProvider.cs (2)
47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 57var newRoot = root.ReplaceTokens(replacements.Keys, (token, _) => replacements[token]);
src\roslyn\src\Analyzers\Core\CodeFixes\OrderModifiers\AbstractOrderModifiersCodeFixProvider.cs (3)
35var syntaxNode = Location.Create(syntaxTree, context.Span).FindNode(context.CancellationToken); 55var memberDeclaration = diagnostic.Location.FindNode(cancellationToken); 64var updatedMemberDeclaration = _syntaxFacts.WithModifiers(currentNode, orderedModifiers);
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchCodeFixProvider.cs (5)
28where TSwitchSyntax : SyntaxNode 29where TSwitchArmSyntax : SyntaxNode 30where TMemberAccessExpression : SyntaxNode 197ref SyntaxNode root, 205root, switchNode, out var newRoot, out var newSwitchNode);
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchExpressionCodeFixProvider.cs (2)
18where TExpressionSyntax : SyntaxNode 20where TSwitchArmSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchStatementCodeFixProvider.cs (5)
21where TSwitchSyntax : SyntaxNode 22where TSwitchArmSyntax : SyntaxNode 23where TMemberAccessExpression : SyntaxNode 47var root = editor.OriginalRoot; 50var newRoot = root.ReplaceNode(switchNode, newSwitchNode);
src\roslyn\src\Analyzers\Core\CodeFixes\QualifyMemberAccess\AbstractQualifyMemberAccessCodeFixProvider.cs (3)
17where TSimpleNameSyntax : SyntaxNode 18where TInvocationSyntax : SyntaxNode 43var qualifiedAccess =
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (38)
20where TReturnStatementSyntax : SyntaxNode 21where TExpressionSyntax : SyntaxNode 23protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 24protected abstract SyntaxNode RemoveAsyncModifier(SyntaxGenerator generator, SyntaxNode methodLikeNode); 25protected abstract SyntaxNode? ConvertToBlockBody(SyntaxNode node, TExpressionSyntax expressionBody); 36var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 67var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 93private static IMethodSymbol? GetMethodSymbol(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 106private SyntaxNode RemoveAsyncModifier( 110SyntaxNode node, 117var expression = generator.GetExpression(node); 123var blockBodiedNode = ConvertToBlockBody(node, expressionBody); 135var newExpressionBody = WrapExpressionWithTaskFromResult(generator, expressionBody, returnType, knownTypes); 155private static ControlFlowAnalysis? GetControlFlowAnalysis(SyntaxGenerator generator, SemanticModel semanticModel, SyntaxNode node) 166private static SyntaxNode AddReturnStatement(SyntaxGenerator generator, SyntaxNode node) 169private SyntaxNode ChangeReturnStatements( 173SyntaxNode node, 185var returnExpression = syntaxFacts.GetExpressionOfReturnStatement(returnSyntax); 189var returnTaskCompletedTask = GetReturnTaskCompletedTaskStatement(generator, returnType, knownTypes); 195var newExpression = WrapExpressionWithTaskFromResult(generator, returnExpression, returnType, knownTypes); 203private static SyntaxNode GetReturnTaskCompletedTaskStatement(SyntaxGenerator generator, ITypeSymbol returnType, KnownTaskTypes knownTypes) 205SyntaxNode invocation; 208var taskTypeExpression = TypeExpressionForStaticMemberAccess(generator, knownTypes.TaskType); 216var statement = generator.ReturnStatement(invocation); 220private static SyntaxNode WrapExpressionWithTaskFromResult(SyntaxGenerator generator, SyntaxNode expression, ITypeSymbol returnType, KnownTaskTypes knownTypes) 224var taskTypeExpression = TypeExpressionForStaticMemberAccess(generator, knownTypes.TaskType!); 226var memberName = generator.GenericName(nameof(Task.FromResult), unwrappedReturnType); 227var taskFromResult = generator.MemberAccessExpression(taskTypeExpression, memberName); 238private static SyntaxNode TypeExpressionForStaticMemberAccess(SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 243var typeExpression = generator.TypeExpression(typeSymbol); 247static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 251var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 252var right = expression.ChildNodes().Last();
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveRedundantEquality\RemoveRedundantEqualityCodeFixProvider.cs (12)
22internal sealed class RemoveRedundantEqualityCodeFixProvider() : ForkingSyntaxEditorBasedCodeFixProvider<SyntaxNode> 32SyntaxNode node, 36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 47SyntaxNode RewriteNode() 51syntaxFacts.GetPartsOfBinaryExpression(node, out var left, out var right); 52var rewritten = 63syntaxFacts.GetPartsOfIsPatternExpression(node, out var left, out _, out var right); 64var rewritten = left; 75static SyntaxNode WithElasticTrailingTrivia(SyntaxNode node)
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsCodeFixProvider.cs (1)
56var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesCodeFixProvider.cs (1)
18where TParenthesizedExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryAttributeSuppressionsCodeFixProvider.cs (2)
28var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryPragmaSuppressionsCodeFixProvider.cs (4)
32var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 52using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var processedNodes); 69HashSet<SyntaxNode> processedNodes, 72SyntaxNode node;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedMembers\AbstractRemoveUnusedMembersCodeFixProvider.cs (10)
21where TFieldDeclarationSyntax : SyntaxNode 32protected abstract void AdjustAndAddAppropriateDeclaratorsToRemove(HashSet<TFieldDeclarationSyntax> fieldDeclarators, HashSet<SyntaxNode> declarators); 45var declarators = new HashSet<SyntaxNode>(); 54var diagnosticNode = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 61var node = await declReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 83foreach (var declarator in declarators) 94protected static void AdjustAndAddAppropriateDeclaratorsToRemove(SyntaxNode parentDeclaration, IEnumerable<SyntaxNode> childDeclarators, HashSet<SyntaxNode> declarators) 103foreach (var childDeclarator in childDeclarators)
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (77)
47where TExpressionSyntax : SyntaxNode 48where TStatementSyntax : SyntaxNode 53where TVariableDeclaratorSyntax : SyntaxNode 54where TSwitchCaseBlockSyntax : SyntaxNode 55where TSwitchCaseLabelOrClauseSyntax : SyntaxNode 75protected abstract SyntaxNode? TryUpdateNameForFlaggedNode(SyntaxNode node, SyntaxToken newName); 99protected abstract SyntaxNode GetReplacementNodeForCompoundAssignment( 100SyntaxNode originalCompoundAssignment, 101SyntaxNode newAssignmentTarget, 109protected abstract SyntaxNode GetReplacementNodeForVarPattern(SyntaxNode originalVarPattern, SyntaxNode newNameNode); 121protected virtual SyntaxNode? TryUpdateParentOfUpdatedNode(SyntaxNode parent, SyntaxNode newNameNode, SyntaxEditor editor, ISyntaxFacts syntaxFacts, SemanticModel semanticModel) => null; 130protected abstract SyntaxNode ComputeReplacementNode(SyntaxNode originalOldNode, SyntaxNode changedOldNode, SyntaxNode proposedReplacementNode); 164var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 165var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 239private static IEnumerable<IGrouping<SyntaxNode, Diagnostic>> GetDiagnosticsGroupedByMember( 242SyntaxNode root, 264private static IEnumerable<IGrouping<SyntaxNode, Diagnostic>> GetDiagnosticsGroupedByMember( 267SyntaxNode root) 278var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 288var newRoot = await GetNewRootAsync(preprocessedDocument, formattingOptions, diagnostics, cancellationToken).ConfigureAwait(false); 292private async Task<SyntaxNode> GetNewRootAsync( 298var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 324var containingMemberDeclaration = diagnosticsToFix.Key; 334var currentRoot = editor.GetChangedRoot(); 335var newRoot = await PostProcessDocumentAsync(document, options, currentRoot, 349SyntaxNode root, 350SyntaxNode containingMemberDeclaration, 386SyntaxNode root, 411var expression = syntaxFacts.GetExpressionOfExpressionStatement(expressionStatement); 427var expression = syntaxFacts.GetExpressionOfExpressionStatement(node); 429var localDecl = editor.Generator.LocalDeclarationStatement( 445SyntaxNode root, 446SyntaxNode containingMemberDeclaration, 469using var _1 = PooledDictionary<SyntaxNode, SyntaxNode>.GetInstance(out var nodeReplacementMap); 470using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var nodesToRemove); 471using var _3 = PooledHashSet<(TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode node)>.GetInstance(out var nodesToAdd); 473using var _4 = PooledHashSet<SyntaxNode>.GetInstance(out var processedNodes); 549var newNameNode = TryUpdateNameForFlaggedNode(node, newNameToken); 569var newParentNode = TryUpdateParentOfUpdatedNode(node.GetRequiredParent(), newNameNode, editor, syntaxFacts, semanticModel); 645foreach (var node in nodesToRemove) 673IEnumerable<(SyntaxNode node, bool isUnusedLocalAssignment)> GetNodesToFix() 677var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 691void InsertLocalDeclarationStatement(TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode node) 694var insertionNode = node.FirstAncestorOrSelf<SyntaxNode>( 724bool ShouldRemoveStatement(TLocalDeclarationStatementSyntax localDeclarationStatement, out SeparatedSyntaxList<SyntaxNode> variables) 730foreach (var variable in variables) 744private async Task<SyntaxNode> PostProcessDocumentAsync( 747SyntaxNode currentRoot, 773private static async Task<SyntaxNode> PostProcessDocumentCoreAsync( 774Func<SyntaxNode, Document, SyntaxFormattingOptions, CancellationToken, Task<SyntaxNode>> processMemberDeclarationAsync, 775SyntaxNode currentRoot, 784var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 785using var _1 = PooledDictionary<SyntaxNode, SyntaxNode>.GetInstance(out var memberDeclReplacementsMap); 787foreach (var memberDecl in newRoot.DescendantNodes().Where(n => n.HasAnnotation(s_memberAnnotation))) 789var newMemberDecl = await processMemberDeclarationAsync(memberDecl, newDocument, options, cancellationToken).ConfigureAwait(false); 805private async Task<SyntaxNode> ReplaceDiscardDeclarationsWithAssignmentsAsync(SyntaxNode memberDeclaration, Document document, SyntaxFormattingOptions options, CancellationToken cancellationToken) 821private async Task<SyntaxNode> AdjustLocalDeclarationsAsync( 822SyntaxNode memberDeclaration, 843var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 844var rootWithTrackedNodes = root.TrackNodes(originalDeclStatementsToMoveOrRemove); 902var rootWithRemovedDeclaration = root.RemoveNode(newDecl, SyntaxGenerator.DefaultRemoveOptions | SyntaxRemoveOptions.KeepLeadingTrivia); 929SyntaxNode memberDeclaration, 934private readonly SyntaxNode _memberDeclaration = memberDeclaration; 940public SyntaxToken GenerateUniqueNameAtSpanStart(SyntaxNode node)
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyBooleanExpression\SimplifyConditionalCodeFixProvider.cs (8)
58SyntaxNode SimplifyConditional(SemanticModel semanticModel, Diagnostic diagnostic, SyntaxNode expr) 63syntaxFacts.GetPartsOfConditionalExpression(expr, out var condition, out var whenTrue, out var whenFalse); 68var replacement = condition.WithoutTrailingTrivia(); 71var right = diagnostic.Properties.ContainsKey(WhenTrue) ? whenTrue : whenFalse; 76var right = diagnostic.Properties.ContainsKey(WhenTrue) ? whenTrue : whenFalse;
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyInterpolation\AbstractSimplifyInterpolationCodeFixProvider.cs (5)
24where TInterpolationSyntax : SyntaxNode 25where TExpressionSyntax : SyntaxNode 26where TInterpolationAlignmentClause : SyntaxNode 27where TInterpolationFormatClause : SyntaxNode 62var node = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyLinqExpression\SimplifyLinqExpressionCodeFixProvider.cs (7)
39var root = editor.OriginalRoot; 43var invocation = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 50var memberAccess = syntaxFacts.GetExpressionOfInvocationExpression(current); 53var outerName = syntaxFacts.GetNameOfMemberAccessExpression(memberAccess); 56var innerInvocationExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(memberAccess)!; 78var innerMemberAccessExpression = syntaxFacts.GetExpressionOfInvocationExpression(innerInvocationExpression); 81var innerName = syntaxFacts.GetNameOfMemberAccessExpression(innerMemberAccessExpression);
src\roslyn\src\Analyzers\Core\CodeFixes\UnsealClass\AbstractUnsealClassCodeFixProvider.cs (5)
34var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var node = syntaxRoot.FindNode(context.Span, getInnermostNodeForTie: true); 64var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 71var declaration = await syntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 76var newDeclaration = generator.WithModifiers(declaration, modifiers.WithIsSealed(false));
src\roslyn\src\Analyzers\Core\CodeFixes\UpdateLegacySuppressions\UpdateLegacySuppressionsCodeFixProvider.cs (2)
29var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 44var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (30)
47where TTypeDeclarationSyntax : SyntaxNode 48where TPropertyDeclaration : SyntaxNode 49where TVariableDeclarator : SyntaxNode 50where TConstructorDeclaration : SyntaxNode 51where TExpression : SyntaxNode 63protected abstract TPropertyDeclaration GetPropertyDeclaration(SyntaxNode node); 64protected abstract SyntaxNode GetNodeToRemove(TVariableDeclarator declarator); 69Document document, SyntaxNode finalPropertyDeclaration); 71protected abstract Task<SyntaxNode> UpdatePropertyAsync( 141var updatedProperty = await GetUpdatedPropertyDeclarationAsync().ConfigureAwait(false); 182var nodeToRemove = GetNodeToRemove(declarator); 228var declaratorTreeRoot = await fieldDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 235var finalFieldRoot = await FormatAsync(updatedFieldDocument, updatedProperty, cancellationToken).ConfigureAwait(false); 242var fieldTreeRoot = await fieldDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 243var propertyTreeRoot = await propertyDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 245var newFieldTreeRoot = fieldTreeRoot.RemoveNode(nodeToRemove, syntaxRemoveOptions); 247var newPropertyTreeRoot = propertyTreeRoot.ReplaceNode(propertyDeclaration, updatedProperty); 261async ValueTask<SyntaxNode> GetUpdatedPropertyDeclarationAsync() 284var updatedProperty = await UpdatePropertyAsync( 336var newNameNode = generator.IdentifierName(property.Name); 343var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 353var qualifiedName = generator.MemberAccessExpression( 430ISyntaxFacts syntaxFacts, SyntaxNode nodeToRemove) 441ISyntaxFactsService syntaxFacts, TPropertyDeclaration property, SyntaxNode fieldToRemove) 454private async Task<SyntaxNode> FormatAsync( 456SyntaxNode finalPropertyDeclaration, 533var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 540var assignment = node.GetRequiredParent(); 541var rightSide = syntaxFacts.GetRightHandSideOfAssignment(assignment); 567var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (18)
28SemanticModel semanticModel, SyntaxNode expressionToCoalesce, 29SyntaxNode leftAssignmentPart, SyntaxNode rightAssignmentPart, 42var expressionToCoalesce = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 43var ifStatement = diagnostic.AdditionalLocations[1].FindNode(getInnermostNodeForTie: true, cancellationToken); 44var whenTrueStatement = diagnostic.AdditionalLocations[2].FindNode(getInnermostNodeForTie: true, cancellationToken); 55var containingStatement = expressionToCoalesce.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement); 72ImmutableArray<SyntaxTrivia> GetLeadingComments(SyntaxNode node) 83SyntaxNode TryAddExplicitCast(SyntaxNode expressionToCoalesce, SyntaxNode whenTrueStatement) 95syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var left, out var right); 103SyntaxNode GetWhenNullExpression(SyntaxNode whenTrueStatement) 107syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out _, out var right); 112var expression = syntaxFacts.GetExpressionOfThrowStatement(whenTrueStatement);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs (11)
45var root = editor.OriginalRoot; 49var conditionalExpression = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan, getInnermostNodeForTie: true); 50var conditionExpression = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 51var whenPart = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 53conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 59c, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 61var coalesceExpression = whenPart == whenTrue
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs (18)
60var root = editor.OriginalRoot; 61var conditionalExpression = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan, getInnermostNodeForTie: true); 62var conditionalPartHigh = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 63var whenPart = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 65conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 67var conditionalPartLow = syntaxFacts.WalkDownParentheses(conditionalPartHigh); 72c, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 74var coalesceExpression = GetCoalesceExpression( 90private static SyntaxNode GetCoalesceExpression( 92SyntaxNode whenPart, SyntaxNode whenTrue, 93SyntaxNode conditionalPartLow, 94SyntaxNode currentWhenTrue, SyntaxNode currentWhenFalse)
src\roslyn\src\Analyzers\Core\CodeFixes\UseCollectionExpression\AbstractUseCollectionExpressionCodeFixProvider.cs (1)
14where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\UseCollectionInitializer\AbstractUseCollectionInitializerCodeFixProvider.cs (7)
31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 55protected abstract Task<(SyntaxNode oldNode, SyntaxNode newNode)> GetReplacementNodesAsync( 57ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 58ImmutableArray<CollectionMatch<SyntaxNode>> postMatches, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCompoundAssignment\AbstractUseCompoundAssignmentCodeFixProvider.cs (6)
20where TAssignmentSyntax : SyntaxNode 21where TExpressionSyntax : SyntaxNode 58var assignment = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 67out var leftOfAssign, out var equalsToken, out var rightOfAssign); 73out _, out var opToken, out var rightExpr);
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (9)
29where TStatementSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 50var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 65var changedRoot = nestedEditor.GetChangedRoot(); 74var formattedRoot = SyntaxFormatting.GetFormattingResult(changedRoot, spansToFormat, formattingOptions, rules, cancellationToken).GetFormattedRoot(cancellationToken); 155Document document, SyntaxNode condition, SyntaxNode trueSyntax, SyntaxNode falseSyntax, SyntaxFormattingOptions formattingOptions, 181var sourceSyntax = value.Syntax;
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (2)
26where TStatementSyntax : SyntaxNode 28where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\UseConditionalExpressionHelpers.cs (1)
16ISyntaxFactsService syntaxFacts, SyntaxNode syntax)
src\roslyn\src\Analyzers\Core\CodeFixes\UseExplicitTupleName\UseExplicitTupleNameCodeFixProvider.cs (2)
39var oldNameNode = diagnostic.Location.FindNode( 45var newNameNode = generator.IdentifierName(preferredName).WithTriviaFrom(oldNameNode);
src\roslyn\src\Analyzers\Core\CodeFixes\UseInferredMemberName\AbstractUseInferredMemberNameCodeFixProvider.cs (3)
16protected abstract void LanguageSpecificRemoveSuggestedNode(SyntaxEditor editor, SyntaxNode node); 30var root = editor.OriginalRoot; 34var node = root.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\Core\CodeFixes\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsCodeFixProvider.cs (6)
21where TExpressionSyntax : SyntaxNode 28protected abstract SyntaxNode CreateNullCheck(TExpressionSyntax argument, bool isUnconstrainedGeneric); 29protected abstract SyntaxNode CreateNotNullCheck(TExpressionSyntax argument); 59var invocation = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 68var toReplace = negate ? invocation.GetRequiredParent() : invocation; 69var replacement = negate
src\roslyn\src\Analyzers\Core\CodeFixes\UseNullPropagation\AbstractUseNullPropagationCodeFixProvider.cs (26)
37TElementBindingArgumentListSyntax> : ForkingSyntaxEditorBasedCodeFixProvider<SyntaxNode> 44where TExpressionSyntax : SyntaxNode 45where TStatementSyntax : SyntaxNode 55where TElementBindingArgumentListSyntax : SyntaxNode 57protected abstract SyntaxNode PostProcessElseIf(TIfStatementSyntax ifStatement, TStatementSyntax newWhenTrueStatement); 82SyntaxNode conditionalExpressionOrIfStatement, 105var root = editor.OriginalRoot; 117conditionalExpression, out _, out var whenTrue, out _); 135conditionalExpression, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 137var currentWhenPartToCheck = whenPart == whenTrue ? currentWhenTrue : currentWhenFalse; 139var unwrappedCurrentWhenPartToCheck = syntaxFacts.WalkDownParentheses(currentWhenPartToCheck); 148var newNode = CreateConditionalAccessExpression( 163var root = editor.OriginalRoot; 175SyntaxNode nodeToBeReplaced = ifStatement; 229using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var replacementNodes); 242TContainer container, SyntaxNode match) where TContainer : SyntaxNode 248var memberAccess = match.Parent; 249var nameNode = syntaxFacts.GetNameOfMemberAccessExpression(memberAccess); 271TContainer whenPart, SyntaxNode match, SyntaxNode matchParent) where TContainer : SyntaxNode 275var memberAccess = matchParent; 307private (TExpressionSyntax conditionalPart, SyntaxNode whenPart)? GetPartsOfConditionalExpression(
src\roslyn\src\Analyzers\Core\CodeFixes\UseObjectInitializer\AbstractUseObjectInitializerCodeFixProvider.cs (4)
29where TExpressionSyntax : SyntaxNode 30where TStatementSyntax : SyntaxNode 35where TVariableDeclaratorSyntax : SyntaxNode 72var currentRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\UseSystemHashCode\UseSystemHashCodeCodeFixProvider.cs (4)
54var operationLocation = diagnostic.AdditionalLocations[0].FindNode(cancellationToken); 57var methodDecl = diagnostic.AdditionalLocations[1].FindNode(cancellationToken); 62var methodBlock = declarationService.GetDeclarations(method)[0].GetSyntax(cancellationToken); 76var updatedDecl = generator.WithStatements(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\ForkingSyntaxEditorBasedCodeFixProvider.cs (4)
25where TDiagnosticNode : SyntaxNode 60var originalRoot = editor.OriginalRoot; 81var currentRoot = semanticDocument.Root; 98var changedRoot = subEditor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (4)
101var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newRoot = FixAll(fixAllContext.Solution.Services, root, commonSpans); 114private SyntaxNode FixAll(SolutionServices services, SyntaxNode root, PooledHashSet<TextSpan> commonSpans)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 88var newRoot = editor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (6)
35var decl = await GetContainingMemberOrTypeDeclarationAsync(document, fixAllInContainingMember, span, cancellationToken).ConfigureAwait(false); 55var root = await syntaxRef.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 72private static async Task<SyntaxNode?> GetContainingMemberOrTypeDeclarationAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var startContainer = fixAllInContainingMember 94var endContainer = fixAllInContainingMember
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (22)
20protected abstract IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken); 22private IList<bool>? GetAvailableInsertionIndices<TDeclarationNode>(TDeclarationNode destination, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 23=> GetAvailableInsertionIndices((SyntaxNode)destination, cancellationToken); 34protected static SyntaxToken GetEndToken(SyntaxNode node) 50protected static TextSpan GetSpan(SyntaxNode node) 58public bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken) 61public bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken) 65SyntaxNode? destination, 144public SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration( 154private (SyntaxNode? declaration, IList<bool>? availableIndices) FindMostRelevantDeclaration( 166using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var ancestors); 168var fallbackDeclaration = (SyntaxNode?)null; 172ancestors.AddRange(token.GetAncestors<SyntaxNode>()); 177if (TryAddToRelatedDeclaration(declarations.Where(d => d is not ICompilationUnitSyntax), checkGeneratedCode: false, out var declaration1, out var availableIndices1) || 185if (TryAddToWorker(declarations, checkGeneratedCode: true, out var declaration2, out var availableIndices2, predicate: node => true)) 191IEnumerable<SyntaxNode> declarations, 193[NotNullWhen(true)] out SyntaxNode? declaration, 231IEnumerable<SyntaxNode> declarations, 233[NotNullWhen(true)] out SyntaxNode? declaration, 235Func<SyntaxNode, bool> predicate) 237foreach (var decl in declarations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (83)
47public TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 53public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 56public TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 59public TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 66where TDeclarationNode : SyntaxNode 69private static TNode WithAnnotations<TNode>(TNode node, CodeGenerationContextInfo info) where TNode : SyntaxNode 76public SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 82public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 85public SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 88public SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 94public TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 100public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 103public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 109public TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 112public TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 115public TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 118public TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 123protected abstract TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 125protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 126protected abstract TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 127protected abstract TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 129protected abstract TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) where TDeclarationNode : SyntaxNode; 131public abstract TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<IParameterSymbol> parameters, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 133public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 134public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 135public abstract TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138public abstract TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 139public abstract TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 140public abstract TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 142public abstract CodeGenerationDestination GetDestination(SyntaxNode node); 143public abstract SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 147public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 149public abstract SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 150public abstract SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 156protected static void CheckDeclarationNode<TDeclarationNode>(SyntaxNode destination) where TDeclarationNode : SyntaxNode 171protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2>(SyntaxNode destination) 172where TDeclarationNode1 : SyntaxNode 173where TDeclarationNode2 : SyntaxNode 190protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3>(SyntaxNode destination) 191where TDeclarationNode1 : SyntaxNode 192where TDeclarationNode2 : SyntaxNode 193where TDeclarationNode3 : SyntaxNode 211protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3, TDeclarationNode4>(SyntaxNode destination) 212where TDeclarationNode1 : SyntaxNode 213where TDeclarationNode2 : SyntaxNode 214where TDeclarationNode3 : SyntaxNode 215where TDeclarationNode4 : SyntaxNode 232Func<SyntaxNode, TCodeGenerationContextInfo, IList<bool>?, CancellationToken, SyntaxNode> declarationTransform, 247var transformedDeclaration = declarationTransform(destinationDeclaration, info, availableIndices, cancellationToken); 249var root = await destinationTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 250var currentRoot = root.ReplaceNode(destinationDeclaration, transformedDeclaration); 275where TDeclarationNode : SyntaxNode 297where TDeclarationSyntax : SyntaxNode 299var newMembers = new List<SyntaxNode>(); 304var newMember = GetNewMember(info, codeGenerationDestination, member, cancellationToken); 329where TDeclarationSyntax : SyntaxNode 342private SyntaxNode? GetNewMember(TCodeGenerationContextInfo info, CodeGenerationDestination codeGenerationDestination, ISymbol member, CancellationToken cancellationToken) 359CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 379protected abstract IComparer<SyntaxNode> GetMemberComparer(); 481protected static void CheckLocation(SyntaxNode destinationMember, [NotNull] Location? location) 500SyntaxNode attributeList, 520SyntaxNode attributeToRemove, 526var root = attributeToRemove.SyntaxTree.GetRoot(); 535where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (8)
14protected abstract SyntaxNode CreateExplicitlyCastedLiteralValue(INamedTypeSymbol enumType, SpecialType underlyingSpecialType, object constantValue); 19public SyntaxNode CreateEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 60private SyntaxNode CreateFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 70private SyntaxNode CreateFlagsEnumConstantValue( 102SyntaxNode? finalNode = null; 106var node = CreateMemberAccessExpression(field.field, enumType, underlyingSpecialType); 136private SyntaxNode CreateMemberAccessExpression( 184private SyntaxNode CreateNonFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (9)
19public static SyntaxNode? GenerateThrowStatement( 33var exceptionCreationExpression = factory.ObjectCreationExpression(exceptionType, arguments: []); 38public static TSyntaxNode? AddAnnotationsTo<TSyntaxNode>(ISymbol symbol, TSyntaxNode? syntax) where TSyntaxNode : SyntaxNode 43public static TSyntaxNode AddFormatterAndCodeGeneratorAnnotationsTo<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 172public static T RemoveLeadingDirectiveTrivia<T>(T node) where T : SyntaxNode 179where T : SyntaxNode 198where TDeclaration : SyntaxNode 303where TDeclarationSyntax : SyntaxNode 328where TDeclarationSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (18)
55SyntaxNode? initializer = null) 81bool isIndexer = false, SyntaxNode? initializer = null) 109SyntaxNode? initializer = null) 125ImmutableArray<SyntaxNode> statements = default, 126ImmutableArray<SyntaxNode> baseConstructorArguments = default, 127ImmutableArray<SyntaxNode> thisConstructorArguments = default, 140ImmutableArray<SyntaxNode> statements = default) 158ImmutableArray<SyntaxNode> statements = default, 159ImmutableArray<SyntaxNode> handlesExpressions = default, 179ImmutableArray<SyntaxNode> statements = default, 180ImmutableArray<SyntaxNode> handlesExpressions = default, 198ImmutableArray<SyntaxNode> statements = default, 224ImmutableArray<SyntaxNode> statements = default, 252ImmutableArray<SyntaxNode> statements = default, 361ImmutableArray<SyntaxNode> statements = default) 385ImmutableArray<SyntaxNode> statements) 518ImmutableArray<SyntaxNode> statements = default, 551SyntaxNode? initializer = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (27)
22SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 33SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 38SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 43SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 53TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 63TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 68TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 73TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 83TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<ISymbol> members, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 88TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 93TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 98TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 103TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 108TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 113TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 118TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 123TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 188bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken); 193bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken); 201SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration(Solution solution, INamespaceOrTypeSymbol namespaceOrType, Location? location, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorInfo.cs (15)
17private readonly ImmutableArray<SyntaxNode> _baseConstructorArguments; 18private readonly ImmutableArray<SyntaxNode> _thisConstructorArguments; 19private readonly ImmutableArray<SyntaxNode> _statements; 25ImmutableArray<SyntaxNode> statements, 26ImmutableArray<SyntaxNode> baseConstructorArguments, 27ImmutableArray<SyntaxNode> thisConstructorArguments) 42ImmutableArray<SyntaxNode> statements, 43ImmutableArray<SyntaxNode> baseConstructorArguments, 44ImmutableArray<SyntaxNode> thisConstructorArguments) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 74private static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 77private static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 80private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationConstructorInfo? info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorInfo.cs (5)
17private readonly ImmutableArray<SyntaxNode> _statements; 21ImmutableArray<SyntaxNode> statements) 30ImmutableArray<SyntaxNode> statements) 42public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 48private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationDestructorInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 57private static SyntaxNode GetInitializer(CodeGenerationFieldInfo info) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodInfo.cs (10)
20private readonly ImmutableArray<SyntaxNode> _statements; 21private readonly ImmutableArray<SyntaxNode> _handlesExpressions; 28ImmutableArray<SyntaxNode> statements, 29ImmutableArray<SyntaxNode> handlesExpressions) 45ImmutableArray<SyntaxNode> statements, 46ImmutableArray<SyntaxNode> handlesExpressions) 58public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 61public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 76private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationMethodInfo info) 79private static ImmutableArray<SyntaxNode> GetHandlesExpressions(CodeGenerationMethodInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationPropertyInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 45public static SyntaxNode GetInitializer(CodeGenerationPropertyInfo info) 48public static SyntaxNode GetInitializer(IPropertySymbol property)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
148public static ImmutableArray<SyntaxNode> DeclaringSyntaxNodes
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\AbstractRefactoringHelpersService.cs (25)
15where TExpressionSyntax : SyntaxNode 16where TArgumentSyntax : SyntaxNode 17where TExpressionStatementSyntax : SyntaxNode 21public bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 24public void AddRelevantNodes<TSyntaxNode>(SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 27public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 30public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 33public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 36public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 39public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 42public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 45public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 48public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 51public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringContextExtensions.cs (12)
41public static Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 44public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNode) where TSyntaxNode : SyntaxNode 50public static Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 53public static async Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNodes) where TSyntaxNode : SyntaxNode 59public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 65public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 68public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, bool allowEmptyNode, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 76this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 82this Document document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 89this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 93this ParsedDocument document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 102this ParsedDocument document, TextSpan span, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (3)
38public static bool IsNodeUnderselected(SyntaxNode? node, TextSpan selection) 81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\IRefactoringHelpersService.cs (1)
20this IRefactoringHelpersService service, ParsedDocument document, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\AddParameterEditor.cs (10)
20SyntaxNode declaration, 22SyntaxNode parameterDeclaration, 54var firstParameter = existingParameters[0]; 66var nextParameter = existingParameters[insertionIndex]; 91var nextParameter = existingParameters[insertionIndex]; 108var nextParameter = existingParameters[insertionIndex]; 122ISyntaxFacts syntaxFacts, SyntaxNode node, bool includeLeadingNewLine) 152IReadOnlyList<SyntaxNode> parameters, CancellationToken cancellationToken) 162var lastParameter = parameters[i - 1]; 163var thisParameter = parameters[i];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (23)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length); 73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 77SyntaxNode container, 95SyntaxNode container, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 111IEnumerable<SyntaxNode> syntaxNodes, 117using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var importsToAdd); 118using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToSimplify); 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 139var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 159var first = root.DescendantNodesAndSelf().First(x => x.HasAnnotation(annotation)); 160var last = root.DescendantNodesAndSelf().Last(x => x.HasAnnotation(annotation)); 162var context = first.GetCommonRoot(last); 172IEnumerable<SyntaxNode> annotatedNodes, 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 180var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188SyntaxNode? first = null, last = null; 190foreach (var annotatedNode in annotatedNodes) 218var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 233var context = first.GetCommonRoot(last); 236var importContainer = addImportsService.GetImportContainer(root, context, importToSyntax.First().Value, options); 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (5)
74public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 76if (document.TryGetSyntaxRoot(out var root)) 146var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span)); 167public static ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (5)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 30SyntaxNode expression, 56SyntaxNode expression, 68SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\StringBuilderExtensions.cs (1)
22where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxEditorExtensions.cs (29)
31Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 32CancellationToken cancellationToken) where TNode : SyntaxNode 54Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 55CancellationToken cancellationToken) where TNode : SyntaxNode 76Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 77CancellationToken cancellationToken) where TNode : SyntaxNode 98Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 99CancellationToken cancellationToken) where TNode : SyntaxNode 120Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 121CancellationToken cancellationToken) where TNode : SyntaxNode 154Func<ISyntaxFactsService, SyntaxNode, SyntaxNode> getSemanticBoundary, 156Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 157CancellationToken cancellationToken) where TNode : SyntaxNode 170var originalRoot = editor.OriginalRoot; 173var currentRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var replacementRoot = updateRoot(semanticModel, currentRoot, instance, currentNode); 195private static SyntaxNode GetExpressionSemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 202return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>( 210private static SyntaxNode GetMethodBodySemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 212return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (22)
48public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56ImmutableArray<SyntaxNode> statements) 120private static ImmutableArray<SyntaxNode> CreateEqualsMethodStatements( 135using var statements = TemporaryArray<SyntaxNode>.Empty; 144var localNameExpression = factory.IdentifierName(localName); 145var objNameExpression = factory.IdentifierName(ObjName); 149using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 178var ifStatement = factory.IfStatement( 189var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 201var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 240ImmutableArray<ISymbol> members, SyntaxNode localNameExpression, 241ArrayBuilder<SyntaxNode> expressions) 251var symbolNameExpression = factory.IdentifierName(member.Name); 252var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(), symbolNameExpression) 254var otherSymbol = factory.MemberAccessExpression(localNameExpression, symbolNameExpression); 291private static ImmutableArray<SyntaxNode> CreateIEquatableEqualsMethodStatements( 299var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 301var otherNameExpression = factory.IdentifierName(OtherName); 305using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 343SyntaxGenerator factory, SyntaxGeneratorInternal generatorInternal, Compilation compilation, ParseOptions parseOptions, SyntaxNode otherNameExpression, ArrayBuilder<SyntaxNode> expressions) 345var nullLiteral = factory.NullLiteralExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (20)
17public static ImmutableArray<SyntaxNode> GetGetHashCodeComponents( 25var result = ArrayBuilder<SyntaxNode>.GetInstance(); 41public static ImmutableArray<SyntaxNode> CreateGetHashCodeStatementsUsingSystemHashCode( 43INamedTypeSymbol hashCodeType, ImmutableArray<SyntaxNode> memberReferences) 47var statement = factory.ReturnStatement( 55var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 59var localReference = factory.IdentifierName(hashName); 60foreach (var member in memberReferences) 79public static ImmutableArray<SyntaxNode> CreateGetHashCodeMethodStatements( 128var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 139var hashCodeNameExpression = factory.IdentifierName(HashCodeName); 142var permuteValue = CreateLiteralExpression(factory, hashFactor); 143foreach (var component in components) 146var rightSide = 178private static SyntaxNode SimpleLocalDeclarationStatement( 180string name, SyntaxNode initializer) 187private static SyntaxNode CreateLiteralExpression(SyntaxGenerator factory, int value) 217private static SyntaxNode GetMemberForGetHashCode( 224var getHashCodeNameExpression = factory.IdentifierName(GetHashCodeName); 225var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (58)
33public static SyntaxNode Negate( 36SyntaxNode expression, 43public static SyntaxNode Negate( 46SyntaxNode expressionOrPattern, 54public static SyntaxNode Negate( 57SyntaxNode expressionOrPattern, 114syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 124syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 136private static SyntaxNode GetNegationOfBinaryExpression( 137SyntaxNode expressionNode, 144syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand); 172var newBinaryExpressionSyntax = negatedKind is BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals 190SyntaxNode innerPattern; 199var typeExpression = generatorInternal.Type(isTypeOperation.TypeOperand, typeContext: false); 228private static SyntaxNode GetNegationOfBinaryPattern( 229SyntaxNode pattern, 241syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right); 243var newLeft = generator.Negate(generatorInternal, left, semanticModel, cancellationToken); 244var newRight = generator.Negate(generatorInternal, right, semanticModel, cancellationToken); 246var newPattern = 258private static SyntaxNode GetNegationOfIsPatternExpression(SyntaxNode isExpression, SyntaxGenerator generator, SyntaxGeneratorInternal generatorInternal, SemanticModel semanticModel, CancellationToken cancellationToken) 263syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern); 265SyntaxNode? negatedPattern = null; 287var type = syntaxFacts.GetTypeOfTypePattern(negatedPattern); 300private static SyntaxNode GetNegationOfRelationalPattern( 301SyntaxNode expressionNode, 312syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression); 327private static bool IsLegalPattern(ISyntaxFacts syntaxFacts, SyntaxNode pattern, bool designatorsLegal) 332syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out _, out var right); 342syntaxFacts.GetPartsOfUnaryPattern(pattern, out _, out var subPattern); 354syntaxFacts.GetPartsOfParenthesizedPattern(pattern, out _, out var subPattern, out _); 360syntaxFacts.GetPartsOfDeclarationPattern(pattern, out _, out var designator); 366syntaxFacts.GetPartsOfRecursivePattern(pattern, out _, out _, out _, out var designator); 376private static SyntaxNode NegateRelational( 379SyntaxNode leftOperand, 381SyntaxNode rightOperand) 467private static SyntaxNode GetNegationOfLiteralExpression( 468SyntaxNode expression, 476SyntaxNode newLiteralExpression; 497private static SyntaxNode GetNegationOfConstantPattern( 498SyntaxNode pattern, 510var expression = syntaxFacts.GetExpressionOfConstantPattern(pattern); 522private static SyntaxNode GetNegationOfLogicalNotExpression( 523SyntaxNode expression, 527var operand = syntaxFacts.GetOperandOfPrefixUnaryExpression(expression); 533private static SyntaxNode GetNegationOfUnaryPattern( 534SyntaxNode pattern, 550private static SyntaxNode GetNegationOfNotPattern( 551SyntaxNode pattern, 558syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern); 564var type = syntaxFacts.GetTypeOfTypePattern(subPattern);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (47)
23public static SyntaxNode CreateThrowNotImplementedStatement( 30public static SyntaxNode CreateThrowNotImplementedExpression( 37private static SyntaxNode CreateNewNotImplementedException(SyntaxGenerator codeDefinitionFactory, Compilation compilation) 39var notImplementedExceptionTypeSyntax = compilation.NotImplementedExceptionType() is INamedTypeSymbol symbol 48public static ImmutableArray<SyntaxNode> CreateThrowNotImplementedStatementBlock( 52public static ImmutableArray<SyntaxNode> CreateArguments( 59private static SyntaxNode CreateArgument( 66public static SyntaxNode GetDefaultEqualityComparer( 73var typeExpression = equalityComparerType == null 88public static SyntaxNode IsPatternExpression(this SyntaxGeneratorInternal generator, SyntaxNode expression, SyntaxNode pattern) 94public static SyntaxNode GenerateDelegateThroughMemberStatement( 97var through = generator.MemberAccessExpression( 103var invocationExpression = generator.InvocationExpression(through, generator.CreateArguments(method.Parameters)); 109public static SyntaxNode CreateDelegateThroughExpression( 112var name = generator.IdentifierName(throughMember.Name); 113var through = throughMember.IsStatic 159var explicitImplementationCast = generator.CastExpression( 174static SyntaxNode GenerateContainerName(SyntaxGenerator factory, ISymbol throughMember) 183public static ImmutableArray<SyntaxNode> GetGetAccessorStatements( 193var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 194var expression = property.IsIndexer 222public static ImmutableArray<SyntaxNode> GetSetAccessorStatements( 232var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 233var expression = property.IsIndexer 335public static ImmutableArray<SyntaxNode> CreateAssignmentStatements( 345using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 346using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 358var assignExpression = factory.AssignmentStatement( 361var statement = factory.ExpressionStatement(assignExpression); 371var fieldAccess = factory.MemberAccessExpression(factory.ThisExpression(), factory.IdentifierName(fieldName)) 391SyntaxNode fieldAccess, 394ArrayBuilder<SyntaxNode> nullCheckStatements, 395ArrayBuilder<SyntaxNode> assignStatements) 426public static SyntaxNode CreateAssignWithNullCheckStatement( 427this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter, SyntaxNode fieldAccess) 436public static SyntaxNode CreateThrowArgumentNullExpression(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 439private static SyntaxNode CreateNewArgumentNullException(SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 448public static SyntaxNode CreateNullCheckAndThrowStatement( 454var condition = factory.CreateNullCheckExpression(generatorInternal, semanticModel, parameter.Name); 455var throwStatement = factory.CreateThrowArgumentNullExceptionStatement(semanticModel.Compilation, parameter); 460public static SyntaxNode CreateNullCheckExpression( 463var identifier = factory.IdentifierName(identifierName); 464var nullExpr = factory.NullLiteralExpression(); 465var condition = generatorInternal.SupportsPatterns(semanticModel.SyntaxTree.Options) 471public static SyntaxNode CreateThrowArgumentNullExceptionStatement(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\FormatterShared.cs (6)
26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30public SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 33public SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 36public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\AbstractIndentationService.cs (1)
14where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\IIndentationService.cs (1)
52var newRoot = document.Root.ReplaceToken(token, newToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AbstractAddImportsService.cs (65)
19where TCompilationUnitSyntax : SyntaxNode 20where TNamespaceDeclarationSyntax : SyntaxNode 21where TUsingOrAliasSyntax : SyntaxNode 22where TExternSyntax : SyntaxNode 25protected abstract SyntaxNode? GetAlias(TUsingOrAliasSyntax usingOrAlias); 26protected abstract ImmutableArray<SyntaxNode> GetGlobalImports(SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken); 27protected abstract SyntaxList<TUsingOrAliasSyntax> GetUsingsAndAliases(SyntaxNode node); 28protected abstract SyntaxList<TExternSyntax> GetExterns(SyntaxNode node); 43private bool HasAliases(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsAlias); 44private bool HasUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsSimpleUsing); 45private bool HasStaticUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsStaticUsing); 46private bool HasExterns(SyntaxNode node) => GetExterns(node).Any(); 47private bool HasAnyImports(SyntaxNode node) => GetUsingsAndAliases(node).Any() || GetExterns(node).Any(); 51SyntaxNode root, 52SyntaxNode? contextLocation, 53SyntaxNode import, 62private static ImmutableArray<SyntaxNode> GetAllContainers(SyntaxNode root, SyntaxNode? contextLocation) 66var applicableContainer = GetFirstApplicableContainer(contextLocation); 67return [.. applicableContainer.GetAncestorsOrThis<SyntaxNode>()]; 71SyntaxNode import, ImmutableArray<SyntaxNode> containers, ImmutableArray<SyntaxNode> globalImports) 73foreach (var node in containers) 86foreach (var node in globalImports) 97protected abstract bool IsEquivalentImport(SyntaxNode a, SyntaxNode b); 99public SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options) 103out var externContainer, out var usingContainer, out var staticUsingContainer, out var aliasContainer); 126public SyntaxNode AddImports( 128SyntaxNode root, 129SyntaxNode? contextLocation, 130IEnumerable<SyntaxNode> newImports, 147out var externContainer, out var usingContainer, out var aliasContainer, out var staticUsingContainer); 149var newRoot = Rewrite( 157protected abstract SyntaxNode Rewrite( 159SyntaxNode externContainer, SyntaxNode usingContainer, SyntaxNode staticUsingContainer, SyntaxNode aliasContainer, 160AddImportPlacementOptions options, SyntaxNode root, CancellationToken cancellationToken); 162private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, AddImportPlacementOptions options, out SyntaxNode externContainer, out SyntaxNode usingContainer, out SyntaxNode staticUsingContainer, out SyntaxNode aliasContainer) 164var applicableContainer = GetFirstApplicableContainer(contextLocation); 165var contextSpine = applicableContainer.GetAncestorsOrThis<SyntaxNode>().ToImmutableArray(); 170var fallbackNode = contextSpine.FirstOrDefault(HasAnyImports); 190private static SyntaxNode? GetFirstApplicableContainer(SyntaxNode contextNode) 194var node = usingDirective != null ? usingDirective.Parent! : contextNode; 196(SyntaxNode?)node.GetAncestorOrThis<TCompilationUnitSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AddImportHelpers.cs (2)
20where TRootSyntax : SyntaxNode 21where TImportDirectiveSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\IAddImportsService.cs (15)
23SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 24SyntaxNode import, SyntaxGenerator generator, CancellationToken cancellationToken); 30SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options); 32SyntaxNode AddImports( 33SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 34IEnumerable<SyntaxNode> newImports, SyntaxGenerator generator, AddImportPlacementOptions options, CancellationToken cancellationToken); 39public static SyntaxNode AddImport( 40this IAddImportsService service, SemanticModel semanticModel, SyntaxNode root, 41SyntaxNode contextLocation, SyntaxNode newImport, SyntaxGenerator generator, AddImportPlacementOptions options,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\IInitializeParameterService.cs (4)
19SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement); 25SyntaxNode functionDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (37)
40SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 48SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 56SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 64SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 73SyntaxNode location, 74SyntaxNode? containerOpt, 82var container = containerOpt ?? location.AncestorsAndSelf().FirstOrDefault( 96protected virtual IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 180public bool IsWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 183public bool IsOnlyWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 186public bool IsInOutContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 189public bool IsInRefContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 192public bool IsInInContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 195public bool CanReplaceWithRValue(SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken) 204public bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel) 210public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement) 213public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 216public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 219public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 222public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 228public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 231public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 234public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 237public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 240public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 243public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 246public bool IsInsideNameOfExpression(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 252public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol? expressionTypeOpt, CancellationToken cancellationToken) 255public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 258public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 264public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\ISemanticFactsService.cs (11)
27SemanticModel semanticModel, SyntaxNode location, 28SyntaxNode? container, string baseName, CancellationToken cancellationToken); 31SemanticModel semanticModel, SyntaxNode location, 32SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 34SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, string baseName, 38SemanticModel semanticModel, SyntaxNode location, 39SyntaxNode? container, string baseName, CancellationToken cancellationToken); 42SemanticModel semanticModel, SyntaxNode location, 43SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 47IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxFactsService\ISyntaxFactsService.cs (4)
18Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree syntaxTree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken); 26SyntaxNode root, TContextNode contextNode, 27out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.cs (2)
91SemanticModel semanticModel, SyntaxNode expression, 110SemanticModel semanticModel, SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (2)
27ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken); 31ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (20)
22where TMemberDeclarationSyntax : SyntaxNode 24where TAccessorDeclarationSyntax : SyntaxNode 32public abstract SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 34protected abstract SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode); 49public async Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken) 66var previousRoot = await previousSemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67var currentRoot = await currentBodyNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 68var previousBodyNode = GetPreviousBodyNode(previousRoot, currentRoot, currentBodyNode); 90protected SyntaxNode? GetPreviousBodyNode(SyntaxNode previousRoot, SyntaxNode currentRoot, SyntaxNode currentBodyNode) 98var previousContainer = GetPreviousBodyNode(previousRoot, currentRoot, currentContainer); 124var previousNode = previousRoot; 136var childAsNode = children[childIndex].AsNode(); 150private static void GetNodeChildIndexPathToRootReversed(SyntaxNode node, ArrayBuilder<int> path) 152var current = node; 153var parent = current.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseLanguageService.cs (3)
22SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 36Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseWorkspaceService.cs (2)
19/// Don't call this directly. use <see cref="DocumentExtensions.ReuseExistingSpeculativeModelAsync(Document, SyntaxNode, CancellationToken)"/> (or an overload). 21ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (30)
30where TCompilationUnitSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 33where TCrefSyntax : SyntaxNode 35protected static readonly Func<SyntaxNode, bool> s_containsAnnotations = n => n.ContainsAnnotations; 40protected abstract ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans); 41protected abstract SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode); 42protected abstract bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node); 43protected abstract void AddImportDeclarations(TCompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations); 48protected virtual SyntaxNode TransformReducedNode(SyntaxNode reducedNode, SyntaxNode originalNode) 51public abstract SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken); 52public abstract SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken); 115var reducedNodesMap = new ConcurrentDictionary<SyntaxNode, SyntaxNode>(); 152SyntaxNode root, 156ConcurrentDictionary<SyntaxNode, SyntaxNode> reducedNodesMap, 218var replacedParent = isNode 232var currentNode = currentNodeOrToken.AsNode()!; 237var newRoot = root.ReplaceNode(nodeOrToken.AsNode()!, currentNode.WithAdditionalAnnotations(marker)); 285using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var importDeclarations); 300var root = await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 302var unusedImports = new HashSet<SyntaxNode>(); 311var newRoot = gen.RemoveNodes(root, unusedImports); 320protected abstract void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\ISimplificationService.cs (4)
16SyntaxNode Expand( 17SyntaxNode node, 20Func<SyntaxNode, bool>? expandInsideNode, 27Func<SyntaxNode, bool>? expandInsideNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\SimplificationHelpers.cs (4)
17public static TNode CopyAnnotations<TNode>(SyntaxNode from, TNode to) where TNode : SyntaxNode 63public static ISymbol? GetOriginalSymbolInfo(SemanticModel semanticModel, SyntaxNode expression) 99public static bool IsNamespaceOrTypeOrThisParameter(SyntaxNode expression, SemanticModel semanticModel)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
18where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractSimplifier.cs (2)
12where TSyntax : SyntaxNode 13where TSimplifiedSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (2)
26SyntaxNode declarationSyntax, 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (4)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices) 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 49var root = SyntaxTree.WithChangedText(text).GetRoot(cancellationToken); 53public ParsedDocument WithChangedRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SemanticDocument.cs (3)
13internal sealed class SemanticDocument(Document document, SourceText text, SyntaxNode root, SemanticModel semanticModel) 21var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26public new async ValueTask<SemanticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SyntacticDocument.cs (4)
16public readonly SyntaxNode Root; 18protected SyntacticDocument(Document document, SourceText text, SyntaxNode root) 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 35public ValueTask<SyntacticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.CSharp (3759)
Binder\Binder_Await.cs (14)
29private BoundAwaitExpression BindAwait(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics) 52internal BoundAwaitableInfo BindAwaitInfo(BoundAwaitableValuePlaceholder getAwaiterPlaceholder, SyntaxNode node, BindingDiagnosticBag diagnostics, ref bool hasErrors, BoundExpression? expressionOpt = null) 124var syntax = expression.Syntax; 270SyntaxNode node, 286SyntaxNode node, 420SyntaxNode node, 477static bool isValidConversion(TypeSymbol exprType, MethodSymbol method, SyntaxNode node, BindingDiagnosticBag diagnostics, Binder @this, out Conversion conversion) 495bool getRuntimeAwaitAwaiter(TypeSymbol awaiterType, out BoundCall? runtimeAwaitAwaiterCall, out BoundAwaitableValuePlaceholder? placeholder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 552static void reportObsoleteAndUnsafeDiagnostics(Binder @this, BindingDiagnosticBag diagnostics, MethodSymbol method, SyntaxNode syntax) 563private static bool ValidateAwaitedExpression(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics) 591private bool GetGetAwaiterMethod(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics, [NotNullWhen(true)] out BoundExpression? getAwaiterCall) 638private bool GetIsCompletedProperty(TypeSymbol awaiterType, SyntaxNode node, TypeSymbol awaitedExpressionType, BindingDiagnosticBag diagnostics, [NotNullWhen(true)] out PropertySymbol? isCompletedProperty) 688private bool AwaiterImplementsINotifyCompletion(TypeSymbol awaiterType, SyntaxNode node, BindingDiagnosticBag diagnostics) 712private bool GetGetResultMethod(BoundExpression awaiterExpression, SyntaxNode node, TypeSymbol awaitedExpressionType, BindingDiagnosticBag diagnostics, out MethodSymbol? getResultMethod, [NotNullWhen(true)] out BoundExpression? getAwaiterGetResultCall)
Binder\Binder_Conversions.cs (48)
42SyntaxNode syntax, 55SyntaxNode syntax, 136SyntaxNode syntax, 360void reportUseSiteDiagnostics(SyntaxNode syntax, Conversion conversion, BoundExpression source, TypeSymbol destination, BindingDiagnosticBag diagnostics) 375void ensureAllUnderlyingConversionsChecked(SyntaxNode syntax, BoundExpression source, Conversion conversion, bool wasCompilerGenerated, TypeSymbol destination, BindingDiagnosticBag diagnostics) 472void checkConstraintLanguageVersionAndRuntimeSupportForConversion(SyntaxNode syntax, Conversion conversion, BoundExpression source, TypeSymbol destination, BindingDiagnosticBag diagnostics) 633static void reportUseSiteOrMissing(MethodSymbol? method, object containingType, string methodName, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 806private static void CheckInlineArrayTypeIsSupported(SyntaxNode syntax, TypeSymbol inlineArrayType, TypeSymbol elementType, BindingDiagnosticBag diagnostics) 819SyntaxNode syntax, BoundUnconvertedObjectCreationExpression node, Conversion conversion, bool isCast, TypeSymbol destination, 853SyntaxNode syntax, InitializerExpressionSyntax? initializerOpt, Binder binder, 973var syntax = _node.Syntax; 1023var syntax = _node.Syntax; 1090ref readonly CollectionExpressionConverter @this, SyntaxNode syntax, MethodSymbol? constructor) 1134ref readonly CollectionExpressionConverter @this, SyntaxNode syntax, TypeSymbol targetType) 1194var expressionSyntax = element.Expression.Syntax; 1221var syntax = _node.Syntax; 1270var withSyntax = withElement.Syntax; 1383var syntax = @this._node.WithElement?.Syntax ?? @this._node.Syntax; 1497SyntaxNode syntax, 1630SyntaxNode syntax, 1654SyntaxNode syntax, 1769SyntaxNode node, 1802SyntaxNode typeNode, 1833internal bool HasCollectionExpressionApplicableAddMethod(SyntaxNode syntax, TypeSymbol targetType, out ImmutableArray<MethodSymbol> addMethods, BindingDiagnosticBag diagnostics) 1874SyntaxNode elementInitializer, 1892SyntaxNode node, 1932SyntaxNode node, 1933SyntaxNode expression, 1947SyntaxNode syntax, 1948SyntaxNode expression, 2058Binder addMethodBinder, SyntaxNode syntax, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, 2177SyntaxNode node, 2178SyntaxNode expression, 2287internal bool TryGetCollectionIterationType(SyntaxNode syntax, TypeSymbol collectionType, out TypeWithAnnotations iterationType) 2519SyntaxNode syntax, 2709SyntaxNode syntax, 2838SyntaxNode syntax, BoundExpression source, Conversion conversion, bool isCast, 2899SyntaxNode syntax, BoundExpression source, Conversion conversion, bool isCast, 2930SyntaxNode syntax, BoundExpression source, Conversion conversion, bool isCast, 2954private static void CheckParameterModifierMismatchMethodConversion(SyntaxNode syntax, MethodSymbol lambdaOrMethod, TypeSymbol targetType, bool invokedAsExtensionMethod, BindingDiagnosticBag diagnostics) 3091SyntaxNode syntax, BoundExpression source, Conversion conversion, bool isCast, 3124SyntaxNode syntax, BoundTupleLiteral sourceTuple, Conversion conversion, bool isCast, 3286private bool MemberGroupFinalValidation(BoundExpression? receiverOpt, MethodSymbol methodSymbol, SyntaxNode node, BindingDiagnosticBag diagnostics, bool invokedAsExtensionMethod) 3361private bool MemberGroupFinalValidationAccessibilityChecks(BoundExpression? receiverOpt, Symbol memberSymbol, SyntaxNode node, BindingDiagnosticBag diagnostics, bool invokedAsExtensionMethod) 3427SyntaxNode errorNode = node; 3701SyntaxNode syntax, 3800SyntaxNode syntax, 3902SyntaxNode syntax,
Binder\Binder_Crefs.cs (1)
1234SyntaxNode? parentSyntax = syntax.Parent; // Could be null when speculating.
Binder\Binder_Deconstruct.cs (8)
245SyntaxNode syntax, 246SyntaxNode rightSyntax, 304var elementSyntax = syntax.Kind() == SyntaxKind.TupleExpression ? ((TupleExpressionSyntax)syntax).Arguments[i] : syntax; 438internal DeconstructionVariable(BoundExpression variable, SyntaxNode syntax) 445internal DeconstructionVariable(ArrayBuilder<DeconstructionVariable> variables, SyntaxNode syntax) 616SyntaxNode rightSyntax, 717private BoundBadExpression MissingDeconstruct(BoundExpression receiver, SyntaxNode rightSyntax, int numParameters, BindingDiagnosticBag diagnostics, 855SyntaxNode syntax,
Binder\Binder_Expressions.cs (126)
118private BoundBadExpression BadExpression(SyntaxNode syntax) 126private BoundBadExpression BadExpression(SyntaxNode syntax, BoundExpression childNode) 134private BoundBadExpression BadExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> childNodes) 142protected BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind lookupResultKind) 150protected BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind lookupResultKind, BoundExpression childNode) 158private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols) 171private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode) 196private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false) 450var syntax = expr.Syntax; 492TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, result) is (ParameterSymbol parameter, SyntaxNode syntax) && 1241private static string InferTupleElementName(SyntaxNode syntax) 1564internal void ReportFieldContextualKeywordConflictIfAny(Symbol? symbol, SyntaxNode syntax, SyntaxToken identifier, BindingDiagnosticBag diagnostics) 2333var declarator = localSymbol.GetDeclaratorSyntax(); 2369private BoundExpression SynthesizeReceiver(SyntaxNode node, Symbol member, BindingDiagnosticBag diagnostics) 2445private BoundExpression TryBindInteractiveReceiver(SyntaxNode syntax, NamedTypeSymbol memberDeclaringType) 2596private BoundThisReference ThisReference(SyntaxNode node, NamedTypeSymbol thisTypeOpt, bool hasErrors = false, bool wasCompilerGenerated = false) 2845SyntaxNode syntax, 3055private static NameSyntax GetNameSyntax(SyntaxNode syntax) 3068internal static NameSyntax GetNameSyntax(SyntaxNode syntax, out string nameString) 3371internal static void CheckRestrictedTypeInAsyncMethod(Symbol containingSymbol, TypeSymbol type, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 3386internal GlobalExpressionVariable LookupDeclaredField(SyntaxNode node, string identifier) 3502SyntaxNode node, 3650SyntaxNode node, 3923SyntaxNode placeholderSyntax; 4665private bool ReportBadStackAllocPosition(SyntaxNode node, BindingDiagnosticBag diagnostics) 4690private TypeSymbol GetStackAllocType(SyntaxNode node, TypeWithAnnotations elementTypeWithAnnotations, BindingDiagnosticBag diagnostics, out bool hasErrors) 4728static bool isStackallocTargetTyped(SyntaxNode node) 4732SyntaxNode equalsValueClause = node.Parent; 4739SyntaxNode variableDeclarator = equalsValueClause.Parent; 4746SyntaxNode variableDeclaration = variableDeclarator.Parent; 4759SyntaxNode node, 5140if (TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, analyzedArguments.Argument(i)) is (ParameterSymbol parameter, SyntaxNode syntax)) 5237private static (ParameterSymbol, SyntaxNode) TryGetPrimaryConstructorParameterUsedAsValue(SynthesizedPrimaryConstructor primaryConstructor, BoundExpression boundExpression) 5529private BoundExpression BindDelegateCreationExpression(SyntaxNode node, NamedTypeSymbol type, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax initializerOpt, bool wasTargetTyped, BindingDiagnosticBag diagnostics) 5546var argSyntax = analyzedArguments.Arguments[0].Syntax; 5736SyntaxNode node, 5777private BoundBadExpression MakeBadExpressionForObjectCreation(SyntaxNode node, TypeSymbol type, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax? initializerOpt, SyntaxNode? typeSyntax, BindingDiagnosticBag diagnostics, bool wasCompilerGenerated = false) 5798SyntaxNode typeSyntax, 5830SyntaxNode typeSyntax, 6279var memberInitializerSyntax = boundMemberInitializer.Syntax; 6312SyntaxNode creationSyntax, 6375private static void ReportMembersRequiringInitialization(SyntaxNode creationSyntax, ImmutableSegmentedDictionary<string, Symbol>.Builder requiredMembersBuilder, BindingDiagnosticBag diagnostics) 6575SyntaxNode elementInitializer, 6627SyntaxNode elementInitializer, 6833SyntaxNode node, 6835SyntaxNode typeNode, 6932SyntaxNode node, 6933SyntaxNode typeNode, 7019SyntaxNode node, 7020SyntaxNode typeNode, 7078private BoundObjectInitializerExpressionBase MakeBoundInitializerOpt(SyntaxNode typeNode, NamedTypeSymbol type, InitializerExpressionSyntax initializerSyntaxOpt, TypeSymbol initializerTypeOpt, BindingDiagnosticBag diagnostics) 7100private BoundExpression BindInterfaceCreationExpression(SyntaxNode node, NamedTypeSymbol type, BindingDiagnosticBag diagnostics, SyntaxNode typeNode, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax initializerOpt, bool wasTargetTyped) 7126private BoundExpression BindComImportCoClassCreationExpression(SyntaxNode node, NamedTypeSymbol interfaceType, NamedTypeSymbol coClassType, BindingDiagnosticBag diagnostics, SyntaxNode typeNode, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax initializerOpt, bool wasTargetTyped) 7208SyntaxNode node, 7212SyntaxNode typeNode, 7259private static bool TypeParameterHasParameterlessConstructor(SyntaxNode node, TypeParameterSymbol typeParameter, BindingDiagnosticBag diagnostics) 7271SyntaxNode node, TypeParameterSymbol typeParameter, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax? initializerOpt, 7272SyntaxNode typeSyntax, bool wasTargetTyped, BindingDiagnosticBag diagnostics) 8195private void WarnOnAccessOfOffDefault(SyntaxNode node, BoundExpression boundLeft, BindingDiagnosticBag diagnostics) 8257internal BoundExpression? ResolveExtensionMemberAccessIfResultIsNonMethod(SyntaxNode syntax, BoundExpression receiver, string name, 8286private BoundExpression GetExtensionMemberAccess(SyntaxNode syntax, BoundExpression? receiver, Symbol extensionMember, BindingDiagnosticBag diagnostics) 8314SyntaxNode node, 8315SyntaxNode right, 8389ImmutableArray<TypeWithAnnotations> typeArgumentsWithAnnotations, LookupResult lookupResult, BoundMethodGroupFlags flags, SyntaxNode node, 8428var nameSyntax = node.NameSyntax; 8429var syntax = node.MemberAccessExpressionSyntax ?? nameSyntax; 8438SyntaxNode node, 8439SyntaxNode name, 8522var nameSyntax = node.NameSyntax; 8523var syntax = node.MemberAccessExpressionSyntax ?? nameSyntax; 8531SyntaxNode node, 8638SyntaxNode node, 8639SyntaxNode right, 8761SyntaxNode expression, 8845SyntaxNode expression, 8995SyntaxNode expression, 9182private bool TryBindExtensionRealIndexer(SyntaxNode syntax, BoundExpression left, AnalyzedArguments analyzedArguments, 9210SyntaxNode syntax, 9235SyntaxNode syntax, 9279private bool TryBindImplicitIndexerInAnyScope(SyntaxNode syntax, BoundExpression left, AnalyzedArguments analyzedArguments, 9312SyntaxNode syntax, 9390SyntaxNode syntax, 9417SyntaxNode syntax, 9493SyntaxNode node, 9535SyntaxNode syntax, 9564SyntaxNode syntax, 9641SyntaxNode syntax, 9757SyntaxNode syntax, 9802SyntaxNode node, 9981SyntaxNode node, 10007private void CheckReceiverAndRuntimeSupportForSymbolAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol symbol, BindingDiagnosticBag diagnostics) 10067SyntaxNode node, 10118SyntaxNode node, 10173private Symbol GetSymbolOrMethodOrPropertyGroup(LookupResult result, SyntaxNode node, string plainName, int arity, ArrayBuilder<Symbol> methodOrPropertyGroup, BindingDiagnosticBag diagnostics, out bool wasError, NamespaceOrTypeSymbol qualifierOpt) 10540static void checkInlineArrayBounds(SyntaxNode location, int index, int end, bool excludeEnd, BindingDiagnosticBag diagnostics) 10550SyntaxNode location; 10560internal static int? InferConstantIndexFromSystemIndex(CSharpCompilation compilation, BoundExpression convertedIndex, int length, out SyntaxNode location) 10593private BoundExpression BadIndexerExpression(SyntaxNode node, BoundExpression expr, AnalyzedArguments analyzedArguments, DiagnosticInfo errorOpt, BindingDiagnosticBag diagnostics) 10605SyntaxNode node, 10639private BoundExpression BindArrayAccess(SyntaxNode node, BoundExpression expr, AnalyzedArguments arguments, BindingDiagnosticBag diagnostics) 10737var node = index.Syntax; 10789private BoundExpression TryImplicitConversionToArrayIndex(BoundExpression expr, WellKnownType wellKnownType, SyntaxNode node, BindingDiagnosticBag diagnostics) 10810private BoundExpression TryImplicitConversionToArrayIndex(BoundExpression expr, SpecialType specialType, SyntaxNode node, BindingDiagnosticBag diagnostics) 10827private BoundExpression TryImplicitConversionToArrayIndex(BoundExpression expr, TypeSymbol targetType, SyntaxNode node, BindingDiagnosticBag diagnostics) 10851private BoundExpression BindPointerElementAccess(SyntaxNode node, BoundExpression expr, AnalyzedArguments analyzedArguments, BindingDiagnosticBag diagnostics) 10913private BoundExpression BindIndexerAccess(SyntaxNode node, BoundExpression expr, AnalyzedArguments analyzedArguments, BindingDiagnosticBag diagnostics) 11021var syntax = propertyGroup.Syntax; 11049private BoundExpression BindIndexedPropertyAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<PropertySymbol> propertyGroup, AnalyzedArguments arguments, BindingDiagnosticBag diagnostics) 11065SyntaxNode syntax, 11109SyntaxNode syntax, 11148SyntaxNode syntax, 11205private BoundIndexerAccess BindResolvedIndexerOrIndexedPropertyAccess(SyntaxNode syntax, BoundExpression receiver, AnalyzedArguments analyzedArguments, BindingDiagnosticBag diagnostics, ImmutableArray<string> argumentNames, ImmutableArray<RefKind> argumentRefKinds, MemberResolutionResult<PropertySymbol> resolutionResult) 11253SyntaxNode syntax, 11289SyntaxNode syntax, 11346SyntaxNode syntax, 11393SyntaxNode syntax, 11490SyntaxNode syntax, 11516SyntaxNode syntax, 11535SyntaxNode syntax, 11618SyntaxNode expression, 11650SyntaxNode expression, 12188SyntaxNode syntax, 12300Location location = null, SyntaxNode node = null)
Binder\Binder_InterpolatedString.cs (5)
339SyntaxNode syntax = unconvertedSource.Syntax; 370ImmutableArray<BoundExpression> makeInterpolatedStringFactoryArguments(SyntaxNode syntax, ImmutableArray<BoundExpression> parts, BindingDiagnosticBag diagnostics) 515private BoundBinaryOperator UpdateBinaryOperatorWithInterpolatedContents(BoundBinaryOperator originalOperator, ImmutableArray<ImmutableArray<BoundExpression>> appendCalls, InterpolatedStringHandlerData data, SyntaxNode rootSyntax, BindingDiagnosticBag diagnostics) 633SyntaxNode syntax, 817static void populateArguments(SyntaxNode syntax, ImmutableArray<BoundInterpolatedStringArgumentPlaceholder> additionalConstructorArguments, int baseStringLength, int numFormatHoles, NamedTypeSymbol intType, ArrayBuilder<BoundExpression> argumentsBuilder)
Binder\Binder_Invocation.cs (34)
79SyntaxNode node, 159private static void ReportMakeInvocationExpressionBadMemberKind(SyntaxNode node, string methodName, BoundExpression boundExpression, BindingDiagnosticBag diagnostics) 328SyntaxNode node, 329SyntaxNode expression, 400SyntaxNode node, 552SyntaxNode node, 630SyntaxNode node, 631SyntaxNode expression, 686private void ReportMemberNotSupportedByDynamicDispatch<TMember>(SyntaxNode syntax, MemberResolutionResult<TMember> candidate, BindingDiagnosticBag diagnostics) 699SyntaxNode syntax, 700SyntaxNode expression, 736SyntaxNode syntax, 737SyntaxNode expression, 752BoundExpression bindMethodGroupInvocationCore(SyntaxNode syntax, SyntaxNode expression, string methodName, BoundMethodGroup methodGroup, AnalyzedArguments analyzedArguments, MethodGroupResolution resolution, BindingDiagnosticBag diagnostics, CSharpSyntaxNode queryClause, out bool anyApplicableCandidates) 910private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates) 920private bool IsAmbiguousDynamicParamsArgument<TMethodOrPropertySymbol>(ArrayBuilder<BoundExpression> arguments, MemberResolutionResult<TMethodOrPropertySymbol> candidate, out SyntaxNode argumentSyntax) 946SyntaxNode syntax, 980if (IsAmbiguousDynamicParamsArgument(resolution.AnalyzedArguments.Arguments, methodResolutionResult, out SyntaxNode argumentSyntax)) 999SyntaxNode syntax, 1000SyntaxNode expression, 1035SyntaxNode syntax, 1164SyntaxNode node, 1165SyntaxNode expression, 1438private static SourceLocation GetCallerLocation(SyntaxNode syntax) 1453private BoundExpression GetDefaultParameterSpecialNoConversion(SyntaxNode syntax, ParameterSymbol parameter, BindingDiagnosticBag diagnostics) 1555SyntaxNode node, 1689BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics, 1861private BoundExpression CreateParamsCollection(SyntaxNode node, ParameterSymbol paramsParameter, ImmutableArray<BoundExpression> collectionArgs, BindingDiagnosticBag diagnostics) 1954private static Location GetLocationForOverloadResolutionDiagnostic(SyntaxNode node, SyntaxNode expression) 2065SyntaxNode node, 2347SyntaxNode node, 2558private BoundFunctionPointerInvocation BindFunctionPointerInvocation(SyntaxNode node, BoundExpression boundExpression, AnalyzedArguments analyzedArguments, BindingDiagnosticBag diagnostics)
Binder\Binder_Lambda.cs (4)
424[ThreadStatic] private static PooledDictionary<SyntaxNode, int>? s_lambdaBindings; 431where TSyntax : SyntaxNode 435var bindings = PooledDictionary<SyntaxNode, int>.GetInstance(); 466internal static void RecordLambdaBinding(SyntaxNode syntax)
Binder\Binder_Lookup.cs (1)
1779internal bool IsAccessible(Symbol symbol, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Binder\Binder_Operators.cs (8)
1656UnaryOperatorAnalysisResult operatorOverloadResolution(SyntaxNode node, BoundExpression operand, UnaryOperatorKind kind, BindingDiagnosticBag diagnostics) 2215private void ReportOperatorUseSiteDiagnostics(MethodSymbol operatorMethod, SyntaxNode node, BindingDiagnosticBag diagnostics) 2298SyntaxNode node, 2327SyntaxNode node, 3992private bool CheckConstraintLanguageVersionAndRuntimeSupportForOperator(SyntaxNode node, MethodSymbol? methodOpt, bool isUnsignedRightShift, TypeSymbol? constrainedToTypeOpt, BindingDiagnosticBag diagnostics) 6050private void ValidateRefConditionalOperator(SyntaxNode node, BoundExpression trueExpr, BoundExpression falseExpr, BindingDiagnosticBag diagnostics) 6107private void CheckNativeIntegerFeatureAvailability(BinaryOperatorKind operatorKind, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 6123private void CheckNativeIntegerFeatureAvailability(UnaryOperatorKind operatorKind, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Binder\Binder_Patterns.cs (14)
28protected NamedTypeSymbol? PrepareForUnionMatchingIfAppropriateAndReturnUnionMatchingInputType(SyntaxNode node, ref TypeSymbol inputType, ref NamedTypeSymbol? unionType, BindingDiagnosticBag diagnostics) 90SyntaxNode node, 420private bool IsCountableAndIndexable(SyntaxNode node, TypeSymbol inputType, out PropertySymbol? lengthProperty) 428private bool BindLengthAndIndexerForListPattern(SyntaxNode node, TypeSymbol inputType, BindingDiagnosticBag diagnostics, 451SyntaxNode node) 491SyntaxNode node, 863SyntaxNode typeSyntax, 955private bool CheckValidPatternTypeForUnionCases(SyntaxNode typeSyntax, NamedTypeSymbol unionType, TypeSymbol patternType, BindingDiagnosticBag diagnostics, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1044SyntaxNode node, 1099CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declType.Type, diagnostics, typeSyntax ?? (SyntaxNode)designation); 1451SyntaxNode node, 1517private static FieldSymbol? CheckIsTupleElement(SyntaxNode node, NamedTypeSymbol tupleType, string name, int tupleIndex, BindingDiagnosticBag diagnostics) 1911SyntaxNode node, 1932SyntaxNode node,
Binder\Binder_Query.cs (1)
121private static string GetFirstInvokedMethodName(QueryExpressionSyntax query, out SyntaxNode correspondingAccessNode)
Binder\Binder_QueryErrors.cs (2)
26SyntaxNode queryClause, 33for (SyntaxNode node = queryClause; ; node = node.Parent)
Binder\Binder_Statements.cs (23)
761internal MethodSymbol TryFindDisposePatternMethod(BoundExpression expr, SyntaxNode syntaxNode, bool hasAwait, BindingDiagnosticBag diagnostics, out bool isExpanded) 1238SyntaxNode initializerSyntax = initializerOpt.Syntax; 1368SyntaxNode initializerSyntax = initializer.Syntax; 1480SyntaxNode node, 1549SyntaxNode node, 1667internal static PropertySymbol GetPropertySymbol(BoundExpression expr, out BoundExpression receiver, out SyntaxNode propertySyntax) 1720var syntax = expr.Syntax; 1767private static SyntaxNode GetEventName(BoundEventAccess expr) 1769SyntaxNode syntax = expr.Syntax; 2037private static Location GetAnonymousFunctionLocation(SyntaxNode node) 2045internal void GenerateAnonymousFunctionConversionError(BindingDiagnosticBag diagnostics, SyntaxNode syntax, 2278protected static void GenerateImplicitConversionError(BindingDiagnosticBag diagnostics, CSharpCompilation compilation, SyntaxNode syntax, 2348SyntaxNode syntax, 2493var nodeForError = syntax; 2979name ?? (SyntaxNode)node, 3201SyntaxNode syntax, 3464private void ReportCantConvertLambdaReturn(SyntaxNode syntax, BindingDiagnosticBag diagnostics) 3491private static Location GetLocationForDiagnostics(SyntaxNode node) 3508private static bool IsValidStatementExpression(SyntaxNode syntax, BoundExpression expression) 3542var syntax = expressionSyntax ?? expression.Syntax; 3627private static bool IsValidExpressionBody(SyntaxNode expressionSyntax, BoundExpression expression) 3885internal BoundExpressionStatement? BindImplicitConstructorInitializer(SyntaxNode ctorSyntax, BindingDiagnosticBag diagnostics) 4211SyntaxNode syntaxNode, BindingDiagnosticBag diagnostics, out MethodSymbol result, out bool isExpanded)
Binder\Binder_Symbols.cs (25)
194private NamespaceOrTypeOrAliasSymbolWithAnnotations BindTypeOrAliasOrKeyword(SyntaxToken identifier, SyntaxNode syntax, BindingDiagnosticBag diagnostics, out bool isKeyword) 1106private NamespaceOrTypeOrAliasSymbolWithAnnotations UnwrapAlias(in NamespaceOrTypeOrAliasSymbolWithAnnotations symbol, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1117private NamespaceOrTypeOrAliasSymbolWithAnnotations UnwrapAlias(in NamespaceOrTypeOrAliasSymbolWithAnnotations symbol, out AliasSymbol alias, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1128private Symbol UnwrapAlias(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1134private Symbol UnwrapAlias(Symbol symbol, out AliasSymbol alias, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1395private NamedTypeSymbol ConstructNamedTypeUnlessTypeArgumentOmitted(SyntaxNode typeSyntax, NamedTypeSymbol type, SeparatedSyntaxList<TypeSyntax> typeArgumentsSyntax, ImmutableArray<TypeWithAnnotations> typeArguments, BindingDiagnosticBag diagnostics) 1439SyntaxNode syntax, 1487private BoundExpression CheckAmbiguousPrimaryConstructorParameterAsColorColorReceiver(BoundExpression receiver, SyntaxNode right, string plainName, 1633SyntaxNode typeSyntax, 1713internal NamedTypeSymbol GetSpecialType(ExtendedSpecialType typeId, BindingDiagnosticBag diagnostics, SyntaxNode node) 1718internal static NamedTypeSymbol GetSpecialType(CSharpCompilation compilation, ExtendedSpecialType typeId, SyntaxNode node, BindingDiagnosticBag diagnostics) 1738internal Symbol GetSpecialTypeMember(SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1743internal static Symbol GetSpecialTypeMember(CSharpCompilation compilation, SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1751internal static bool TryGetSpecialTypeMember<TSymbol>(CSharpCompilation compilation, SpecialMember specialMember, SyntaxNode syntax, BindingDiagnosticBag diagnostics, out TSymbol symbol, bool isOptional = false) 1807internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode node) 1832internal NamedTypeSymbol GetWellKnownType(WellKnownType type, BindingDiagnosticBag diagnostics, SyntaxNode node) 1850internal static NamedTypeSymbol GetWellKnownType(CSharpCompilation compilation, WellKnownType type, BindingDiagnosticBag diagnostics, SyntaxNode node) 1894internal Symbol GetWellKnownTypeMember(WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1903internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1991SyntaxNode where, 2020SyntaxNode where, 2389SyntaxNode node = where; 2630private CSDiagnosticInfo NotFound(SyntaxNode where, string simpleName, int arity, string whereText, BindingDiagnosticBag diagnostics, string aliasOpt, NamespaceOrTypeSymbol qualifierOpt, LookupOptions options) 2825internal static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, BindingDiagnosticBag diagnostics, Location? location = null) 2834private static bool CheckFeatureAvailability(SyntaxNode syntax, MessageID feature, DiagnosticBag? diagnostics, Location? location = null)
Binder\Binder.CapturedParametersFinder.cs (1)
168if (IsTypeOrValueReceiver(enclosingBinder, id, parameter.Type, out SyntaxNode? memberAccessNode, out string? memberName, out int targetMemberArity, out bool invoked))
Binder\Binder.cs (10)
77protected virtual SyntaxNode? EnclosingNameofArgument => NextRequired.EnclosingNameofArgument; 81internal static bool IsObjectInitializerMemberTarget(SyntaxNode node) 196internal virtual Binder? GetBinder(SyntaxNode node) 206internal Binder GetRequiredBinder(SyntaxNode node) 216internal virtual ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 235internal virtual SyntaxNode? ScopeDesignator 568internal static void Error(BindingDiagnosticBag diagnostics, DiagnosticInfo info, SyntaxNode syntax) 631internal void ReportDiagnosticsIfObsolete(DiagnosticBag diagnostics, Symbol symbol, SyntaxNode node, bool hasBaseReceiver) 796internal static void ReportDisallowedExtensionBlockMethod(MethodSymbol method, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 804internal void ReportDisallowedExtensionBlockIndexer(PropertySymbol property, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Binder\Binder.IdentifierUsedAsValueFinder.cs (5)
35foreach (var n in nodesOfInterest) 107static Binder getEnclosingBinderForNode(CSharpSyntaxNode contextNode, Binder contextBinder, SyntaxNode targetNode) 128static bool childrenNeedChecking(SyntaxNode n) 219[NotNullWhen(true)] out SyntaxNode? memberAccessNode, 261SyntaxNode memberAccessNode,
Binder\Binder.OperatorResolutionForReporting.cs (4)
81internal readonly bool TryReportDiagnostics(SyntaxNode node, Binder binder, object leftDisplay, object? rightDisplay, BindingDiagnosticBag diagnostics) 98SyntaxNode node, 221static bool hadAmbiguousBestMethods(ArrayBuilder<(MethodSymbol?, OperatorAnalysisResultKind)> results, SyntaxNode node, Binder binder, BindingDiagnosticBag diagnostics) 232static SyntaxNodeOrToken nodeToReport(SyntaxNode node)
Binder\Binder.ValueChecks.cs (35)
937internal bool CheckValueKind(SyntaxNode node, BoundExpression expr, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1221bool checkArrayAccessValueKind(SyntaxNode node, BindValueKind valueKind, ImmutableArray<BoundExpression> indices, BindingDiagnosticBag diagnostics) 1243private static void ReportThisLvalueError(SyntaxNode node, BindValueKind valueKind, bool isValueType, bool isPrimaryConstructorParameter, BindingDiagnosticBag diagnostics) 1277private static bool IsInPossibleBadNegCastContext(SyntaxNode syntax) 1298private void CheckAddressOfInAsyncOrIteratorMethod(SyntaxNode node, BindValueKind valueKind, BindingDiagnosticBag diagnostics) 1313private bool CheckLocalValueKind(SyntaxNode node, BoundLocal local, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1358private bool CheckLocalRefEscape(SyntaxNode node, BoundLocal local, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1403private bool CheckParameterValueKind(SyntaxNode node, BoundParameter parameter, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1466static void reportReadOnlyParameterError(ParameterSymbol parameterSymbol, SyntaxNode node, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1550private bool CheckParameterValEscape(SyntaxNode node, ParameterSymbol parameter, SafeContext escapeTo, BindingDiagnosticBag diagnostics) 1568private bool CheckParameterRefEscape(SyntaxNode node, BoundExpression parameter, ParameterSymbol parameterSymbol, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1611private bool CheckFieldValueKind(SyntaxNode node, BoundFieldAccess fieldAccess, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1759private bool CheckSimpleAssignmentValueKind(SyntaxNode node, BoundAssignmentOperator assignment, BindValueKind valueKind, BindingDiagnosticBag diagnostics) 1797private bool CheckFieldRefEscape(SyntaxNode node, BoundFieldAccess fieldAccess, SafeContext escapeTo, BindingDiagnosticBag diagnostics) 1821private bool CheckFieldLikeEventRefEscape(SyntaxNode node, BoundEventAccess eventAccess, SafeContext escapeTo, BindingDiagnosticBag diagnostics) 1841SyntaxNode eventSyntax = GetEventName(boundEvent); //does not include receiver 1911private bool CheckIsValidReceiverForVariable(SyntaxNode node, BoundExpression receiver, BindValueKind kind, BindingDiagnosticBag diagnostics) 1944SyntaxNode callSyntaxOpt, 1945SyntaxNode node, 1987private bool CheckPropertyValueKind(SyntaxNode node, BoundExpression expr, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1995SyntaxNode propertySyntax; 2212private bool IsBadBaseAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol member, BindingDiagnosticBag diagnostics, 2473SyntaxNode syntax, 2494bool checkInvocationEscapeWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, 2569SyntaxNode syntax, 2622SyntaxNode syntax, 3115SyntaxNode syntax, 3156SyntaxNode syntax, 3168bool checkInvocationArgMixingWithOldRules(SyntaxNode syntax, ref readonly MethodInvocationInfo methodInvocationInfo, BindingDiagnosticBag diagnostics, Symbol symbolForReporting) 3250SyntaxNode syntax, 3435private static void ReportReadonlyLocalError(SyntaxNode node, LocalSymbol local, BindValueKind kind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 3597private static void ReportReadOnlyFieldError(FieldSymbol field, SyntaxNode node, BindValueKind kind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 3633private static void ReportReadOnlyError(Symbol symbol, SyntaxNode node, BindValueKind kind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 3972internal bool CheckRefEscape(SyntaxNode node, BoundExpression expr, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics) 5032internal bool CheckValEscape(SyntaxNode node, BoundExpression expr, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics)
Binder\BinderFactory.BinderFactoryVisitor.cs (4)
85public override Binder DefaultVisit(SyntaxNode parent) 92public override Binder Visit(SyntaxNode node) 98private Binder VisitCore(SyntaxNode node) 1088var node = token.Parent;
Binder\BinderFactory.cs (2)
109internal Binder GetBinder(SyntaxNode node, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null) 124internal Binder GetBinder(SyntaxNode node, int position, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null)
Binder\BindingDiagnosticBag.cs (2)
95internal bool ReportUseSite(Symbol? symbol, SyntaxNode node) 161internal CSDiagnosticInfo Add(ErrorCode code, SyntaxNode syntax, params object[] args)
Binder\BlockBinder.cs (2)
66internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 76internal override SyntaxNode ScopeDesignator
Binder\BuckStopsHereBinder.cs (3)
64protected override SyntaxNode? EnclosingNameofArgument => null; 159internal override Binder? GetBinder(SyntaxNode node) 164internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
Binder\CatchClauseBinder.cs (2)
45internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 60internal override SyntaxNode ScopeDesignator
Binder\CollectionInitializerAddMethodBinder.cs (2)
14public SyntaxNode Syntax { get; } 17internal CollectionInitializerAddMethodBinder(SyntaxNode syntax, TypeSymbol collectionType, Binder next)
Binder\DecisionDagBuilder_CheckOrReachability.cs (31)
63SyntaxNode syntax, 77var redundantNodes = PooledHashSet<SyntaxNode>.GetInstance(); 102private static bool ShouldAnalyze(CSharpCompilation compilation, SyntaxNode patternSyntax) 108static bool isRedundantPatternWarningEnabled(CSharpCompilation compilation, SyntaxNode syntax) 137SyntaxNode syntax, 147var redundantNodes = PooledHashSet<SyntaxNode>.GetInstance(); 157SyntaxNode syntax, 161PooledHashSet<SyntaxNode> redundantNodes, 196SyntaxNode syntax, 206var redundantNodes = PooledHashSet<SyntaxNode>.GetInstance(); 232SyntaxNode syntax, 236PooledHashSet<SyntaxNode> redundantNodes, 280private static void ReportRedundant(PooledHashSet<SyntaxNode> redundantNodes, BindingDiagnosticBag diagnostics) 282foreach (var node in redundantNodes) 294private static bool ShouldWarn(SyntaxNode syntax) 343private static bool FindNotInBinary(SyntaxNode syntax) 369public readonly SyntaxNode Syntax; 372public readonly PooledHashSet<SyntaxNode> RedundantNodes; 375DecisionDagBuilder builder, BoundDagTemp rootIdentifier, SyntaxNode syntax, PooledHashSet<SyntaxNode> redundantNodes) 414SyntaxNode syntax, 416PooledHashSet<SyntaxNode> redundantNodes) 476SyntaxNode? diagSyntax = pattern.Syntax; 720private readonly SyntaxNode? _operationSyntax; 729private OperandOrOperation(BoundPattern? operand, bool? disjunction, SyntaxNode? operationSyntax) 736public static OperandOrOperation CreateOperation(bool disjunction, SyntaxNode operationSyntax) 758public bool IsOperation(out bool disjunction, [NotNullWhen(true)] out SyntaxNode? operationSyntax) 808if (operandOrOperation.IsOperation(out bool disjunction, out SyntaxNode? operationSyntax)) 955private void PushBinaryOperation(SyntaxNode syntax, int endOfLeft, bool disjunction) 1266private void VisitPatternAndCombine(SyntaxNode syntax, BoundPattern pattern, int startOfLeft) 1476private static BoundDiscardPattern MakeDiscardPattern(SyntaxNode syntax, TypeSymbol inputType)
Binder\DecisionDagBuilder_ListPatterns.cs (1)
24var syntax = list.Syntax;
Binder\DecisionDagBuilder.cs (24)
84SyntaxNode syntax, 100SyntaxNode syntax, 116SyntaxNode syntax, 130SyntaxNode syntax, 145SyntaxNode syntax, 170SyntaxNode syntax, 190SyntaxNode syntax, 505var syntax = pattern.Syntax; 628SyntaxNode syntax, 751private bool TryMakeTestsForUnionHasValue(SyntaxNode syntax, TestInputOutputInfo inputInfo, bool sense, [NotNullWhen(true)] out Tests? tests) 782SyntaxNode syntax, 919private static Tests MakeConstantTest(SyntaxNode syntax, BoundDagTemp input, ConstantValue constantValue) 981SyntaxNode syntax = pattern.Syntax; 1215private BoundDecisionDag MakeBoundDecisionDag(SyntaxNode syntax, ref TemporaryArray<StateForCase> cases) 1668BoundDecisionDagNode finalState(SyntaxNode syntax, LabelSymbol label, ImmutableArray<BoundPatternBinding> bindings) 1964SyntaxNode syntax, 2127SyntaxNode syntax, 2185SyntaxNode syntax, 3169public readonly SyntaxNode Syntax; 3176SyntaxNode Syntax, 3452SyntaxNode syntax = test.Syntax; 4043internal readonly SyntaxNode Syntax; 4045public ValueSet(BoundDagTemp input, IConstantValueSet values, SyntaxNode syntax) 5017var syntax = builder[0] switch
Binder\EmbeddedStatementBinder.cs (2)
69internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 79internal override SyntaxNode ScopeDesignator
Binder\ExecutableCodeBinder.cs (10)
28private readonly SyntaxNode _root; 29private readonly Action<Binder, SyntaxNode> _binderUpdatedHandler; 30private SmallDictionary<SyntaxNode, Binder> _lazyBinderMap; 32internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, Action<Binder, SyntaxNode> binderUpdatedHandler = null) 38internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, BinderFlags additionalFlags) 58internal override Binder GetBinder(SyntaxNode node) 66SmallDictionary<SyntaxNode, Binder> map; 83map = SmallDictionary<SyntaxNode, Binder>.Empty; 90private SmallDictionary<SyntaxNode, Binder> BinderMap
Binder\ExpressionListVariableBinder.cs (2)
33internal override SyntaxNode ScopeDesignator 41internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
Binder\ExpressionVariableBinder.cs (3)
19internal override SyntaxNode ScopeDesignator { get; } 21internal ExpressionVariableBinder(SyntaxNode scopeDesignator, Binder next) : base(next) 34internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
Binder\ExpressionVariableFinder.cs (10)
21private SyntaxNode _nodeToBind; 76SyntaxNode previousNodeToBind = _nodeToBind; 105SyntaxNode previousNodeToBind = _nodeToBind; 146SyntaxNode previousNodeToBind = _nodeToBind; 287protected abstract TFieldOrLocalSymbol MakePatternVariable(TypeSyntax type, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind); 535protected abstract TFieldOrLocalSymbol? MakeDeclarationExpressionVariable(DeclarationExpressionSyntax node, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind); 599protected override LocalSymbol? MakePatternVariable(TypeSyntax type, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind) 625protected override LocalSymbol? MakeDeclarationExpressionVariable(DeclarationExpressionSyntax node, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind) 714protected override Symbol MakePatternVariable(TypeSyntax type, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind) 724protected override Symbol MakeDeclarationExpressionVariable(DeclarationExpressionSyntax node, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind)
Binder\FixedStatementBinder.cs (2)
60internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 75internal override SyntaxNode ScopeDesignator
Binder\ForEachEnumeratorInfo.cs (1)
155public readonly void ReportDiagnosticsIfUnsafeMemberAccess(Binder binder, SyntaxNodeOrToken node, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Binder\ForEachLoopBinder.cs (32)
47internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 62internal override SyntaxNode ScopeDesignator 105SyntaxNode deconstructionStatement, 142SyntaxNode deconstructionStatement, 683SyntaxNode syntax, 684SyntaxNode collectionSyntax, 729SyntaxNode exprSyntax = collectionExpr.Syntax; 784SyntaxNode syntax, 785SyntaxNode collectionSyntax, 840private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 942EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 1075private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType) 1082SyntaxNode errorLocationSyntax = collectionSyntax; 1202private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics) 1303private ForEachEnumeratorInfo.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax, ForEachEnumeratorInfo.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType) 1348private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics) 1377private MethodArgumentInfo FindForEachPatternMethod(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, string methodName, LookupResult lookupResult, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1444private MethodArgumentInfo PerformForEachPatternOverloadResolution(SyntaxNode syntax, SyntaxNode collectionSyntax, TypeSymbol patternType, ArrayBuilder<MethodSymbol> candidateMethods, bool warningsOnly, BindingDiagnosticBag diagnostics, bool isAsync) 1524private MethodArgumentInfo FindForEachPatternMethodViaExtension(SyntaxNode syntax, SyntaxNode collectionSyntax, BoundExpression collectionExpr, string methodName, BindingDiagnosticBag diagnostics) 1646private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics) 1764private void ReportEnumerableWarning(SyntaxNode collectionSyntax, BindingDiagnosticBag diagnostics, TypeSymbol enumeratorType, Symbol patternMemberCandidate) 1804SyntaxNode collectionSyntax, 1913private void ReportPatternMemberLookupDiagnostics(SyntaxNode collectionSyntax, LookupResult lookupResult, TypeSymbol patternType, string memberName, bool warningsOnly, BindingDiagnosticBag diagnostics) 1951private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(SpecialMember member, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1961private MethodArgumentInfo BindDefaultArguments(MethodSymbol method, BoundExpression extensionReceiverOpt, bool expanded, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Binder\ForLoopBinder.cs (2)
140internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 155internal override SyntaxNode ScopeDesignator
Binder\ImportChain.cs (1)
132private static Cci.ITypeReference GetTypeReference(TypeSymbol type, SyntaxNode syntaxNode, Emit.PEModuleBuilder moduleBuilder, DiagnosticBag diagnostics)
Binder\LocalBinderFactory.cs (9)
34private readonly SmallDictionary<SyntaxNode, Binder> _map; 37private readonly SyntaxNode _root; 71public static SmallDictionary<SyntaxNode, Binder> BuildMap( 73SyntaxNode syntax, 75Action<Binder, SyntaxNode> binderUpdatedHandler = null) 134private LocalBinderFactory(Symbol containingMemberOrLambda, SyntaxNode root, Binder enclosing) 139_map = new SmallDictionary<SyntaxNode, Binder>(ReferenceEqualityComparer.Instance); 1014public override void DefaultVisit(SyntaxNode node) 1022private void AddToMap(SyntaxNode node, Binder binder)
Binder\LockBinder.cs (1)
79internal static LockTypeInfo? TryFindLockTypeInfo(TypeSymbol lockType, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
Binder\LoopBinderContext.cs (1)
17protected LoopBinder(Binder enclosing, SyntaxNode loopSyntax)
Binder\NameofBinder.cs (1)
58protected override SyntaxNode? EnclosingNameofArgument => IsNameofOperator ? _nameofArgument : base.EnclosingNameofArgument;
Binder\RefSafetyAnalysis.cs (3)
610var syntaxForReporting = node.Left is BoundPropertyAccess or BoundIndexerAccess 646var syntaxForReporting = node.Operand is BoundPropertyAccess or BoundIndexerAccess 1163private void VisitDeconstructionArguments(ArrayBuilder<DeconstructionVariable> variables, SyntaxNode syntax, Conversion conversion, BoundExpression right)
Binder\ScriptLocalScopeBinder.cs (1)
42internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
Binder\Semantics\Conversions\Conversions.cs (3)
164var syntax = node.Syntax; 408public Conversion MethodGroupConversion(SyntaxNode syntax, MethodGroup methodGroup, NamedTypeSymbol delegateType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 434public static void GetDelegateOrFunctionPointerArguments(SyntaxNode syntax, AnalyzedArguments analyzedArguments, ImmutableArray<ParameterSymbol> delegateParameters, CSharpCompilation compilation)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
1352SyntaxNode syntax = CSharpSyntaxTree.Dummy.GetRoot();
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (3)
208SyntaxNode nodeOpt, 212SyntaxNode invokedExpression, 668SyntaxNode nodeOpt,
Binder\SimpleLocalScopeBinder.cs (1)
30internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
Binder\SimpleProgramBinder.cs (2)
87internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 97internal override SyntaxNode ScopeDesignator
Binder\SimpleProgramUnitBinder.cs (2)
57internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 62internal override SyntaxNode? ScopeDesignator
Binder\SwitchBinder_Patterns.cs (2)
106var syntax = label.Syntax; 200Dictionary<SyntaxNode, LabelSymbol> labelsByNode = LabelsByNode;
Binder\SwitchBinder.cs (6)
350internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 370internal override SyntaxNode ScopeDesignator 471private Dictionary<SyntaxNode, LabelSymbol> _labelsByNode; 472protected Dictionary<SyntaxNode, LabelSymbol> LabelsByNode 478var result = new Dictionary<SyntaxNode, LabelSymbol>(); 481var node = ((SourceLabelSymbol)label).IdentifierNodeOrToken.AsNode();
Binder\UnionMatchingRewriter.cs (3)
308static BoundPattern makeConjunction(SyntaxNode node, BoundPattern left, BoundPattern? right, bool makeCompilerGenerated) 397private static BoundBinaryPattern MakeBinaryAnd(SyntaxNode node, BoundPattern left, BoundPattern right, bool makeCompilerGenerated) 420SyntaxNode syntax = unionPattern.Syntax;
Binder\UsingStatementBinder.cs (3)
90internal static BoundStatement BindUsingStatementOrDeclarationFromParts(SyntaxNode syntax, SyntaxToken usingKeyword, SyntaxToken awaitKeyword, Binder originalBinder, UsingStatementBinder? usingBinderOpt, BindingDiagnosticBag diagnostics) 318internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 333internal override SyntaxNode ScopeDesignator
Binder\WhileBinder.cs (2)
69internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator) 84internal override SyntaxNode ScopeDesignator
Binder\WithLambdaParametersBinder.cs (1)
170internal override ImmutableArray<LocalSymbol> GetDeclaredLocalsForScope(SyntaxNode scopeDesignator)
BoundTree\BoundDagTemp.cs (1)
22public static BoundDagTemp ForOriginalInput(SyntaxNode syntax, TypeSymbol type) => new BoundDagTemp(syntax, type, source: null, 0);
BoundTree\BoundExpression.cs (1)
313public BoundLocal(SyntaxNode syntax, LocalSymbol localSymbol, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false)
BoundTree\BoundExpressionWithNullability.cs (1)
11public BoundExpressionWithNullability(SyntaxNode syntax, BoundExpression expression, NullableAnnotation nullableAnnotation, TypeSymbol? type)
BoundTree\BoundMethodGroup.cs (3)
14SyntaxNode syntax, 28private static FunctionTypeSymbol? GetFunctionType(Binder binder, SyntaxNode syntax) 41public SyntaxNode NameSyntax
BoundTree\BoundNode.cs (3)
24public readonly SyntaxNode Syntax; 73protected BoundNode(BoundKind kind, SyntaxNode syntax) 85protected BoundNode(BoundKind kind, SyntaxNode syntax, bool hasErrors)
BoundTree\BoundObjectCreationExpression.cs (1)
12public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt,
BoundTree\BoundPatternWithUnionMatching.cs (2)
21public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionType, BoundPropertySubpatternMember valueProperty, BoundPattern pattern, TypeSymbol inputType) 26public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionType, BoundPattern? leftOfPendingConjunction, BoundPropertySubpatternMember valueProperty, BoundPattern pattern, TypeSymbol inputType)
BoundTree\BoundSequencePoint.cs (2)
11public static BoundStatement Create(SyntaxNode? syntax, TextSpan? part, BoundStatement statement, bool hasErrors = false) 25public static BoundStatement Create(SyntaxNode? syntax, BoundStatement? statementOpt, bool hasErrors = false, bool wasCompilerGenerated = false)
BoundTree\BoundSpillSequence.cs (1)
16SyntaxNode syntax,
BoundTree\BoundTreeVisitors.cs (1)
185SyntaxNode syntax = node.Syntax;
BoundTree\Constructors.cs (46)
15SyntaxNode syntax, 25SyntaxNode syntax, 37SyntaxNode syntax, 87SyntaxNode syntax, 122SyntaxNode node, 175public static BoundCall Synthesized(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method) 180public static BoundCall Synthesized(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, BoundExpression arg0) 185public static BoundCall Synthesized(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, BoundExpression arg0, BoundExpression arg1) 190public static BoundCall Synthesized(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt = default) 260public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, params BoundExpression[] arguments) 264public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments) 273SyntaxNode node, 298SyntaxNode syntax, 335public static BoundConversion SynthesizedNonUserDefined(SyntaxNode syntax, BoundExpression operand, Conversion conversion, TypeSymbol type, ConstantValue? constantValueOpt = null) 357SyntaxNode syntax, 385SyntaxNode syntax, 413SyntaxNode syntax, 436SyntaxNode syntax, 471public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, bool hasErrors = false) 476public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol) 484public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false) 490public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false) 495public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false) 500public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, TypeSymbol type, bool hasErrors = false) 505public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, ImmutableArray<BoundExpression> dimensionsOpt, TypeWithAnnotations typeWithAnnotations, bool hasErrors = false) 513public BoundNamespaceExpression(SyntaxNode syntax, NamespaceSymbol namespaceSymbol, bool hasErrors = false) 518public BoundNamespaceExpression(SyntaxNode syntax, NamespaceSymbol namespaceSymbol) 531public BoundAssignmentOperator(SyntaxNode syntax, BoundExpression left, BoundExpression right, 540public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type) 549public static BoundStatementList Synthesized(SyntaxNode syntax, params BoundStatement[] statements) 554public static BoundStatementList Synthesized(SyntaxNode syntax, bool hasErrors, params BoundStatement[] statements) 559public static BoundStatementList Synthesized(SyntaxNode syntax, ImmutableArray<BoundStatement> statements) 564public static BoundStatementList Synthesized(SyntaxNode syntax, bool hasErrors, ImmutableArray<BoundStatement> statements) 572public static BoundReturnStatement Synthesized(SyntaxNode syntax, RefKind refKind, BoundExpression expression, bool hasErrors = false) 580public static BoundYieldBreakStatement Synthesized(SyntaxNode syntax, bool hasErrors = false) 588public BoundGotoStatement(SyntaxNode syntax, LabelSymbol label, bool hasErrors = false) 596public BoundBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 601public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, BoundStatement statement) 607public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, ImmutableArray<BoundStatement> statements) 612public static BoundBlock SynthesizedNoLocals(SyntaxNode syntax, params BoundStatement[] statements) 620public BoundDefaultExpression(SyntaxNode syntax, TypeSymbol type, bool hasErrors = false) 628public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt = null) 636public BoundAddressOfOperator(SyntaxNode syntax, BoundExpression operand, TypeSymbol type, bool hasErrors = false) 644public BoundDagTemp(SyntaxNode syntax, TypeSymbol type, BoundDagEvaluation? source) 654public BoundCompoundAssignmentOperator(SyntaxNode syntax, 684SyntaxNode syntax,
BoundTree\UnboundLambda.cs (6)
24SyntaxNode Syntax { get; } 33SyntaxNode IBoundLambdaOrFunction.Syntax { get { return Syntax; } } 83SyntaxNode IBoundLambdaOrFunction.Syntax { get { return Syntax; } } 85public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, BoundBlock body, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? delegateType, InferredLambdaReturnType inferredReturnType) 437private UnboundLambda(SyntaxNode syntax, UnboundLambdaState state, FunctionTypeSymbol? functionType, bool withDependencies, NullableWalker.VariableState? nullableState, NullableWalker.GetterNullResilienceData? getterNullResilienceData, bool hasErrors) : 1574var syntax = UnboundLambda.Syntax;
BoundTree\VariablePendingInference.cs (1)
61SyntaxNode typeOrDesignationSyntax = this.Syntax.Kind() == SyntaxKind.DeclarationExpression ?
CodeGen\CodeGenerator.cs (11)
27private readonly SyntaxNode _methodBodySyntaxOpt; 154_methodBodySyntaxOpt = (SyntaxNode)blockBody ?? expressionBody ?? sourceMethod?.SyntaxNode; 189var bodySyntax = _methodBodySyntaxOpt; 360private void EmitTypeReferenceToken(Cci.ITypeReference symbol, SyntaxNode syntaxNode) 365private void EmitSymbolToken(TypeSymbol symbol, SyntaxNode syntaxNode) 370private void EmitSymbolToken(MethodSymbol method, SyntaxNode syntaxNode, BoundArgListOperator optArgList, bool encodeAsRawDefinitionToken = false) 376private void EmitSymbolToken(FieldSymbol symbol, SyntaxNode syntaxNode) 382private void EmitSignatureToken(FunctionPointerTypeSymbol symbol, SyntaxNode syntaxNode) 389SyntaxNode syntax = node.Syntax; 476private void EmitStepThroughSequencePoint(SyntaxNode syntaxNode, TextSpan span) 512private void EmitSequencePoint(SyntaxNode syntax)
CodeGen\EmitAddress.cs (1)
462private void EmitStaticFieldAddress(FieldSymbol field, SyntaxNode syntaxNode)
CodeGen\EmitArrayInitializer.cs (1)
775bool tryGetReadOnlySpanArrayCtor(SyntaxNode syntax, [NotNullWhen(true)] out MethodSymbol? rosArrayCtor)
CodeGen\EmitConversion.cs (1)
408private MethodSymbol DelegateConstructor(SyntaxNode syntax, TypeSymbol delegateType)
CodeGen\EmitExpression.cs (14)
842var syntax = node.Syntax; 1456private void EmitLoadIndirect(TypeSymbol type, SyntaxNode syntaxNode) 3264private void EmitArrayElementStore(ArrayTypeSymbol arrayType, SyntaxNode syntaxNode) 3279private void EmitVectorElementStore(ArrayTypeSymbol arrayType, SyntaxNode syntaxNode) 3379private void EmitIndirectStore(TypeSymbol type, SyntaxNode syntaxNode) 3500private void EmitDefaultValue(TypeSymbol type, bool used, SyntaxNode syntaxNode) 3544private void EmitConstantExpression(TypeSymbol type, ConstantValue constantValue, bool used, SyntaxNode syntaxNode) 3563private void EmitInitObj(TypeSymbol type, bool used, SyntaxNode syntaxNode) 3645private void EmitHoistedVariableId(FieldSymbol field, SyntaxNode syntax) 3680private void EmitThrowIfModuleCancellationRequested(SyntaxNode syntax) 3700private void EmitModuleCancellationTokenLoad(SyntaxNode syntax) 4054private void EmitStaticCast(TypeSymbol to, SyntaxNode syntax) 4074private void EmitBox(TypeSymbol type, SyntaxNode syntaxNode) 4119private void EmitCallCleanup(SyntaxNode syntax, UseKind useKind, MethodSymbol method)
CodeGen\EmitStackAllocInitializer.cs (1)
69var syntaxNode = inits.Syntax;
CodeGen\EmitStatement.cs (13)
1140var localSyntax = !declaringReferences.IsEmpty ? (CSharpSyntaxNode)declaringReferences[0].GetSyntax() : catchBlock.Syntax; 1371SyntaxNode syntaxNode, 1409void emitLengthDispatch(LengthBasedStringSwitchData lengthBasedSwitchInfo, LocalOrParameter keyTemp, LabelSymbol fallThroughLabel, SyntaxNode syntaxNode) 1446void emitCharDispatches(LengthBasedStringSwitchData lengthBasedSwitchInfo, LocalOrParameter keyTemp, LabelSymbol fallThroughLabel, SyntaxNode syntaxNode) 1487void emitFinalDispatches(LengthBasedStringSwitchData lengthBasedSwitchInfo, LocalOrParameter keyTemp, TypeSymbol keyType, LabelSymbol fallThroughLabel, SyntaxNode syntaxNode) 1516SyntaxNode syntaxNode, 1658private Cci.IMethodReference? GetLengthMethodRef(SyntaxNode syntaxNode, TypeSymbol keyType, bool isReadOnlySpan, bool isSpanOrReadOnlySpan) 1682private Microsoft.Cci.IMethodReference? GetIndexerRef(SyntaxNode syntaxNode, TypeSymbol keyType, bool isReadOnlySpan, bool isSpanOrReadOnlySpan) 1717private void EmitStringCompareAndBranch(LocalOrParameter key, SyntaxNode syntaxNode, ConstantValue stringConstant, object targetLabel, Microsoft.Cci.IReference stringEqualityMethodRef) 1755private void EmitCharCompareAndBranch(LocalOrParameter key, SyntaxNode syntaxNode, ConstantValue stringConstant, object targetLabel, Cci.IReference sequenceEqualsRef, Cci.IReference asSpanRef) 1790private LocalDefinition DefineLocal(LocalSymbol local, SyntaxNode syntaxNode) 1901var syntax = local.GetDeclaratorSyntax(); 1934private LocalDefinition AllocateTemp(TypeSymbol type, SyntaxNode syntaxNode, LocalSlotConstraints slotConstraints = LocalSlotConstraints.None)
CodeGen\Optimizer.cs (4)
2415internal override SyntaxNode ScopeDesignatorOpt 2421SynthesizedLocalKind kind, SyntaxNode syntax 2467internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics) 2482internal override SyntaxNode GetDeclaratorSyntax()
Compilation\CSharpCompilation.cs (5)
274internal bool IsNullableAnalysisEnabledIn(SyntaxNode syntax) 3402var root = syntaxTree.GetRoot(cancellationToken); 4778internal override int CompareSourceLocations(SyntaxNode loc1, SyntaxNode loc2) 4967Func<SyntaxNode, SyntaxKind> getKind = node => node.Kind();
Compilation\CSharpCompilationExtensions.cs (1)
17internal static bool IsFeatureEnabled(this SyntaxNode? syntax, MessageID feature)
Compilation\CSharpSemanticModel.cs (35)
478protected override IOperation GetOperationCore(SyntaxNode node, CancellationToken cancellationToken) 1024public Conversion GetConversion(SyntaxNode expression, CancellationToken cancellationToken = default(CancellationToken)) 1245internal abstract MemberSemanticModel GetMemberModel(SyntaxNode node); 1247internal bool IsInTree(SyntaxNode node) 1326protected int GetAdjustedNodePosition(SyntaxNode node) 1871var curr = token.Parent; 3998SyntaxNode parentSyntax = boundNodeForSyntacticParent.Syntax; 5007protected sealed override SyntaxNode RootCore => this.Root; 5009private SymbolInfo GetSymbolInfoFromNode(SyntaxNode node, CancellationToken cancellationToken) 5038private TypeInfo GetTypeInfoFromNode(SyntaxNode node, CancellationToken cancellationToken) 5059private ImmutableArray<ISymbol> GetMemberGroupFromNode(SyntaxNode node, CancellationToken cancellationToken) 5076protected sealed override ImmutableArray<ISymbol> GetMemberGroupCore(SyntaxNode node, CancellationToken cancellationToken) 5082protected sealed override SymbolInfo GetSpeculativeSymbolInfoCore(int position, SyntaxNode node, SpeculativeBindingOption bindingOption) 5101protected sealed override TypeInfo GetSpeculativeTypeInfoCore(int position, SyntaxNode node, SpeculativeBindingOption bindingOption) 5108protected sealed override IAliasSymbol GetSpeculativeAliasInfoCore(int position, SyntaxNode nameSyntax, SpeculativeBindingOption bindingOption) 5115protected sealed override SymbolInfo GetSymbolInfoCore(SyntaxNode node, CancellationToken cancellationToken) 5120protected sealed override TypeInfo GetTypeInfoCore(SyntaxNode node, CancellationToken cancellationToken) 5125protected sealed override IAliasSymbol GetAliasInfoCore(SyntaxNode node, CancellationToken cancellationToken) 5130protected sealed override PreprocessingSymbolInfo GetPreprocessingSymbolInfoCore(SyntaxNode node) 5137protected sealed override ISymbol GetDeclaredSymbolCore(SyntaxNode node, CancellationToken cancellationToken) 5225protected sealed override ImmutableArray<ISymbol> GetDeclaredSymbolsCore(SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 5282internal InterceptableLocation GetInterceptableLocationInternal(SyntaxNode nameSyntax, CancellationToken cancellationToken) 5314internal override void ComputeDeclarationsInNode(SyntaxNode node, ISymbol associatedSymbol, bool getSymbol, ArrayBuilder<DeclarationInfo> builder, CancellationToken cancellationToken, int? levelsToCompute = null) 5319internal abstract override Func<SyntaxNode, bool> GetSyntaxNodesToAnalyzeFilter(SyntaxNode declaredNode, ISymbol declaredSymbol); 5320internal abstract override bool ShouldSkipSyntaxNodeAnalysis(SyntaxNode node, ISymbol containingSymbol); 5322protected internal override SyntaxNode GetTopmostNodeForDiagnosticAnalysis(ISymbol symbol, SyntaxNode declaringSyntax) 5365protected sealed override ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement) 5390protected sealed override ControlFlowAnalysis AnalyzeControlFlowCore(SyntaxNode statement) 5405protected sealed override DataFlowAnalysis AnalyzeDataFlowCore(SyntaxNode firstStatement, SyntaxNode lastStatement) 5430protected sealed override DataFlowAnalysis AnalyzeDataFlowCore(SyntaxNode statementOrExpression) 5449protected sealed override Optional<object> GetConstantValueCore(SyntaxNode node, CancellationToken cancellationToken)
Compilation\MemberSemanticModel.cs (21)
33private readonly Dictionary<SyntaxNode, OneOrMany<BoundNode>> _guardedBoundNodeMap = new Dictionary<SyntaxNode, OneOrMany<BoundNode>>(); 34private readonly Dictionary<SyntaxNode, IOperation> _guardedIOperationNodeMap = new Dictionary<SyntaxNode, IOperation>(); 35private Dictionary<SyntaxNode, BoundStatement> _lazyGuardedSynthesizedStatementsMap; 146internal override MemberSemanticModel GetMemberModel(SyntaxNode node) 215private Binder GetEnclosingBinderInternalWithinRoot(SyntaxNode node, int position) 221private static Binder GetEnclosingBinderInternalWithinRoot(SyntaxNode node, int position, Binder rootBinder, SyntaxNode root) 235for (var current = node; binder == null; current = current.ParentOrStructuredTriviaParent) 1461_lazyGuardedSynthesizedStatementsMap = new Dictionary<SyntaxNode, BoundStatement>(); 1519protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1527protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1922private static SyntaxNode AdjustStartingNodeAccordingToNewRoot(SyntaxNode startingNode, SyntaxNode root) 1924SyntaxNode result = startingNode.Contains(root) ? root : startingNode; 2412internal sealed override Func<SyntaxNode, bool> GetSyntaxNodesToAnalyzeFilter(SyntaxNode declaredNode, ISymbol declaredSymbol) 2417internal sealed override bool ShouldSkipSyntaxNodeAnalysis(SyntaxNode node, ISymbol containingSymbol) 2456internal override Binder GetBinder(SyntaxNode node)
Compilation\MemberSemanticModel.NodeMapBuilder.cs (7)
21private NodeMapBuilder(OrderPreservingMultiDictionary<SyntaxNode, BoundNode> map, SyntaxTree tree, SyntaxNode thisSyntaxNodeOnly) 28private readonly OrderPreservingMultiDictionary<SyntaxNode, BoundNode> _map; 30private readonly SyntaxNode _thisSyntaxNodeOnly; 39public static void AddToMap(BoundNode root, Dictionary<SyntaxNode, OneOrMany<BoundNode>> map, SyntaxTree tree, SyntaxNode node = null) 49var additionMap = OrderPreservingMultiDictionary<SyntaxNode, BoundNode>.GetInstance();
Compilation\PublicSemanticModel.cs (1)
34Symbol? getAttributeTarget(SyntaxNode? targetSyntax)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (10)
59var attributedNode = model.SyntaxTree.GetRoot().FindToken(position).Parent; 139SyntaxNode? node = Root.FindTokenIncludingCrefAndNameAttributes(position).Parent; 143private MemberSemanticModel GetEnclosingMemberModel(SyntaxNode node) 150var attributeOrParameter = node.FirstAncestorOrSelf<SyntaxNode>(static n => n.Kind() is SyntaxKind.Attribute or SyntaxKind.Parameter); 185private MemberSemanticModel GetOrAddModelForParameter(SyntaxNode node, MemberSemanticModel containing, ParameterSyntax paramDecl) 215internal override MemberSemanticModel GetMemberModel(SyntaxNode node) 515internal sealed override Func<SyntaxNode, bool> GetSyntaxNodesToAnalyzeFilter(SyntaxNode declaredNode, ISymbol declaredSymbol) 520internal override bool ShouldSkipSyntaxNodeAnalysis(SyntaxNode node, ISymbol containingSymbol)
Compilation\SyntaxTreeSemanticModel.cs (8)
766internal bool IsNullableAnalysisEnabledAtSpeculativePosition(int position, SyntaxNode speculativeSyntax) 835internal override MemberSemanticModel GetMemberModel(SyntaxNode node) 989private static bool IsInDocumentationComment(SyntaxNode node) 991for (SyntaxNode curr = node; curr != null; curr = curr.Parent) 1040private static CSharpSyntaxNode GetMemberDeclaration(SyntaxNode node) 2471internal override Func<SyntaxNode, bool> GetSyntaxNodesToAnalyzeFilter(SyntaxNode declaredNode, ISymbol declaredSymbol) 2581internal override bool ShouldSkipSyntaxNodeAnalysis(SyntaxNode node, ISymbol containingSymbol)
Compiler\DocumentationCommentCompiler.DocumentationCommentWalker.cs (1)
139public override void DefaultVisit(SyntaxNode node)
Compiler\MethodBodySynthesizer.cs (3)
34SyntaxNode syntax = loweredBody.Syntax; 85SyntaxNode syntax, 532var syntax = block.Syntax;
Compiler\MethodCompiler.cs (1)
1179var syntax = body.Syntax;
Compiler\TypeCompilationState.cs (1)
202internal void ReportCtorInitializerCycles(MethodSymbol method1, MethodSymbol method2, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Compiler\UnprocessedDocumentationCommentFinder.cs (1)
43public override void DefaultVisit(SyntaxNode node)
CSharpExtensions.cs (20)
42/// Determines if <see cref="SyntaxNode"/> is of a specified kind. 47public static bool IsKind([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind) 63/// <inheritdoc cref="SyntaxNode.ContainsDirective"/> 64public static bool ContainsDirective(this SyntaxNode node, SyntaxKind kind) 84where TNode : SyntaxNode 93where TNode : SyntaxNode 105where TNode : SyntaxNode 114where TNode : SyntaxNode 205/// Returns <see cref="SyntaxKind"/> for <see cref="SyntaxNode"/> from <see cref="SyntaxNode.RawKind"/> property. 207public static SyntaxKind Kind(this SyntaxNode node) 214/// Returns <see cref="SyntaxKind"/> for <see cref="SyntaxNode"/> from <see cref="SyntaxNodeOrToken.RawKind"/> property. 322internal static Syntax.InternalSyntax.DirectiveStack ApplyDirectives(this SyntaxNode node, Syntax.InternalSyntax.DirectiveStack stack) 339if (nodeOrToken.AsNode(out var node)) 352internal static SeparatedSyntaxList<TOther> AsSeparatedList<TOther>(this SyntaxNodeOrTokenList list) where TOther : SyntaxNode 357var node = i.AsNode(); 372internal static IList<DirectiveTriviaSyntax> GetDirectives(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? filter = null) 380public static DirectiveTriviaSyntax? GetFirstDirective(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? predicate = null) 388public static DirectiveTriviaSyntax? GetLastDirective(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? predicate = null) 764public static Conversion GetConversion(this SemanticModel? semanticModel, SyntaxNode expression, CancellationToken cancellationToken = default(CancellationToken))
Declarations\DeclarationTreeBuilder.cs (1)
1055SyntaxNode parent,
Declarations\MergedTypeDeclaration.cs (1)
73var typeDecl = syntaxRef.GetSyntax();
Emitter\EditAndContinue\CSharpLambdaSyntaxFacts.cs (6)
17public override SyntaxNode GetLambda(SyntaxNode lambdaOrLambdaBodySyntax) 20public override SyntaxNode? TryGetCorrespondingLambdaBody(SyntaxNode previousLambdaSyntax, SyntaxNode lambdaOrLambdaBodySyntax) 23public override int GetDeclaratorPosition(SyntaxNode node)
Emitter\Model\PEModuleBuilder.cs (24)
28internal abstract class PEModuleBuilder : PEModuleBuilder<CSharpCompilation, SourceModuleSymbol, AssemblySymbol, TypeSymbol, NamedTypeSymbol, MethodSymbol, SyntaxNode, NoPia.EmbeddedTypesManager, ModuleCompilationState> 966private NamedTypeSymbol GetUntranslatedSpecialType(SpecialType specialType, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 983internal sealed override Cci.INamedTypeReference GetSpecialType(SpecialType specialType, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 1108SyntaxNode syntaxNodeOpt, 1229private void CheckTupleUnderlyingType(NamedTypeSymbol namedTypeSymbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 1289SyntaxNode syntaxNodeOpt, 1321SyntaxNode syntaxNodeOpt, 1362SyntaxNode syntaxNodeOpt, 1396SyntaxNode syntaxNodeOpt, 1588SyntaxNode syntaxNodeOpt, 1637protected override Cci.IMethodDefinition CreatePrivateImplementationDetailsStaticConstructor(SyntaxNode syntaxOpt, DiagnosticBag diagnostics) 2013internal MethodSymbol EnsureThrowSwitchExpressionExceptionExists(SyntaxNode syntaxNode, SyntheticBoundNodeFactory factory, DiagnosticBag diagnostics) 2026private MethodSymbol EnsurePrivateImplClassMethodExists<TArg>(SyntaxNode syntaxNode, string methodName, Func<SynthesizedPrivateImplementationDetailsType, TArg, MethodSymbol> createMethodSymbol, TArg arg, DiagnosticBag diagnostics) 2044internal new SynthesizedPrivateImplementationDetailsType GetPrivateImplClass(SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 2060internal MethodSymbol EnsureThrowSwitchExpressionExceptionParameterlessExists(SyntaxNode syntaxNode, SyntheticBoundNodeFactory factory, DiagnosticBag diagnostics) 2080internal MethodSymbol EnsureThrowInvalidOperationExceptionExists(SyntaxNode syntaxNode, SyntheticBoundNodeFactory factory, DiagnosticBag diagnostics) 2097internal MethodSymbol EnsureInlineArrayAsSpanExists(SyntaxNode syntaxNode, NamedTypeSymbol spanType, NamedTypeSymbol intType, DiagnosticBag diagnostics) 2114internal NamedTypeSymbol EnsureInlineArrayTypeExists(SyntaxNode syntaxNode, SyntheticBoundNodeFactory factory, int arrayLength, BindingDiagnosticBag diagnostics) 2143internal NamedTypeSymbol EnsureReadOnlyListTypeExists(SyntaxNode syntaxNode, SynthesizedReadOnlyListKind kind, DiagnosticBag diagnostics) 2168internal MethodSymbol EnsureInlineArrayAsReadOnlySpanExists(SyntaxNode syntaxNode, NamedTypeSymbol spanType, NamedTypeSymbol intType, DiagnosticBag diagnostics) 2185internal MethodSymbol EnsureInlineArrayElementRefExists(SyntaxNode syntaxNode, NamedTypeSymbol intType, DiagnosticBag diagnostics) 2201internal MethodSymbol EnsureInlineArrayElementRefReadOnlyExists(SyntaxNode syntaxNode, NamedTypeSymbol intType, DiagnosticBag diagnostics) 2217internal MethodSymbol EnsureInlineArrayFirstElementRefExists(SyntaxNode syntaxNode, DiagnosticBag diagnostics) 2230internal MethodSymbol EnsureInlineArrayFirstElementRefReadOnlyExists(SyntaxNode syntaxNode, DiagnosticBag diagnostics)
Emitter\NoPia\EmbeddedEvent.cs (3)
44protected override Cci.ITypeReference GetType(PEModuleBuilder moduleBuilder, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 65protected override void EmbedCorrespondingComEventInterfaceMethodInternal(SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics, bool isUsedForComAwareEventBinding) 128private bool EmbedMatchingInterfaceMethods(NamedTypeSymbol sourceInterface, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
Emitter\NoPia\EmbeddedType.cs (5)
37public void EmbedAllMembersOfImplementedInterface(SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 81protected override Cci.ITypeReference GetBaseClass(PEModuleBuilder moduleBuilder, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 248protected override CSharpAttributeData CreateTypeIdentifierAttribute(bool hasGuid, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 289protected override void ReportMissingAttribute(AttributeDescription description, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 294protected override void EmbedDefaultMembers(string defaultMember, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
Emitter\NoPia\EmbeddedTypesManager.cs (20)
32EmbeddedTypesManager<PEModuleBuilder, ModuleCompilationState, EmbeddedTypesManager, SyntaxNode, CSharpAttributeData, 62public NamedTypeSymbol GetSystemStringType(SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 89public MethodSymbol GetWellKnownMethod(WellKnownMember method, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 97private MethodSymbol LazyGetWellKnownTypeMethod(ref MethodSymbol lazyMethod, WellKnownMember member, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 126public MethodSymbol GetSpecialMethod(SpecialMember method, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 134private MethodSymbol LazyGetSpecialTypeMethod(ref MethodSymbol lazyMethod, SpecialMember member, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 165internal override CSharpAttributeData CreateSynthesizedAttribute(WellKnownMember constructor, ImmutableArray<TypedConstant> constructorArguments, ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 197internal override CSharpAttributeData CreateSynthesizedAttribute(SpecialMember constructor, ImmutableArray<TypedConstant> constructorArguments, ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 208internal override bool TryGetAttributeArguments(CSharpAttributeData attrData, out ImmutableArray<TypedConstant> constructorArguments, out ImmutableArray<KeyValuePair<string, TypedConstant>> namedArguments, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics) 305SyntaxNode syntaxNodeOpt, 381private static void ReportNotEmbeddableSymbol(ErrorCode error, Symbol symbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics, EmbeddedTypesManager optTypeManager) 390internal static void Error(DiagnosticBag diagnostics, ErrorCode code, SyntaxNode syntaxOpt, params object[] args) 395private static void Error(DiagnosticBag diagnostics, SyntaxNode syntaxOpt, DiagnosticInfo info) 403SyntaxNode syntaxNodeOpt, 420SyntaxNode syntaxNodeOpt, 486SyntaxNode syntaxNodeOpt, 522SyntaxNode syntaxNodeOpt, 583SyntaxNode syntaxNodeOpt, 617SyntaxNode syntaxNodeOpt, 656protected override EmbeddedType GetEmbeddedTypeForMember(SymbolAdapter member, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
Errors\DiagnosticBagExtensions.cs (1)
64SyntaxNode node,
Errors\MessageID.cs (2)
369SyntaxNode syntax, 397SyntaxNode syntax,
Errors\MessageProvider.cs (7)
262protected override void ReportInvalidAttributeArgument(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, AttributeData attribute) 268protected override void ReportInvalidNamedArgument(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex, ITypeSymbol attributeClass, string parameterName) 274protected override void ReportParameterNotValidForType(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int namedArgumentIndex) 280protected override void ReportMarshalUnmanagedTypeNotValidForFields(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute) 285protected override void ReportMarshalUnmanagedTypeOnlyValidForFields(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, int parameterIndex, string unmanagedTypeName, AttributeData attribute) 290protected override void ReportAttributeParameterRequired(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName) 296protected override void ReportAttributeParameterRequired(DiagnosticBag diagnostics, SyntaxNode attributeSyntax, string parameterName1, string parameterName2)
FlowAnalysis\AbstractFlowPass.cs (4)
328SyntaxNode syntax, 337protected virtual void LeaveParameter(ParameterSymbol parameter, SyntaxNode syntax, Location location) 1395protected void VisitLocalFunctionUse(LocalFunctionSymbol symbol, SyntaxNode syntax, bool isCall) 1404SyntaxNode syntax,
FlowAnalysis\ControlFlowAnalysis.cs (9)
24private ImmutableArray<SyntaxNode> _entryPoints; 25private ImmutableArray<SyntaxNode> _exitPoints; 38public override ImmutableArray<SyntaxNode> EntryPoints 45var result = _context.Failed ? ImmutableArray<SyntaxNode>.Empty : 46((IEnumerable<SyntaxNode>)EntryPointsWalker.Analyze(_context.Compilation, _context.Member, _context.BoundNode, _context.FirstInRegion, _context.LastInRegion, out _succeeded)).ToImmutableArray(); 57public override ImmutableArray<SyntaxNode> ExitPoints 64? ImmutableArray<SyntaxNode>.CastUp(ExitPointsWalker.Analyze(_context.Compilation, _context.Member, _context.BoundNode, _context.FirstInRegion, _context.LastInRegion)) 65: ImmutableArray<SyntaxNode>.Empty; 125public override ImmutableArray<SyntaxNode> ReturnStatements
FlowAnalysis\ControlFlowPass.cs (1)
398var syntax = node.SwitchLabels.Last().Syntax;
FlowAnalysis\DataFlowsInWalker.cs (2)
103protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 118SyntaxNode node,
FlowAnalysis\DataFlowsOutWalker.cs (2)
252protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 264protected override void ReportUnassignedOutParameter(ParameterSymbol parameter, SyntaxNode node, Location location)
FlowAnalysis\DefiniteAssignment.cs (8)
409protected virtual void ReportUnassignedOutParameter(ParameterSymbol parameter, SyntaxNode node, Location location) 1104protected void CheckAssigned(Symbol symbol, SyntaxNode node) 1123private void ReportUnassignedIfNotCapturedInLocalFunction(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration = true) 1140protected virtual void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 1321protected virtual void CheckAssigned(BoundExpression expr, FieldSymbol fieldSymbol, SyntaxNode node) 1897protected override void LeaveParameters(ImmutableArray<ParameterSymbol> parameters, SyntaxNode syntax, Location location) 1908protected override void LeaveParameter(ParameterSymbol parameter, SyntaxNode syntax, Location location) 2579protected void CheckAssigned(BoundExpression expr, SyntaxNode node)
FlowAnalysis\DefiniteAssignment.LocalFunctions.cs (2)
38SyntaxNode syntax, 68private void CheckIfAssignedDuringLocalFunctionReplay(Symbol symbol, SyntaxNode node, int slot)
FlowAnalysis\FlowAnalysisPass.cs (1)
195SyntaxNode syntax = body.Syntax;
FlowAnalysis\NullableWalker_Patterns.cs (1)
378SyntaxNode node,
FlowAnalysis\NullableWalker.cs (27)
681void enforceMemberNotNull(SyntaxNode? syntaxOpt, LocalState state) 1133private void EnforceMemberNotNullOnMember(SyntaxNode? syntaxOpt, LocalState state, MethodSymbol method, string memberName) 1183void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState) 1195void enforceMemberNotNullWhen(SyntaxNode? syntaxOpt, bool sense, LocalState state) 1211private void ReportFailedMemberNotNullIfNeeded(SyntaxNode? syntaxOpt, bool sense, Symbol member, LocalState state) 1351private void EnforceParameterNotNullOnExit(SyntaxNode? syntaxOpt, LocalState state) 1397private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen) 1410private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense, LocalState stateWhen) 1457private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam) 1486private void EnforceDoesNotReturn(SyntaxNode? syntaxOpt) 1801internal static bool NeedsAnalysis(CSharpCompilation compilation, SyntaxNode syntaxNode) 1812SyntaxNode syntax, 2708private void ReportNullabilityMismatchInAssignment(SyntaxNode syntaxNode, object sourceType, object destinationType) 2775private void ReportDiagnostic(ErrorCode errorCode, SyntaxNode syntaxNode, params object[] arguments) 3604void enforceMemberNotNull(SyntaxNode? syntax, LocalState state) 3620SyntaxNode syntax, 5756SyntaxNode syntax, 7570var syntax = node.Syntax; 7579private static bool HasImplicitTypeArguments(SyntaxNode syntax) 7716var syntaxForConstraintCheck = node.Syntax switch 8365private bool CheckDisallowedNullAssignment(TypeWithState state, FlowAnalysisAnnotations annotations, SyntaxNode node, BoundExpression? boundValueOpt = null) 9019private void CheckMethodConstraints(SyntaxNode syntax, MethodSymbol method) 9050private void CheckExtensionConstraints(SyntaxNode syntax, NamedTypeSymbol extension) 11164var syntax = group.Syntax; 12162private void ReportNullabilityMismatchInArgument(SyntaxNode argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType, bool forOutput) 12952private MethodSymbol ReInferUnaryOperator(SyntaxNode syntax, MethodSymbol method, BoundExpression operand, TypeWithState operandType) 13573private bool ReportPossibleNullReceiverIfNeeded(TypeSymbol type, NullableFlowState state, bool checkNullableValueType, SyntaxNode syntax, out bool reportedDiagnostic)
FlowAnalysis\NullableWalker.PlaceholderLocal.cs (4)
48internal override SyntaxNode ScopeDesignatorOpt => null; 61internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics = null) => null; 63internal override SyntaxNode GetDeclaratorSyntax() => throw ExceptionUtilities.Unreachable(); 66SynthesizedLocalKind kind, SyntaxNode syntax
FlowAnalysis\ReadWriteWalker.cs (2)
144protected override void CheckAssigned(BoundExpression expr, FieldSymbol fieldSymbol, SyntaxNode node) 186var receiverSyntax = receiver.Syntax;
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (1)
52protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration)
FlowAnalysis\UnassignedVariablesWalker.cs (2)
56protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 70protected override void ReportUnassignedOutParameter(ParameterSymbol parameter, SyntaxNode node, Location location)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Internal.Generated.cs (500)
81internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IdentifierNameSyntax(this, parent, position); 170internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.QualifiedNameSyntax(this, parent, position); 249internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.GenericNameSyntax(this, parent, position); 347internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeArgumentListSyntax(this, parent, position); 436internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AliasQualifiedNameSyntax(this, parent, position); 515internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PredefinedTypeSyntax(this, parent, position); 603internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArrayTypeSyntax(this, parent, position); 697internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArrayRankSpecifierSyntax(this, parent, position); 776internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PointerTypeSyntax(this, parent, position); 883internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerTypeSyntax(this, parent, position); 981internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerParameterListSyntax(this, parent, position); 1069internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerCallingConventionSyntax(this, parent, position); 1167internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerUnmanagedCallingConventionListSyntax(this, parent, position); 1232internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerUnmanagedCallingConventionSyntax(this, parent, position); 1311internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NullableTypeSyntax(this, parent, position); 1408internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TupleTypeSyntax(this, parent, position); 1496internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TupleElementSyntax(this, parent, position); 1561internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OmittedTypeArgumentSyntax(this, parent, position); 1657internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RefTypeSyntax(this, parent, position); 1734internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ScopedTypeSyntax(this, parent, position); 1850internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParenthesizedExpressionSyntax(this, parent, position); 1948internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TupleExpressionSyntax(this, parent, position); 2027internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PrefixUnaryExpressionSyntax(this, parent, position); 2106internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AwaitExpressionSyntax(this, parent, position); 2185internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PostfixUnaryExpressionSyntax(this, parent, position); 2274internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.MemberAccessExpressionSyntax(this, parent, position); 2363internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConditionalAccessExpressionSyntax(this, parent, position); 2442internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.MemberBindingExpressionSyntax(this, parent, position); 2507internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ElementBindingExpressionSyntax(this, parent, position); 2614internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RangeExpressionSyntax(this, parent, position); 2679internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ImplicitElementAccessSyntax(this, parent, position); 2768internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BinaryExpressionSyntax(this, parent, position); 2857internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AssignmentExpressionSyntax(this, parent, position); 2966internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConditionalExpressionSyntax(this, parent, position); 3045internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ThisExpressionSyntax(this, parent, position); 3110internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BaseExpressionSyntax(this, parent, position); 3175internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LiteralExpressionSyntax(this, parent, position); 3240internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FieldExpressionSyntax(this, parent, position); 3339internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.MakeRefExpressionSyntax(this, parent, position); 3438internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RefTypeExpressionSyntax(this, parent, position); 3557internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RefValueExpressionSyntax(this, parent, position); 3656internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CheckedExpressionSyntax(this, parent, position); 3755internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UnsafeExpressionSyntax(this, parent, position); 3854internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DefaultExpressionSyntax(this, parent, position); 3953internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeOfExpressionSyntax(this, parent, position); 4052internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SizeOfExpressionSyntax(this, parent, position); 4131internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InvocationExpressionSyntax(this, parent, position); 4210internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ElementAccessExpressionSyntax(this, parent, position); 4325internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArgumentListSyntax(this, parent, position); 4423internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BracketedArgumentListSyntax(this, parent, position); 4530internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArgumentSyntax(this, parent, position); 4623internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExpressionColonSyntax(this, parent, position); 4702internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NameColonSyntax(this, parent, position); 4780internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DeclarationExpressionSyntax(this, parent, position); 4879internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CastExpressionSyntax(this, parent, position); 5048internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AnonymousMethodExpressionSyntax(this, parent, position); 5226internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SimpleLambdaExpressionSyntax(this, parent, position); 5302internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RefExpressionSyntax(this, parent, position); 5479internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParenthesizedLambdaExpressionSyntax(this, parent, position); 5577internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InitializerExpressionSyntax(this, parent, position); 5697internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ImplicitObjectCreationExpressionSyntax(this, parent, position); 5814internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ObjectCreationExpressionSyntax(this, parent, position); 5900internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WithExpressionSyntax(this, parent, position); 5987internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AnonymousObjectMemberDeclaratorSyntax(this, parent, position); 6095internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AnonymousObjectCreationExpressionSyntax(this, parent, position); 6193internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArrayCreationExpressionSyntax(this, parent, position); 6311internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ImplicitArrayCreationExpressionSyntax(this, parent, position); 6409internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.StackAllocArrayCreationExpressionSyntax(this, parent, position); 6508internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ImplicitStackAllocArrayCreationExpressionSyntax(this, parent, position); 6603internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CollectionExpressionSyntax(this, parent, position); 6679internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExpressionElementSyntax(this, parent, position); 6755internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SpreadElementSyntax(this, parent, position); 6831internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WithElementSyntax(this, parent, position); 6933internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.QueryExpressionSyntax(this, parent, position); 7036internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.QueryBodySyntax(this, parent, position); 7149internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FromClauseSyntax(this, parent, position); 7244internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LetClauseSyntax(this, parent, position); 7411internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.JoinClauseSyntax(this, parent, position); 7488internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.JoinIntoClauseSyntax(this, parent, position); 7564internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WhereClauseSyntax(this, parent, position); 7649internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OrderByClauseSyntax(this, parent, position); 7734internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OrderingSyntax(this, parent, position); 7810internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SelectClauseSyntax(this, parent, position); 7904internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.GroupClauseSyntax(this, parent, position); 7990internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.QueryContinuationSyntax(this, parent, position); 8055internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OmittedArraySizeExpressionSyntax(this, parent, position); 8152internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterpolatedStringExpressionSyntax(this, parent, position); 8240internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IsPatternExpressionSyntax(this, parent, position); 8316internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ThrowExpressionSyntax(this, parent, position); 8392internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WhenClauseSyntax(this, parent, position); 8468internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DiscardPatternSyntax(this, parent, position); 8544internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DeclarationPatternSyntax(this, parent, position); 8620internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.VarPatternSyntax(this, parent, position); 8750internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RecursivePatternSyntax(this, parent, position); 8844internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PositionalPatternClauseSyntax(this, parent, position); 8938internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PropertyPatternClauseSyntax(this, parent, position); 9023internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SubpatternSyntax(this, parent, position); 9087internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConstantPatternSyntax(this, parent, position); 9172internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParenthesizedPatternSyntax(this, parent, position); 9249internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RelationalPatternSyntax(this, parent, position); 9313internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypePatternSyntax(this, parent, position); 9398internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BinaryPatternSyntax(this, parent, position); 9474internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UnaryPatternSyntax(this, parent, position); 9586internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ListPatternSyntax(this, parent, position); 9671internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SlicePatternSyntax(this, parent, position); 9748internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterpolatedStringTextSyntax(this, parent, position); 9873internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterpolationSyntax(this, parent, position); 9949internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterpolationAlignmentClauseSyntax(this, parent, position); 10026internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterpolationFormatClauseSyntax(this, parent, position); 10130internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.GlobalStatementSyntax(this, parent, position); 10258internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BlockSyntax(this, parent, position); 10471internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LocalFunctionStatementSyntax(this, parent, position); 10620internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LocalDeclarationStatementSyntax(this, parent, position); 10705internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.VariableDeclarationSyntax(this, parent, position); 10809internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.VariableDeclaratorSyntax(this, parent, position); 10885internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EqualsValueClauseSyntax(this, parent, position); 10961internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SingleVariableDesignationSyntax(this, parent, position); 11024internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DiscardDesignationSyntax(this, parent, position); 11118internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParenthesizedVariableDesignationSyntax(this, parent, position); 11212internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExpressionStatementSyntax(this, parent, position); 11297internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EmptyStatementSyntax(this, parent, position); 11403internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LabeledStatementSyntax(this, parent, position); 11548internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.GotoStatementSyntax(this, parent, position); 11660internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BreakStatementSyntax(this, parent, position); 11772internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ContinueStatementSyntax(this, parent, position); 11884internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ReturnStatementSyntax(this, parent, position); 11996internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ThrowStatementSyntax(this, parent, position); 12117internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.YieldStatementSyntax(this, parent, position); 12238internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WhileStatementSyntax(this, parent, position); 12377internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DoStatementSyntax(this, parent, position); 12579internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ForStatementSyntax(this, parent, position); 12773internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ForEachStatementSyntax(this, parent, position); 12936internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ForEachVariableStatementSyntax(this, parent, position); 13102internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UsingStatementSyntax(this, parent, position); 13223internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FixedStatementSyntax(this, parent, position); 13317internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CheckedStatementSyntax(this, parent, position); 13411internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UnsafeStatementSyntax(this, parent, position); 13532internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LockStatementSyntax(this, parent, position); 13692internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IfStatementSyntax(this, parent, position); 13772internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ElseClauseSyntax(this, parent, position); 13960internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SwitchStatementSyntax(this, parent, position); 14061internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SwitchSectionSyntax(this, parent, position); 14193internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CasePatternSwitchLabelSyntax(this, parent, position); 14283internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CaseSwitchLabelSyntax(this, parent, position); 14361internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DefaultSwitchLabelSyntax(this, parent, position); 14473internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SwitchExpressionSyntax(this, parent, position); 14576internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SwitchExpressionArmSyntax(this, parent, position); 14706internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TryStatementSyntax(this, parent, position); 14818internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CatchClauseSyntax(this, parent, position); 14921internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CatchDeclarationSyntax(this, parent, position); 15015internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CatchFilterClauseSyntax(this, parent, position); 15091internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FinallyClauseSyntax(this, parent, position); 15231internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CompilationUnitSyntax(this, parent, position); 15332internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExternAliasDirectiveSyntax(this, parent, position); 15489internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UsingDirectiveSyntax(this, parent, position); 15735internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NamespaceDeclarationSyntax(this, parent, position); 15910internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FileScopedNamespaceDeclarationSyntax(this, parent, position); 16027internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AttributeListSyntax(this, parent, position); 16106internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AttributeTargetSpecifierSyntax(this, parent, position); 16196internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AttributeSyntax(this, parent, position); 16294internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AttributeArgumentListSyntax(this, parent, position); 16399internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AttributeArgumentSyntax(this, parent, position); 16477internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NameEqualsSyntax(this, parent, position); 16575internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeParameterListSyntax(this, parent, position); 16681internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeParameterSyntax(this, parent, position); 16995internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ClassDeclarationSyntax(this, parent, position); 17253internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.StructDeclarationSyntax(this, parent, position); 17511internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UnionDeclarationSyntax(this, parent, position); 17769internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.InterfaceDeclarationSyntax(this, parent, position); 18043internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RecordDeclarationSyntax(this, parent, position); 18249internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EnumDeclarationSyntax(this, parent, position); 18431internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DelegateDeclarationSyntax(this, parent, position); 18553internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EnumMemberDeclarationSyntax(this, parent, position); 18783internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExtensionBlockDeclarationSyntax(this, parent, position); 18871internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BaseListSyntax(this, parent, position); 18950internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SimpleBaseTypeSyntax(this, parent, position); 19026internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PrimaryConstructorBaseTypeSyntax(this, parent, position); 19133internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeParameterConstraintClauseSyntax(this, parent, position); 19236internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConstructorConstraintSyntax(this, parent, position); 19324internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ClassOrStructConstraintSyntax(this, parent, position); 19389internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeConstraintSyntax(this, parent, position); 19454internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DefaultConstraintSyntax(this, parent, position); 19541internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AllowsConstraintClauseSyntax(this, parent, position); 19634internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RefStructConstraintSyntax(this, parent, position); 19763internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FieldDeclarationSyntax(this, parent, position); 19884internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EventFieldDeclarationSyntax(this, parent, position); 19960internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExplicitInterfaceSpecifierSyntax(this, parent, position); 20218internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.MethodDeclarationSyntax(this, parent, position); 20444internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OperatorDeclarationSyntax(this, parent, position); 20670internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConversionOperatorDeclarationSyntax(this, parent, position); 20857internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConstructorDeclarationSyntax(this, parent, position); 20945internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConstructorInitializerSyntax(this, parent, position); 21124internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DestructorDeclarationSyntax(this, parent, position); 21349internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PropertyDeclarationSyntax(this, parent, position); 21426internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ArrowExpressionClauseSyntax(this, parent, position); 21602internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EventDeclarationSyntax(this, parent, position); 21796internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IndexerDeclarationSyntax(this, parent, position); 21890internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AccessorListSyntax(this, parent, position); 22053internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.AccessorDeclarationSyntax(this, parent, position); 22167internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParameterListSyntax(this, parent, position); 22264internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BracketedParameterListSyntax(this, parent, position); 22438internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ParameterSyntax(this, parent, position); 22544internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.FunctionPointerParameterSyntax(this, parent, position); 22656internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IncompleteMemberSyntax(this, parent, position); 22728internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.SkippedTokensTriviaSyntax(this, parent, position); 22813internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DocumentationCommentTriviaSyntax(this, parent, position); 22900internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.TypeCrefSyntax(this, parent, position); 22992internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.QualifiedCrefSyntax(this, parent, position); 23103internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NameMemberCrefSyntax(this, parent, position); 23215internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ExtensionMemberCrefSyntax(this, parent, position); 23304internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IndexerMemberCrefSyntax(this, parent, position); 23422internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.OperatorMemberCrefSyntax(this, parent, position); 23547internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ConversionOperatorMemberCrefSyntax(this, parent, position); 23666internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CrefParameterListSyntax(this, parent, position); 23765internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CrefBracketedParameterListSyntax(this, parent, position); 23874internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.CrefParameterSyntax(this, parent, position); 23981internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlElementSyntax(this, parent, position); 24084internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlElementStartTagSyntax(this, parent, position); 24169internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlElementEndTagSyntax(this, parent, position); 24272internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlEmptyElementSyntax(this, parent, position); 24357internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlNameSyntax(this, parent, position); 24433internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlPrefixSyntax(this, parent, position); 24566internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlTextAttributeSyntax(this, parent, position); 24669internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlCrefAttributeSyntax(this, parent, position); 24772internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlNameAttributeSyntax(this, parent, position); 24844internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlTextSyntax(this, parent, position); 24938internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlCDataSectionSyntax(this, parent, position); 25041internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlProcessingInstructionSyntax(this, parent, position); 25135internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.XmlCommentSyntax(this, parent, position); 25297internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IfDirectiveTriviaSyntax(this, parent, position); 25406internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ElifDirectiveTriviaSyntax(this, parent, position); 25501internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ElseDirectiveTriviaSyntax(this, parent, position); 25591internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EndIfDirectiveTriviaSyntax(this, parent, position); 25681internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RegionDirectiveTriviaSyntax(this, parent, position); 25771internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.EndRegionDirectiveTriviaSyntax(this, parent, position); 25861internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ErrorDirectiveTriviaSyntax(this, parent, position); 25951internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.WarningDirectiveTriviaSyntax(this, parent, position); 26041internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BadDirectiveTriviaSyntax(this, parent, position); 26140internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DefineDirectiveTriviaSyntax(this, parent, position); 26239internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UndefDirectiveTriviaSyntax(this, parent, position); 26373internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LineDirectiveTriviaSyntax(this, parent, position); 26476internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LineDirectivePositionSyntax(this, parent, position); 26620internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LineSpanDirectiveTriviaSyntax(this, parent, position); 26746internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax(this, parent, position); 26872internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.PragmaChecksumDirectiveTriviaSyntax(this, parent, position); 26971internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ReferenceDirectiveTriviaSyntax(this, parent, position); 27070internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.LoadDirectiveTriviaSyntax(this, parent, position); 27160internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ShebangDirectiveTriviaSyntax(this, parent, position); 27268internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IgnoredDirectiveTriviaSyntax(this, parent, position); 27385internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.NullableDirectiveTriviaSyntax(this, parent, position);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Main.Generated.cs (251)
1525public partial class CSharpSyntaxRewriter : CSharpSyntaxVisitor<SyntaxNode?> 1527public override SyntaxNode? VisitIdentifierName(IdentifierNameSyntax node) 1530public override SyntaxNode? VisitQualifiedName(QualifiedNameSyntax node) 1533public override SyntaxNode? VisitGenericName(GenericNameSyntax node) 1536public override SyntaxNode? VisitTypeArgumentList(TypeArgumentListSyntax node) 1539public override SyntaxNode? VisitAliasQualifiedName(AliasQualifiedNameSyntax node) 1542public override SyntaxNode? VisitPredefinedType(PredefinedTypeSyntax node) 1545public override SyntaxNode? VisitArrayType(ArrayTypeSyntax node) 1548public override SyntaxNode? VisitArrayRankSpecifier(ArrayRankSpecifierSyntax node) 1551public override SyntaxNode? VisitPointerType(PointerTypeSyntax node) 1554public override SyntaxNode? VisitFunctionPointerType(FunctionPointerTypeSyntax node) 1557public override SyntaxNode? VisitFunctionPointerParameterList(FunctionPointerParameterListSyntax node) 1560public override SyntaxNode? VisitFunctionPointerCallingConvention(FunctionPointerCallingConventionSyntax node) 1563public override SyntaxNode? VisitFunctionPointerUnmanagedCallingConventionList(FunctionPointerUnmanagedCallingConventionListSyntax node) 1566public override SyntaxNode? VisitFunctionPointerUnmanagedCallingConvention(FunctionPointerUnmanagedCallingConventionSyntax node) 1569public override SyntaxNode? VisitNullableType(NullableTypeSyntax node) 1572public override SyntaxNode? VisitTupleType(TupleTypeSyntax node) 1575public override SyntaxNode? VisitTupleElement(TupleElementSyntax node) 1578public override SyntaxNode? VisitOmittedTypeArgument(OmittedTypeArgumentSyntax node) 1581public override SyntaxNode? VisitRefType(RefTypeSyntax node) 1584public override SyntaxNode? VisitScopedType(ScopedTypeSyntax node) 1587public override SyntaxNode? VisitParenthesizedExpression(ParenthesizedExpressionSyntax node) 1590public override SyntaxNode? VisitTupleExpression(TupleExpressionSyntax node) 1593public override SyntaxNode? VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node) 1596public override SyntaxNode? VisitAwaitExpression(AwaitExpressionSyntax node) 1599public override SyntaxNode? VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) 1602public override SyntaxNode? VisitMemberAccessExpression(MemberAccessExpressionSyntax node) 1605public override SyntaxNode? VisitConditionalAccessExpression(ConditionalAccessExpressionSyntax node) 1608public override SyntaxNode? VisitMemberBindingExpression(MemberBindingExpressionSyntax node) 1611public override SyntaxNode? VisitElementBindingExpression(ElementBindingExpressionSyntax node) 1614public override SyntaxNode? VisitRangeExpression(RangeExpressionSyntax node) 1617public override SyntaxNode? VisitImplicitElementAccess(ImplicitElementAccessSyntax node) 1620public override SyntaxNode? VisitBinaryExpression(BinaryExpressionSyntax node) 1623public override SyntaxNode? VisitAssignmentExpression(AssignmentExpressionSyntax node) 1626public override SyntaxNode? VisitConditionalExpression(ConditionalExpressionSyntax node) 1629public override SyntaxNode? VisitThisExpression(ThisExpressionSyntax node) 1632public override SyntaxNode? VisitBaseExpression(BaseExpressionSyntax node) 1635public override SyntaxNode? VisitLiteralExpression(LiteralExpressionSyntax node) 1638public override SyntaxNode? VisitFieldExpression(FieldExpressionSyntax node) 1641public override SyntaxNode? VisitMakeRefExpression(MakeRefExpressionSyntax node) 1644public override SyntaxNode? VisitRefTypeExpression(RefTypeExpressionSyntax node) 1647public override SyntaxNode? VisitRefValueExpression(RefValueExpressionSyntax node) 1650public override SyntaxNode? VisitCheckedExpression(CheckedExpressionSyntax node) 1654public override SyntaxNode? VisitUnsafeExpression(UnsafeExpressionSyntax node) 1657public override SyntaxNode? VisitDefaultExpression(DefaultExpressionSyntax node) 1660public override SyntaxNode? VisitTypeOfExpression(TypeOfExpressionSyntax node) 1663public override SyntaxNode? VisitSizeOfExpression(SizeOfExpressionSyntax node) 1666public override SyntaxNode? VisitInvocationExpression(InvocationExpressionSyntax node) 1669public override SyntaxNode? VisitElementAccessExpression(ElementAccessExpressionSyntax node) 1672public override SyntaxNode? VisitArgumentList(ArgumentListSyntax node) 1675public override SyntaxNode? VisitBracketedArgumentList(BracketedArgumentListSyntax node) 1678public override SyntaxNode? VisitArgument(ArgumentSyntax node) 1681public override SyntaxNode? VisitExpressionColon(ExpressionColonSyntax node) 1684public override SyntaxNode? VisitNameColon(NameColonSyntax node) 1687public override SyntaxNode? VisitDeclarationExpression(DeclarationExpressionSyntax node) 1690public override SyntaxNode? VisitCastExpression(CastExpressionSyntax node) 1693public override SyntaxNode? VisitAnonymousMethodExpression(AnonymousMethodExpressionSyntax node) 1696public override SyntaxNode? VisitSimpleLambdaExpression(SimpleLambdaExpressionSyntax node) 1699public override SyntaxNode? VisitRefExpression(RefExpressionSyntax node) 1702public override SyntaxNode? VisitParenthesizedLambdaExpression(ParenthesizedLambdaExpressionSyntax node) 1705public override SyntaxNode? VisitInitializerExpression(InitializerExpressionSyntax node) 1708public override SyntaxNode? VisitImplicitObjectCreationExpression(ImplicitObjectCreationExpressionSyntax node) 1711public override SyntaxNode? VisitObjectCreationExpression(ObjectCreationExpressionSyntax node) 1714public override SyntaxNode? VisitWithExpression(WithExpressionSyntax node) 1717public override SyntaxNode? VisitAnonymousObjectMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax node) 1720public override SyntaxNode? VisitAnonymousObjectCreationExpression(AnonymousObjectCreationExpressionSyntax node) 1723public override SyntaxNode? VisitArrayCreationExpression(ArrayCreationExpressionSyntax node) 1726public override SyntaxNode? VisitImplicitArrayCreationExpression(ImplicitArrayCreationExpressionSyntax node) 1729public override SyntaxNode? VisitStackAllocArrayCreationExpression(StackAllocArrayCreationExpressionSyntax node) 1732public override SyntaxNode? VisitImplicitStackAllocArrayCreationExpression(ImplicitStackAllocArrayCreationExpressionSyntax node) 1735public override SyntaxNode? VisitCollectionExpression(CollectionExpressionSyntax node) 1738public override SyntaxNode? VisitExpressionElement(ExpressionElementSyntax node) 1741public override SyntaxNode? VisitSpreadElement(SpreadElementSyntax node) 1744public override SyntaxNode? VisitWithElement(WithElementSyntax node) 1747public override SyntaxNode? VisitQueryExpression(QueryExpressionSyntax node) 1750public override SyntaxNode? VisitQueryBody(QueryBodySyntax node) 1753public override SyntaxNode? VisitFromClause(FromClauseSyntax node) 1756public override SyntaxNode? VisitLetClause(LetClauseSyntax node) 1759public override SyntaxNode? VisitJoinClause(JoinClauseSyntax node) 1762public override SyntaxNode? VisitJoinIntoClause(JoinIntoClauseSyntax node) 1765public override SyntaxNode? VisitWhereClause(WhereClauseSyntax node) 1768public override SyntaxNode? VisitOrderByClause(OrderByClauseSyntax node) 1771public override SyntaxNode? VisitOrdering(OrderingSyntax node) 1774public override SyntaxNode? VisitSelectClause(SelectClauseSyntax node) 1777public override SyntaxNode? VisitGroupClause(GroupClauseSyntax node) 1780public override SyntaxNode? VisitQueryContinuation(QueryContinuationSyntax node) 1783public override SyntaxNode? VisitOmittedArraySizeExpression(OmittedArraySizeExpressionSyntax node) 1786public override SyntaxNode? VisitInterpolatedStringExpression(InterpolatedStringExpressionSyntax node) 1789public override SyntaxNode? VisitIsPatternExpression(IsPatternExpressionSyntax node) 1792public override SyntaxNode? VisitThrowExpression(ThrowExpressionSyntax node) 1795public override SyntaxNode? VisitWhenClause(WhenClauseSyntax node) 1798public override SyntaxNode? VisitDiscardPattern(DiscardPatternSyntax node) 1801public override SyntaxNode? VisitDeclarationPattern(DeclarationPatternSyntax node) 1804public override SyntaxNode? VisitVarPattern(VarPatternSyntax node) 1807public override SyntaxNode? VisitRecursivePattern(RecursivePatternSyntax node) 1810public override SyntaxNode? VisitPositionalPatternClause(PositionalPatternClauseSyntax node) 1813public override SyntaxNode? VisitPropertyPatternClause(PropertyPatternClauseSyntax node) 1816public override SyntaxNode? VisitSubpattern(SubpatternSyntax node) 1819public override SyntaxNode? VisitConstantPattern(ConstantPatternSyntax node) 1822public override SyntaxNode? VisitParenthesizedPattern(ParenthesizedPatternSyntax node) 1825public override SyntaxNode? VisitRelationalPattern(RelationalPatternSyntax node) 1828public override SyntaxNode? VisitTypePattern(TypePatternSyntax node) 1831public override SyntaxNode? VisitBinaryPattern(BinaryPatternSyntax node) 1834public override SyntaxNode? VisitUnaryPattern(UnaryPatternSyntax node) 1837public override SyntaxNode? VisitListPattern(ListPatternSyntax node) 1840public override SyntaxNode? VisitSlicePattern(SlicePatternSyntax node) 1843public override SyntaxNode? VisitInterpolatedStringText(InterpolatedStringTextSyntax node) 1846public override SyntaxNode? VisitInterpolation(InterpolationSyntax node) 1849public override SyntaxNode? VisitInterpolationAlignmentClause(InterpolationAlignmentClauseSyntax node) 1852public override SyntaxNode? VisitInterpolationFormatClause(InterpolationFormatClauseSyntax node) 1855public override SyntaxNode? VisitGlobalStatement(GlobalStatementSyntax node) 1858public override SyntaxNode? VisitBlock(BlockSyntax node) 1861public override SyntaxNode? VisitLocalFunctionStatement(LocalFunctionStatementSyntax node) 1864public override SyntaxNode? VisitLocalDeclarationStatement(LocalDeclarationStatementSyntax node) 1867public override SyntaxNode? VisitVariableDeclaration(VariableDeclarationSyntax node) 1870public override SyntaxNode? VisitVariableDeclarator(VariableDeclaratorSyntax node) 1873public override SyntaxNode? VisitEqualsValueClause(EqualsValueClauseSyntax node) 1876public override SyntaxNode? VisitSingleVariableDesignation(SingleVariableDesignationSyntax node) 1879public override SyntaxNode? VisitDiscardDesignation(DiscardDesignationSyntax node) 1882public override SyntaxNode? VisitParenthesizedVariableDesignation(ParenthesizedVariableDesignationSyntax node) 1885public override SyntaxNode? VisitExpressionStatement(ExpressionStatementSyntax node) 1888public override SyntaxNode? VisitEmptyStatement(EmptyStatementSyntax node) 1891public override SyntaxNode? VisitLabeledStatement(LabeledStatementSyntax node) 1894public override SyntaxNode? VisitGotoStatement(GotoStatementSyntax node) 1897public override SyntaxNode? VisitBreakStatement(BreakStatementSyntax node) 1900public override SyntaxNode? VisitContinueStatement(ContinueStatementSyntax node) 1903public override SyntaxNode? VisitReturnStatement(ReturnStatementSyntax node) 1906public override SyntaxNode? VisitThrowStatement(ThrowStatementSyntax node) 1909public override SyntaxNode? VisitYieldStatement(YieldStatementSyntax node) 1912public override SyntaxNode? VisitWhileStatement(WhileStatementSyntax node) 1915public override SyntaxNode? VisitDoStatement(DoStatementSyntax node) 1918public override SyntaxNode? VisitForStatement(ForStatementSyntax node) 1921public override SyntaxNode? VisitForEachStatement(ForEachStatementSyntax node) 1924public override SyntaxNode? VisitForEachVariableStatement(ForEachVariableStatementSyntax node) 1927public override SyntaxNode? VisitUsingStatement(UsingStatementSyntax node) 1930public override SyntaxNode? VisitFixedStatement(FixedStatementSyntax node) 1933public override SyntaxNode? VisitCheckedStatement(CheckedStatementSyntax node) 1936public override SyntaxNode? VisitUnsafeStatement(UnsafeStatementSyntax node) 1939public override SyntaxNode? VisitLockStatement(LockStatementSyntax node) 1942public override SyntaxNode? VisitIfStatement(IfStatementSyntax node) 1945public override SyntaxNode? VisitElseClause(ElseClauseSyntax node) 1948public override SyntaxNode? VisitSwitchStatement(SwitchStatementSyntax node) 1951public override SyntaxNode? VisitSwitchSection(SwitchSectionSyntax node) 1954public override SyntaxNode? VisitCasePatternSwitchLabel(CasePatternSwitchLabelSyntax node) 1957public override SyntaxNode? VisitCaseSwitchLabel(CaseSwitchLabelSyntax node) 1960public override SyntaxNode? VisitDefaultSwitchLabel(DefaultSwitchLabelSyntax node) 1963public override SyntaxNode? VisitSwitchExpression(SwitchExpressionSyntax node) 1966public override SyntaxNode? VisitSwitchExpressionArm(SwitchExpressionArmSyntax node) 1969public override SyntaxNode? VisitTryStatement(TryStatementSyntax node) 1972public override SyntaxNode? VisitCatchClause(CatchClauseSyntax node) 1975public override SyntaxNode? VisitCatchDeclaration(CatchDeclarationSyntax node) 1978public override SyntaxNode? VisitCatchFilterClause(CatchFilterClauseSyntax node) 1981public override SyntaxNode? VisitFinallyClause(FinallyClauseSyntax node) 1984public override SyntaxNode? VisitCompilationUnit(CompilationUnitSyntax node) 1987public override SyntaxNode? VisitExternAliasDirective(ExternAliasDirectiveSyntax node) 1990public override SyntaxNode? VisitUsingDirective(UsingDirectiveSyntax node) 1993public override SyntaxNode? VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 1996public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 1999public override SyntaxNode? VisitAttributeList(AttributeListSyntax node) 2002public override SyntaxNode? VisitAttributeTargetSpecifier(AttributeTargetSpecifierSyntax node) 2005public override SyntaxNode? VisitAttribute(AttributeSyntax node) 2008public override SyntaxNode? VisitAttributeArgumentList(AttributeArgumentListSyntax node) 2011public override SyntaxNode? VisitAttributeArgument(AttributeArgumentSyntax node) 2014public override SyntaxNode? VisitNameEquals(NameEqualsSyntax node) 2017public override SyntaxNode? VisitTypeParameterList(TypeParameterListSyntax node) 2020public override SyntaxNode? VisitTypeParameter(TypeParameterSyntax node) 2023public override SyntaxNode? VisitClassDeclaration(ClassDeclarationSyntax node) 2026public override SyntaxNode? VisitStructDeclaration(StructDeclarationSyntax node) 2029public override SyntaxNode? VisitUnionDeclaration(UnionDeclarationSyntax node) 2032public override SyntaxNode? VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) 2035public override SyntaxNode? VisitRecordDeclaration(RecordDeclarationSyntax node) 2038public override SyntaxNode? VisitEnumDeclaration(EnumDeclarationSyntax node) 2041public override SyntaxNode? VisitDelegateDeclaration(DelegateDeclarationSyntax node) 2044public override SyntaxNode? VisitEnumMemberDeclaration(EnumMemberDeclarationSyntax node) 2047public override SyntaxNode? VisitExtensionBlockDeclaration(ExtensionBlockDeclarationSyntax node) 2050public override SyntaxNode? VisitBaseList(BaseListSyntax node) 2053public override SyntaxNode? VisitSimpleBaseType(SimpleBaseTypeSyntax node) 2056public override SyntaxNode? VisitPrimaryConstructorBaseType(PrimaryConstructorBaseTypeSyntax node) 2059public override SyntaxNode? VisitTypeParameterConstraintClause(TypeParameterConstraintClauseSyntax node) 2062public override SyntaxNode? VisitConstructorConstraint(ConstructorConstraintSyntax node) 2065public override SyntaxNode? VisitClassOrStructConstraint(ClassOrStructConstraintSyntax node) 2068public override SyntaxNode? VisitTypeConstraint(TypeConstraintSyntax node) 2071public override SyntaxNode? VisitDefaultConstraint(DefaultConstraintSyntax node) 2074public override SyntaxNode? VisitAllowsConstraintClause(AllowsConstraintClauseSyntax node) 2077public override SyntaxNode? VisitRefStructConstraint(RefStructConstraintSyntax node) 2080public override SyntaxNode? VisitFieldDeclaration(FieldDeclarationSyntax node) 2083public override SyntaxNode? VisitEventFieldDeclaration(EventFieldDeclarationSyntax node) 2086public override SyntaxNode? VisitExplicitInterfaceSpecifier(ExplicitInterfaceSpecifierSyntax node) 2089public override SyntaxNode? VisitMethodDeclaration(MethodDeclarationSyntax node) 2092public override SyntaxNode? VisitOperatorDeclaration(OperatorDeclarationSyntax node) 2095public override SyntaxNode? VisitConversionOperatorDeclaration(ConversionOperatorDeclarationSyntax node) 2098public override SyntaxNode? VisitConstructorDeclaration(ConstructorDeclarationSyntax node) 2101public override SyntaxNode? VisitConstructorInitializer(ConstructorInitializerSyntax node) 2104public override SyntaxNode? VisitDestructorDeclaration(DestructorDeclarationSyntax node) 2107public override SyntaxNode? VisitPropertyDeclaration(PropertyDeclarationSyntax node) 2110public override SyntaxNode? VisitArrowExpressionClause(ArrowExpressionClauseSyntax node) 2113public override SyntaxNode? VisitEventDeclaration(EventDeclarationSyntax node) 2116public override SyntaxNode? VisitIndexerDeclaration(IndexerDeclarationSyntax node) 2119public override SyntaxNode? VisitAccessorList(AccessorListSyntax node) 2122public override SyntaxNode? VisitAccessorDeclaration(AccessorDeclarationSyntax node) 2125public override SyntaxNode? VisitParameterList(ParameterListSyntax node) 2128public override SyntaxNode? VisitBracketedParameterList(BracketedParameterListSyntax node) 2131public override SyntaxNode? VisitParameter(ParameterSyntax node) 2134public override SyntaxNode? VisitFunctionPointerParameter(FunctionPointerParameterSyntax node) 2137public override SyntaxNode? VisitIncompleteMember(IncompleteMemberSyntax node) 2140public override SyntaxNode? VisitSkippedTokensTrivia(SkippedTokensTriviaSyntax node) 2143public override SyntaxNode? VisitDocumentationCommentTrivia(DocumentationCommentTriviaSyntax node) 2146public override SyntaxNode? VisitTypeCref(TypeCrefSyntax node) 2149public override SyntaxNode? VisitQualifiedCref(QualifiedCrefSyntax node) 2152public override SyntaxNode? VisitNameMemberCref(NameMemberCrefSyntax node) 2155public override SyntaxNode? VisitExtensionMemberCref(ExtensionMemberCrefSyntax node) 2158public override SyntaxNode? VisitIndexerMemberCref(IndexerMemberCrefSyntax node) 2161public override SyntaxNode? VisitOperatorMemberCref(OperatorMemberCrefSyntax node) 2164public override SyntaxNode? VisitConversionOperatorMemberCref(ConversionOperatorMemberCrefSyntax node) 2167public override SyntaxNode? VisitCrefParameterList(CrefParameterListSyntax node) 2170public override SyntaxNode? VisitCrefBracketedParameterList(CrefBracketedParameterListSyntax node) 2173public override SyntaxNode? VisitCrefParameter(CrefParameterSyntax node) 2176public override SyntaxNode? VisitXmlElement(XmlElementSyntax node) 2179public override SyntaxNode? VisitXmlElementStartTag(XmlElementStartTagSyntax node) 2182public override SyntaxNode? VisitXmlElementEndTag(XmlElementEndTagSyntax node) 2185public override SyntaxNode? VisitXmlEmptyElement(XmlEmptyElementSyntax node) 2188public override SyntaxNode? VisitXmlName(XmlNameSyntax node) 2191public override SyntaxNode? VisitXmlPrefix(XmlPrefixSyntax node) 2194public override SyntaxNode? VisitXmlTextAttribute(XmlTextAttributeSyntax node) 2197public override SyntaxNode? VisitXmlCrefAttribute(XmlCrefAttributeSyntax node) 2200public override SyntaxNode? VisitXmlNameAttribute(XmlNameAttributeSyntax node) 2203public override SyntaxNode? VisitXmlText(XmlTextSyntax node) 2206public override SyntaxNode? VisitXmlCDataSection(XmlCDataSectionSyntax node) 2209public override SyntaxNode? VisitXmlProcessingInstruction(XmlProcessingInstructionSyntax node) 2212public override SyntaxNode? VisitXmlComment(XmlCommentSyntax node) 2215public override SyntaxNode? VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) 2218public override SyntaxNode? VisitElifDirectiveTrivia(ElifDirectiveTriviaSyntax node) 2221public override SyntaxNode? VisitElseDirectiveTrivia(ElseDirectiveTriviaSyntax node) 2224public override SyntaxNode? VisitEndIfDirectiveTrivia(EndIfDirectiveTriviaSyntax node) 2227public override SyntaxNode? VisitRegionDirectiveTrivia(RegionDirectiveTriviaSyntax node) 2230public override SyntaxNode? VisitEndRegionDirectiveTrivia(EndRegionDirectiveTriviaSyntax node) 2233public override SyntaxNode? VisitErrorDirectiveTrivia(ErrorDirectiveTriviaSyntax node) 2236public override SyntaxNode? VisitWarningDirectiveTrivia(WarningDirectiveTriviaSyntax node) 2239public override SyntaxNode? VisitBadDirectiveTrivia(BadDirectiveTriviaSyntax node) 2242public override SyntaxNode? VisitDefineDirectiveTrivia(DefineDirectiveTriviaSyntax node) 2245public override SyntaxNode? VisitUndefDirectiveTrivia(UndefDirectiveTriviaSyntax node) 2248public override SyntaxNode? VisitLineDirectiveTrivia(LineDirectiveTriviaSyntax node) 2251public override SyntaxNode? VisitLineDirectivePosition(LineDirectivePositionSyntax node) 2254public override SyntaxNode? VisitLineSpanDirectiveTrivia(LineSpanDirectiveTriviaSyntax node) 2257public override SyntaxNode? VisitPragmaWarningDirectiveTrivia(PragmaWarningDirectiveTriviaSyntax node) 2260public override SyntaxNode? VisitPragmaChecksumDirectiveTrivia(PragmaChecksumDirectiveTriviaSyntax node) 2263public override SyntaxNode? VisitReferenceDirectiveTrivia(ReferenceDirectiveTriviaSyntax node) 2266public override SyntaxNode? VisitLoadDirectiveTrivia(LoadDirectiveTriviaSyntax node) 2269public override SyntaxNode? VisitShebangDirectiveTrivia(ShebangDirectiveTriviaSyntax node) 2272public override SyntaxNode? VisitIgnoredDirectiveTrivia(IgnoredDirectiveTriviaSyntax node) 2275public override SyntaxNode? VisitNullableDirectiveTrivia(NullableDirectiveTriviaSyntax node)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Syntax.xml.Syntax.Generated.cs (947)
17internal NameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 26internal SimpleNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 47internal IdentifierNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 55internal override SyntaxNode? GetNodeSlot(int index) => null; 57internal override SyntaxNode? GetCachedSlot(int index) => null; 90internal QualifiedNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 104internal override SyntaxNode? GetNodeSlot(int index) 112internal override SyntaxNode? GetCachedSlot(int index) 151internal GenericNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 162internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.typeArgumentList, 1)! : null; 164internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.typeArgumentList : null; 197private SyntaxNode? arguments; 199internal TypeArgumentListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 212var red = GetRed(ref this.arguments, 1); 220internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.arguments, 1)! : null; 222internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.arguments : null; 258internal AliasQualifiedNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 272internal override SyntaxNode? GetNodeSlot(int index) 280internal override SyntaxNode? GetCachedSlot(int index) 311internal TypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 327internal PredefinedTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 335internal override SyntaxNode? GetNodeSlot(int index) => null; 337internal override SyntaxNode? GetCachedSlot(int index) => null; 367private SyntaxNode? rankSpecifiers; 369internal ArrayTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 380internal override SyntaxNode? GetNodeSlot(int index) 388internal override SyntaxNode? GetCachedSlot(int index) 425private SyntaxNode? sizes; 427internal ArrayRankSpecifierSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 438var red = GetRed(ref this.sizes, 1); 445internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.sizes, 1)! : null; 447internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.sizes : null; 482internal PointerTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 493internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.elementType)! : null; 495internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.elementType : null; 527internal FunctionPointerTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 544internal override SyntaxNode? GetNodeSlot(int index) 552internal override SyntaxNode? GetCachedSlot(int index) 592private SyntaxNode? parameters; 594internal FunctionPointerParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 607var red = GetRed(ref this.parameters, 1); 615internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 617internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 652internal FunctionPointerCallingConventionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 663internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.unmanagedCallingConventionList, 1) : null; 665internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.unmanagedCallingConventionList : null; 701private SyntaxNode? callingConventions; 703internal FunctionPointerUnmanagedCallingConventionListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 716var red = GetRed(ref this.callingConventions, 1); 724internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.callingConventions, 1)! : null; 726internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.callingConventions : null; 760internal FunctionPointerUnmanagedCallingConventionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 768internal override SyntaxNode? GetNodeSlot(int index) => null; 770internal override SyntaxNode? GetCachedSlot(int index) => null; 801internal NullableTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 812internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.elementType)! : null; 814internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.elementType : null; 844private SyntaxNode? elements; 846internal TupleTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 858var red = GetRed(ref this.elements, 1); 866internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.elements, 1)! : null; 868internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.elements : null; 903internal TupleElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 921internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.type)! : null; 923internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.type : null; 954internal OmittedTypeArgumentSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 962internal override SyntaxNode? GetNodeSlot(int index) => null; 964internal override SyntaxNode? GetCachedSlot(int index) => null; 995internal RefTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1014internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.type, 2)! : null; 1016internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.type : null; 1049internal ScopedTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1058internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.type, 1)! : null; 1060internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.type : null; 1083internal ExpressionOrPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1092internal ExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1109internal ParenthesizedExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1123internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 1125internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 1156private SyntaxNode? arguments; 1158internal TupleExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1171var red = GetRed(ref this.arguments, 1); 1179internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.arguments, 1)! : null; 1181internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.arguments : null; 1224internal PrefixUnaryExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1235internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.operand, 1)! : null; 1237internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.operand : null; 1269internal AwaitExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1280internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 1282internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 1316internal PostfixUnaryExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1327internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.operand)! : null; 1329internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.operand : null; 1363internal MemberAccessExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1377internal override SyntaxNode? GetNodeSlot(int index) 1385internal override SyntaxNode? GetCachedSlot(int index) 1425internal ConditionalAccessExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1439internal override SyntaxNode? GetNodeSlot(int index) 1447internal override SyntaxNode? GetCachedSlot(int index) 1486internal MemberBindingExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1497internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.name, 1)! : null; 1499internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.name : null; 1531internal ElementBindingExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1539internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.argumentList)! : null; 1541internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.argumentList : null; 1575internal RangeExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1589internal override SyntaxNode? GetNodeSlot(int index) 1597internal override SyntaxNode? GetCachedSlot(int index) 1636internal ImplicitElementAccessSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1644internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.argumentList)! : null; 1646internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.argumentList : null; 1701internal BinaryExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1715internal override SyntaxNode? GetNodeSlot(int index) 1723internal override SyntaxNode? GetCachedSlot(int index) 1775internal AssignmentExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1789internal override SyntaxNode? GetNodeSlot(int index) 1797internal override SyntaxNode? GetCachedSlot(int index) 1838internal ConditionalExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1858internal override SyntaxNode? GetNodeSlot(int index) 1867internal override SyntaxNode? GetCachedSlot(int index) 1901internal InstanceExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1917internal ThisExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1925internal override SyntaxNode? GetNodeSlot(int index) => null; 1927internal override SyntaxNode? GetCachedSlot(int index) => null; 1957internal BaseExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 1965internal override SyntaxNode? GetNodeSlot(int index) => null; 1967internal override SyntaxNode? GetCachedSlot(int index) => null; 2005internal LiteralExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2013internal override SyntaxNode? GetNodeSlot(int index) => null; 2015internal override SyntaxNode? GetCachedSlot(int index) => null; 2045internal FieldExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2053internal override SyntaxNode? GetNodeSlot(int index) => null; 2055internal override SyntaxNode? GetCachedSlot(int index) => null; 2086internal MakeRefExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2103internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.expression, 2)! : null; 2105internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.expression : null; 2139internal RefTypeExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2156internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.expression, 2)! : null; 2158internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.expression : null; 2193internal RefValueExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2216internal override SyntaxNode? GetNodeSlot(int index) 2224internal override SyntaxNode? GetCachedSlot(int index) 2267internal CheckedExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2284internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.expression, 2)! : null; 2286internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.expression : null; 2321internal UnsafeExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2338internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.expression, 2)! : null; 2340internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.expression : null; 2375internal DefaultExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2392internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.type, 2)! : null; 2394internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.type : null; 2428internal TypeOfExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2445internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.type, 2)! : null; 2447internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.type : null; 2481internal SizeOfExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2498internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.type, 2)! : null; 2500internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.type : null; 2535internal InvocationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2546internal override SyntaxNode? GetNodeSlot(int index) 2554internal override SyntaxNode? GetCachedSlot(int index) 2595internal ElementAccessExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2606internal override SyntaxNode? GetNodeSlot(int index) 2614internal override SyntaxNode? GetCachedSlot(int index) 2646internal BaseArgumentListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2669private SyntaxNode? arguments; 2671internal ArgumentListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2684var red = GetRed(ref this.arguments, 1); 2692internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.arguments, 1)! : null; 2694internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.arguments : null; 2729private SyntaxNode? arguments; 2731internal BracketedArgumentListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2744var red = GetRed(ref this.arguments, 1); 2752internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.arguments, 1)! : null; 2754internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.arguments : null; 2792internal ArgumentSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2813internal override SyntaxNode? GetNodeSlot(int index) 2821internal override SyntaxNode? GetCachedSlot(int index) 2851internal BaseExpressionColonSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2875internal ExpressionColonSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2884internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.expression)! : null; 2886internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.expression : null; 2920internal NameColonSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2931internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.name)! : null; 2933internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.name : null; 2967internal DeclarationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 2977internal override SyntaxNode? GetNodeSlot(int index) 2985internal override SyntaxNode? GetCachedSlot(int index) 3024internal CastExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3041internal override SyntaxNode? GetNodeSlot(int index) 3049internal override SyntaxNode? GetCachedSlot(int index) 3081internal AnonymousFunctionExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3129internal AnonymousMethodExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3161internal override SyntaxNode? GetNodeSlot(int index) 3170internal override SyntaxNode? GetCachedSlot(int index) 3219internal LambdaExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3256private SyntaxNode? attributeLists; 3261internal SimpleLambdaExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3295internal override SyntaxNode? GetNodeSlot(int index) 3305internal override SyntaxNode? GetCachedSlot(int index) 3372internal RefExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3381internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 3383internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 3413private SyntaxNode? attributeLists; 3419internal ParenthesizedLambdaExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3455internal override SyntaxNode? GetNodeSlot(int index) 3466internal override SyntaxNode? GetCachedSlot(int index) 3537private SyntaxNode? expressions; 3539internal InitializerExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3552var red = GetRed(ref this.expressions, 1); 3560internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expressions, 1)! : null; 3562internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expressions : null; 3588internal BaseObjectCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3624internal ImplicitObjectCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3638internal override SyntaxNode? GetNodeSlot(int index) 3646internal override SyntaxNode? GetCachedSlot(int index) 3693internal ObjectCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3710internal override SyntaxNode? GetNodeSlot(int index) 3719internal override SyntaxNode? GetCachedSlot(int index) 3770internal WithExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3782internal override SyntaxNode? GetNodeSlot(int index) 3790internal override SyntaxNode? GetCachedSlot(int index) 3831internal AnonymousObjectMemberDeclaratorSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3842internal override SyntaxNode? GetNodeSlot(int index) 3850internal override SyntaxNode? GetCachedSlot(int index) 3886private SyntaxNode? initializers; 3888internal AnonymousObjectCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3904var red = GetRed(ref this.initializers, 2); 3912internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.initializers, 2)! : null; 3914internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.initializers : null; 3951internal ArrayCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 3965internal override SyntaxNode? GetNodeSlot(int index) 3973internal override SyntaxNode? GetCachedSlot(int index) 4014internal ImplicitArrayCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4041internal override SyntaxNode? GetNodeSlot(int index) => index == 4 ? GetRed(ref this.initializer, 4)! : null; 4043internal override SyntaxNode? GetCachedSlot(int index) => index == 4 ? this.initializer : null; 4082internal StackAllocArrayCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4096internal override SyntaxNode? GetNodeSlot(int index) 4104internal override SyntaxNode? GetCachedSlot(int index) 4143internal ImplicitStackAllocArrayCreationExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4160internal override SyntaxNode? GetNodeSlot(int index) => index == 3 ? GetRed(ref this.initializer, 3)! : null; 4162internal override SyntaxNode? GetCachedSlot(int index) => index == 3 ? this.initializer : null; 4195private SyntaxNode? elements; 4197internal CollectionExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4209var red = GetRed(ref this.elements, 1); 4216internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.elements, 1)! : null; 4218internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.elements : null; 4244internal CollectionElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4260internal ExpressionElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4267internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.expression)! : null; 4269internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.expression : null; 4299internal SpreadElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4308internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 4310internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 4341internal WithElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4350internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.argumentList, 1)! : null; 4352internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.argumentList : null; 4377internal QueryClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4385internal SelectOrGroupClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4402internal QueryExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4411internal override SyntaxNode? GetNodeSlot(int index) 4419internal override SyntaxNode? GetCachedSlot(int index) 4456private SyntaxNode? clauses; 4460internal QueryBodySyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4471internal override SyntaxNode? GetNodeSlot(int index) 4480internal override SyntaxNode? GetCachedSlot(int index) 4522internal FromClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4538internal override SyntaxNode? GetNodeSlot(int index) 4546internal override SyntaxNode? GetCachedSlot(int index) 4586internal LetClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4600internal override SyntaxNode? GetNodeSlot(int index) => index == 3 ? GetRed(ref this.expression, 3)! : null; 4602internal override SyntaxNode? GetCachedSlot(int index) => index == 3 ? this.expression : null; 4639internal JoinClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4665internal override SyntaxNode? GetNodeSlot(int index) 4676internal override SyntaxNode? GetCachedSlot(int index) 4723internal JoinIntoClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4733internal override SyntaxNode? GetNodeSlot(int index) => null; 4735internal override SyntaxNode? GetCachedSlot(int index) => null; 4766internal WhereClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4775internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.condition, 1)! : null; 4777internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.condition : null; 4806private SyntaxNode? orderings; 4808internal OrderByClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4819var red = GetRed(ref this.orderings, 1); 4824internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.orderings, 1)! : null; 4826internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.orderings : null; 4860internal OrderingSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4876internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.expression)! : null; 4878internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.expression : null; 4909internal SelectClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4918internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 4920internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 4952internal GroupClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 4965internal override SyntaxNode? GetNodeSlot(int index) 4973internal override SyntaxNode? GetCachedSlot(int index) 5012internal QueryContinuationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5024internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.body, 2)! : null; 5026internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.body : null; 5060internal OmittedArraySizeExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5068internal override SyntaxNode? GetNodeSlot(int index) => null; 5070internal override SyntaxNode? GetCachedSlot(int index) => null; 5098private SyntaxNode? contents; 5100internal InterpolatedStringExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5114internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.contents, 1)! : null; 5116internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.contents : null; 5152internal IsPatternExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5165internal override SyntaxNode? GetNodeSlot(int index) 5173internal override SyntaxNode? GetCachedSlot(int index) 5211internal ThrowExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5220internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 5222internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 5253internal WhenClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5262internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.condition, 1)! : null; 5264internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.condition : null; 5287internal PatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5302internal DiscardPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5309internal override SyntaxNode? GetNodeSlot(int index) => null; 5311internal override SyntaxNode? GetCachedSlot(int index) => null; 5342internal DeclarationPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5351internal override SyntaxNode? GetNodeSlot(int index) 5359internal override SyntaxNode? GetCachedSlot(int index) 5396internal VarPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5405internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.designation, 1)! : null; 5407internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.designation : null; 5441internal RecursivePatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5454internal override SyntaxNode? GetNodeSlot(int index) 5464internal override SyntaxNode? GetCachedSlot(int index) 5514private SyntaxNode? subpatterns; 5516internal PositionalPatternClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5527var red = GetRed(ref this.subpatterns, 1); 5534internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.subpatterns, 1)! : null; 5536internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.subpatterns : null; 5568private SyntaxNode? subpatterns; 5570internal PropertyPatternClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5581var red = GetRed(ref this.subpatterns, 1); 5588internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.subpatterns, 1)! : null; 5590internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.subpatterns : null; 5625internal SubpatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5634internal override SyntaxNode? GetNodeSlot(int index) 5642internal override SyntaxNode? GetCachedSlot(int index) 5679internal ConstantPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5687internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.expression)! : null; 5689internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.expression : null; 5719internal ParenthesizedPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5730internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.pattern, 1)! : null; 5732internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.pattern : null; 5764internal RelationalPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5774internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 5776internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 5807internal TypePatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5815internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.type)! : null; 5817internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.type : null; 5849internal BinaryPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5860internal override SyntaxNode? GetNodeSlot(int index) 5868internal override SyntaxNode? GetCachedSlot(int index) 5906internal UnaryPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5915internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.pattern, 1)! : null; 5917internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.pattern : null; 5946private SyntaxNode? patterns; 5949internal ListPatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 5960var red = GetRed(ref this.patterns, 1); 5969internal override SyntaxNode? GetNodeSlot(int index) 5977internal override SyntaxNode? GetCachedSlot(int index) 6018internal SlicePatternSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6027internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.pattern, 1) : null; 6029internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.pattern : null; 6052internal InterpolatedStringContentSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6067internal InterpolatedStringTextSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6075internal override SyntaxNode? GetNodeSlot(int index) => null; 6077internal override SyntaxNode? GetCachedSlot(int index) => null; 6109internal InterpolationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6128internal override SyntaxNode? GetNodeSlot(int index) 6137internal override SyntaxNode? GetCachedSlot(int index) 6178internal InterpolationAlignmentClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6187internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.value, 1)! : null; 6189internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.value : null; 6219internal InterpolationFormatClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6229internal override SyntaxNode? GetNodeSlot(int index) => null; 6231internal override SyntaxNode? GetCachedSlot(int index) => null; 6261private SyntaxNode? attributeLists; 6264internal GlobalStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6282internal override SyntaxNode? GetNodeSlot(int index) 6290internal override SyntaxNode? GetCachedSlot(int index) 6328internal StatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6349private SyntaxNode? attributeLists; 6350private SyntaxNode? statements; 6352internal BlockSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6365internal override SyntaxNode? GetNodeSlot(int index) 6373internal override SyntaxNode? GetCachedSlot(int index) 6415private SyntaxNode? attributeLists; 6419private SyntaxNode? constraintClauses; 6423internal LocalFunctionStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6464internal override SyntaxNode? GetNodeSlot(int index) 6477internal override SyntaxNode? GetCachedSlot(int index) 6547private SyntaxNode? attributeLists; 6550internal LocalDeclarationStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6589internal override SyntaxNode? GetNodeSlot(int index) 6597internal override SyntaxNode? GetCachedSlot(int index) 6643private SyntaxNode? variables; 6645internal VariableDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6656var red = GetRed(ref this.variables, 1); 6661internal override SyntaxNode? GetNodeSlot(int index) 6669internal override SyntaxNode? GetCachedSlot(int index) 6709internal VariableDeclaratorSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6721internal override SyntaxNode? GetNodeSlot(int index) 6729internal override SyntaxNode? GetCachedSlot(int index) 6773internal EqualsValueClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6782internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.value, 1)! : null; 6784internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.value : null; 6807internal VariableDesignationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6822internal SingleVariableDesignationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6829internal override SyntaxNode? GetNodeSlot(int index) => null; 6831internal override SyntaxNode? GetCachedSlot(int index) => null; 6860internal DiscardDesignationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6867internal override SyntaxNode? GetNodeSlot(int index) => null; 6869internal override SyntaxNode? GetCachedSlot(int index) => null; 6897private SyntaxNode? variables; 6899internal ParenthesizedVariableDesignationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6910var red = GetRed(ref this.variables, 1); 6917internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.variables, 1)! : null; 6919internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.variables : null; 6951private SyntaxNode? attributeLists; 6954internal ExpressionStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 6965internal override SyntaxNode? GetNodeSlot(int index) 6973internal override SyntaxNode? GetCachedSlot(int index) 7013private SyntaxNode? attributeLists; 7015internal EmptyStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7024internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.attributeLists)! : null; 7026internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.attributeLists : null; 7060private SyntaxNode? attributeLists; 7063internal LabeledStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7078internal override SyntaxNode? GetNodeSlot(int index) 7086internal override SyntaxNode? GetCachedSlot(int index) 7132private SyntaxNode? attributeLists; 7135internal GotoStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7169internal override SyntaxNode? GetNodeSlot(int index) 7177internal override SyntaxNode? GetCachedSlot(int index) 7219private SyntaxNode? attributeLists; 7222internal BreakStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7235internal override SyntaxNode? GetNodeSlot(int index) 7243internal override SyntaxNode? GetCachedSlot(int index) 7284private SyntaxNode? attributeLists; 7287internal ContinueStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7300internal override SyntaxNode? GetNodeSlot(int index) 7308internal override SyntaxNode? GetCachedSlot(int index) 7349private SyntaxNode? attributeLists; 7352internal ReturnStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7365internal override SyntaxNode? GetNodeSlot(int index) 7373internal override SyntaxNode? GetCachedSlot(int index) 7414private SyntaxNode? attributeLists; 7417internal ThrowStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7430internal override SyntaxNode? GetNodeSlot(int index) 7438internal override SyntaxNode? GetCachedSlot(int index) 7480private SyntaxNode? attributeLists; 7483internal YieldStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7498internal override SyntaxNode? GetNodeSlot(int index) 7506internal override SyntaxNode? GetCachedSlot(int index) 7548private SyntaxNode? attributeLists; 7552internal WhileStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7569internal override SyntaxNode? GetNodeSlot(int index) 7578internal override SyntaxNode? GetCachedSlot(int index) 7622private SyntaxNode? attributeLists; 7626internal DoStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7647internal override SyntaxNode? GetNodeSlot(int index) 7656internal override SyntaxNode? GetCachedSlot(int index) 7702private SyntaxNode? attributeLists; 7704private SyntaxNode? initializers; 7706private SyntaxNode? incrementors; 7709internal ForStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7726var red = GetRed(ref this.initializers, 4); 7741var red = GetRed(ref this.incrementors, 8); 7750internal override SyntaxNode? GetNodeSlot(int index) 7762internal override SyntaxNode? GetCachedSlot(int index) 7810internal CommonForEachStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7856private SyntaxNode? attributeLists; 7861internal ForEachStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 7894internal override SyntaxNode? GetNodeSlot(int index) 7904internal override SyntaxNode? GetCachedSlot(int index) 7960private SyntaxNode? attributeLists; 7965internal ForEachVariableStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8001internal override SyntaxNode? GetNodeSlot(int index) 8011internal override SyntaxNode? GetCachedSlot(int index) 8066private SyntaxNode? attributeLists; 8071internal UsingStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8099internal override SyntaxNode? GetNodeSlot(int index) 8109internal override SyntaxNode? GetCachedSlot(int index) 8156private SyntaxNode? attributeLists; 8160internal FixedStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8177internal override SyntaxNode? GetNodeSlot(int index) 8186internal override SyntaxNode? GetCachedSlot(int index) 8232private SyntaxNode? attributeLists; 8235internal CheckedStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8246internal override SyntaxNode? GetNodeSlot(int index) 8254internal override SyntaxNode? GetCachedSlot(int index) 8296private SyntaxNode? attributeLists; 8299internal UnsafeStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8310internal override SyntaxNode? GetNodeSlot(int index) 8318internal override SyntaxNode? GetCachedSlot(int index) 8360private SyntaxNode? attributeLists; 8364internal LockStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8381internal override SyntaxNode? GetNodeSlot(int index) 8390internal override SyntaxNode? GetCachedSlot(int index) 8437private SyntaxNode? attributeLists; 8442internal IfStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8479internal override SyntaxNode? GetNodeSlot(int index) 8489internal override SyntaxNode? GetCachedSlot(int index) 8538internal ElseClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8550internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.statement, 1)! : null; 8552internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.statement : null; 8582private SyntaxNode? attributeLists; 8584private SyntaxNode? sections; 8586internal SwitchStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8642internal override SyntaxNode? GetNodeSlot(int index) 8651internal override SyntaxNode? GetCachedSlot(int index) 8699private SyntaxNode? labels; 8700private SyntaxNode? statements; 8702internal SwitchSectionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8717internal override SyntaxNode? GetNodeSlot(int index) 8725internal override SyntaxNode? GetCachedSlot(int index) 8758internal SwitchLabelSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8790internal CasePatternSwitchLabelSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8807internal override SyntaxNode? GetNodeSlot(int index) 8815internal override SyntaxNode? GetCachedSlot(int index) 8857internal CaseSwitchLabelSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8872internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.value, 1)! : null; 8874internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.value : null; 8908internal DefaultSwitchLabelSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8918internal override SyntaxNode? GetNodeSlot(int index) => null; 8920internal override SyntaxNode? GetCachedSlot(int index) => null; 8952private SyntaxNode? arms; 8954internal SwitchExpressionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 8969var red = GetRed(ref this.arms, 3); 8976internal override SyntaxNode? GetNodeSlot(int index) 8984internal override SyntaxNode? GetCachedSlot(int index) 9028internal SwitchExpressionArmSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9041internal override SyntaxNode? GetNodeSlot(int index) 9050internal override SyntaxNode? GetCachedSlot(int index) 9088private SyntaxNode? attributeLists; 9090private SyntaxNode? catches; 9093internal TryStatementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9108internal override SyntaxNode? GetNodeSlot(int index) 9118internal override SyntaxNode? GetCachedSlot(int index) 9169internal CatchClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9182internal override SyntaxNode? GetNodeSlot(int index) 9191internal override SyntaxNode? GetCachedSlot(int index) 9234internal CatchDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9254internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.type, 1)! : null; 9256internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.type : null; 9289internal CatchFilterClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9302internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.filterExpression, 2)! : null; 9304internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.filterExpression : null; 9337internal FinallyClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9346internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.block, 1)! : null; 9348internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.block : null; 9380private SyntaxNode? externs; 9381private SyntaxNode? usings; 9382private SyntaxNode? attributeLists; 9383private SyntaxNode? members; 9385internal CompilationUnitSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9401internal override SyntaxNode? GetNodeSlot(int index) 9411internal override SyntaxNode? GetCachedSlot(int index) 9460internal ExternAliasDirectiveSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9477internal override SyntaxNode? GetNodeSlot(int index) => null; 9479internal override SyntaxNode? GetCachedSlot(int index) => null; 9513internal UsingDirectiveSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9553internal override SyntaxNode? GetNodeSlot(int index) 9561internal override SyntaxNode? GetCachedSlot(int index) 9596internal MemberDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9620internal BaseNamespaceDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9670private SyntaxNode? attributeLists; 9672private SyntaxNode? externs; 9673private SyntaxNode? usings; 9674private SyntaxNode? members; 9676internal NamespaceDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9716internal override SyntaxNode? GetNodeSlot(int index) 9727internal override SyntaxNode? GetCachedSlot(int index) 9791private SyntaxNode? attributeLists; 9793private SyntaxNode? externs; 9794private SyntaxNode? usings; 9795private SyntaxNode? members; 9797internal FileScopedNamespaceDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9825internal override SyntaxNode? GetNodeSlot(int index) 9836internal override SyntaxNode? GetCachedSlot(int index) 9900private SyntaxNode? attributes; 9902internal AttributeListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9918var red = GetRed(ref this.attributes, 2); 9926internal override SyntaxNode? GetNodeSlot(int index) 9934internal override SyntaxNode? GetCachedSlot(int index) 9975internal AttributeTargetSpecifierSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 9986internal override SyntaxNode? GetNodeSlot(int index) => null; 9988internal override SyntaxNode? GetCachedSlot(int index) => null; 10021internal AttributeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10031internal override SyntaxNode? GetNodeSlot(int index) 10039internal override SyntaxNode? GetCachedSlot(int index) 10081private SyntaxNode? arguments; 10083internal AttributeArgumentListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10096var red = GetRed(ref this.arguments, 1); 10104internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.arguments, 1)! : null; 10106internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.arguments : null; 10143internal AttributeArgumentSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10155internal override SyntaxNode? GetNodeSlot(int index) 10164internal override SyntaxNode? GetCachedSlot(int index) 10204internal NameEqualsSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10214internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.name)! : null; 10216internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.name : null; 10246private SyntaxNode? parameters; 10248internal TypeParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10261var red = GetRed(ref this.parameters, 1); 10269internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 10271internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 10304private SyntaxNode? attributeLists; 10306internal TypeParameterSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10326internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.attributeLists)! : null; 10328internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.attributeLists : null; 10355internal BaseTypeDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10399internal TypeDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10457private SyntaxNode? attributeLists; 10461private SyntaxNode? constraintClauses; 10462private SyntaxNode? members; 10464internal ClassDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10522internal override SyntaxNode? GetNodeSlot(int index) 10534internal override SyntaxNode? GetCachedSlot(int index) 10623private SyntaxNode? attributeLists; 10627private SyntaxNode? constraintClauses; 10628private SyntaxNode? members; 10630internal StructDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10688internal override SyntaxNode? GetNodeSlot(int index) 10700internal override SyntaxNode? GetCachedSlot(int index) 10789private SyntaxNode? attributeLists; 10793private SyntaxNode? constraintClauses; 10794private SyntaxNode? members; 10796internal UnionDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 10854internal override SyntaxNode? GetNodeSlot(int index) 10866internal override SyntaxNode? GetCachedSlot(int index) 10955private SyntaxNode? attributeLists; 10959private SyntaxNode? constraintClauses; 10960private SyntaxNode? members; 10962internal InterfaceDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11020internal override SyntaxNode? GetNodeSlot(int index) 11032internal override SyntaxNode? GetCachedSlot(int index) 11121private SyntaxNode? attributeLists; 11125private SyntaxNode? constraintClauses; 11126private SyntaxNode? members; 11128internal RecordDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11194internal override SyntaxNode? GetNodeSlot(int index) 11206internal override SyntaxNode? GetCachedSlot(int index) 11296private SyntaxNode? attributeLists; 11298private SyntaxNode? members; 11300internal EnumDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11337var red = GetRed(ref this.members, 6); 11361internal override SyntaxNode? GetNodeSlot(int index) 11370internal override SyntaxNode? GetCachedSlot(int index) 11433private SyntaxNode? attributeLists; 11437private SyntaxNode? constraintClauses; 11439internal DelegateDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11475internal override SyntaxNode? GetNodeSlot(int index) 11486internal override SyntaxNode? GetCachedSlot(int index) 11545private SyntaxNode? attributeLists; 11548internal EnumMemberDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11569internal override SyntaxNode? GetNodeSlot(int index) 11577internal override SyntaxNode? GetCachedSlot(int index) 11622private SyntaxNode? attributeLists; 11625private SyntaxNode? constraintClauses; 11626private SyntaxNode? members; 11628internal ExtensionBlockDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11681internal override SyntaxNode? GetNodeSlot(int index) 11692internal override SyntaxNode? GetCachedSlot(int index) 11770private SyntaxNode? types; 11772internal BaseListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11785var red = GetRed(ref this.types, 1); 11790internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.types, 1)! : null; 11792internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.types : null; 11818internal BaseTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11838internal SimpleBaseTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11845internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.type)! : null; 11847internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.type : null; 11879internal PrimaryConstructorBaseTypeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11888internal override SyntaxNode? GetNodeSlot(int index) 11896internal override SyntaxNode? GetCachedSlot(int index) 11936private SyntaxNode? constraints; 11938internal TypeParameterConstraintClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 11956var red = GetRed(ref this.constraints, 3); 11961internal override SyntaxNode? GetNodeSlot(int index) 11969internal override SyntaxNode? GetCachedSlot(int index) 12003internal TypeParameterConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12019internal ConstructorConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12033internal override SyntaxNode? GetNodeSlot(int index) => null; 12035internal override SyntaxNode? GetCachedSlot(int index) => null; 12068internal ClassOrStructConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12086internal override SyntaxNode? GetNodeSlot(int index) => null; 12088internal override SyntaxNode? GetCachedSlot(int index) => null; 12120internal TypeConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12128internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.type)! : null; 12130internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.type : null; 12160internal DefaultConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12168internal override SyntaxNode? GetNodeSlot(int index) => null; 12170internal override SyntaxNode? GetCachedSlot(int index) => null; 12199private SyntaxNode? constraints; 12201internal AllowsConstraintClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12213var red = GetRed(ref this.constraints, 1); 12218internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.constraints, 1)! : null; 12220internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.constraints : null; 12246internal AllowsConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12262internal RefStructConstraintSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12273internal override SyntaxNode? GetNodeSlot(int index) => null; 12275internal override SyntaxNode? GetCachedSlot(int index) => null; 12298internal BaseFieldDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12330private SyntaxNode? attributeLists; 12333internal FieldDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12353internal override SyntaxNode? GetNodeSlot(int index) 12361internal override SyntaxNode? GetCachedSlot(int index) 12409private SyntaxNode? attributeLists; 12412internal EventFieldDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12434internal override SyntaxNode? GetNodeSlot(int index) 12442internal override SyntaxNode? GetCachedSlot(int index) 12493internal ExplicitInterfaceSpecifierSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12502internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.name)! : null; 12504internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.name : null; 12528internal BaseMethodDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12577private SyntaxNode? attributeLists; 12582private SyntaxNode? constraintClauses; 12586internal MethodDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12631internal override SyntaxNode? GetNodeSlot(int index) 12645internal override SyntaxNode? GetCachedSlot(int index) 12727private SyntaxNode? attributeLists; 12734internal OperatorDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12787internal override SyntaxNode? GetNodeSlot(int index) 12799internal override SyntaxNode? GetCachedSlot(int index) 12873private SyntaxNode? attributeLists; 12880internal ConversionOperatorDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 12933internal override SyntaxNode? GetNodeSlot(int index) 12945internal override SyntaxNode? GetCachedSlot(int index) 13019private SyntaxNode? attributeLists; 13025internal ConstructorDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13062internal override SyntaxNode? GetNodeSlot(int index) 13073internal override SyntaxNode? GetCachedSlot(int index) 13146internal ConstructorInitializerSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13159internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.argumentList, 2)! : null; 13161internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.argumentList : null; 13194private SyntaxNode? attributeLists; 13199internal DestructorDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13237internal override SyntaxNode? GetNodeSlot(int index) 13247internal override SyntaxNode? GetCachedSlot(int index) 13310internal BasePropertyDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13348private SyntaxNode? attributeLists; 13355internal PropertyDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13393internal override SyntaxNode? GetNodeSlot(int index) 13405internal override SyntaxNode? GetCachedSlot(int index) 13470internal ArrowExpressionClauseSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13479internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.expression, 1)! : null; 13481internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.expression : null; 13510private SyntaxNode? attributeLists; 13515internal EventDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13551internal override SyntaxNode? GetNodeSlot(int index) 13561internal override SyntaxNode? GetCachedSlot(int index) 13620private SyntaxNode? attributeLists; 13627internal IndexerDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13665internal override SyntaxNode? GetNodeSlot(int index) 13677internal override SyntaxNode? GetCachedSlot(int index) 13740private SyntaxNode? accessors; 13742internal AccessorListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13753internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.accessors, 1)! : null; 13755internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.accessors : null; 13792private SyntaxNode? attributeLists; 13796internal AccessorDeclarationSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13833internal override SyntaxNode? GetNodeSlot(int index) 13842internal override SyntaxNode? GetCachedSlot(int index) 13890internal BaseParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13913private SyntaxNode? parameters; 13915internal ParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13927var red = GetRed(ref this.parameters, 1); 13935internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 13937internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 13972private SyntaxNode? parameters; 13974internal BracketedParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 13986var red = GetRed(ref this.parameters, 1); 13994internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 13996internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 14025internal BaseParameterSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14060private SyntaxNode? attributeLists; 14064internal ParameterSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14099internal override SyntaxNode? GetNodeSlot(int index) 14108internal override SyntaxNode? GetCachedSlot(int index) 14156private SyntaxNode? attributeLists; 14159internal FunctionPointerParameterSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14179internal override SyntaxNode? GetNodeSlot(int index) 14187internal override SyntaxNode? GetCachedSlot(int index) 14231private SyntaxNode? attributeLists; 14234internal IncompleteMemberSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14252internal override SyntaxNode? GetNodeSlot(int index) 14260internal override SyntaxNode? GetCachedSlot(int index) 14304internal SkippedTokensTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14318internal override SyntaxNode? GetNodeSlot(int index) => null; 14320internal override SyntaxNode? GetCachedSlot(int index) => null; 14351private SyntaxNode? content; 14353internal DocumentationCommentTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14362internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.content)! : null; 14364internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.content : null; 14393internal CrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14416internal TypeCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14423internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.type)! : null; 14425internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.type : null; 14463internal QualifiedCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14474internal override SyntaxNode? GetNodeSlot(int index) 14482internal override SyntaxNode? GetCachedSlot(int index) 14519internal MemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14542internal NameMemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14551internal override SyntaxNode? GetNodeSlot(int index) 14559internal override SyntaxNode? GetCachedSlot(int index) 14604internal ExtensionMemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14619internal override SyntaxNode? GetNodeSlot(int index) 14628internal override SyntaxNode? GetCachedSlot(int index) 14680internal IndexerMemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14689internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1) : null; 14691internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 14733internal OperatorMemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14754internal override SyntaxNode? GetNodeSlot(int index) => index == 3 ? GetRed(ref this.parameters, 3) : null; 14756internal override SyntaxNode? GetCachedSlot(int index) => index == 3 ? this.parameters : null; 14800internal ConversionOperatorMemberCrefSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14822internal override SyntaxNode? GetNodeSlot(int index) 14830internal override SyntaxNode? GetCachedSlot(int index) 14872internal BaseCrefParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14897private SyntaxNode? parameters; 14899internal CrefParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14911var red = GetRed(ref this.parameters, 1); 14919internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 14921internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 14958private SyntaxNode? parameters; 14960internal CrefBracketedParameterListSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 14972var red = GetRed(ref this.parameters, 1); 14980internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.parameters, 1)! : null; 14982internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.parameters : null; 15024internal CrefParameterSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15049internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.type, 2)! : null; 15051internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.type : null; 15075internal XmlNodeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15090private SyntaxNode? content; 15093internal XmlElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15104internal override SyntaxNode? GetNodeSlot(int index) 15113internal override SyntaxNode? GetCachedSlot(int index) 15154private SyntaxNode? attributes; 15156internal XmlElementStartTagSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15169internal override SyntaxNode? GetNodeSlot(int index) 15177internal override SyntaxNode? GetCachedSlot(int index) 15218internal XmlElementEndTagSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15229internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.name, 1)! : null; 15231internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.name : null; 15262private SyntaxNode? attributes; 15264internal XmlEmptyElementSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15277internal override SyntaxNode? GetNodeSlot(int index) 15285internal override SyntaxNode? GetCachedSlot(int index) 15326internal XmlNameSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15335internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.prefix) : null; 15337internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.prefix : null; 15367internal XmlPrefixSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15376internal override SyntaxNode? GetNodeSlot(int index) => null; 15378internal override SyntaxNode? GetCachedSlot(int index) => null; 15401internal XmlAttributeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15433internal XmlTextAttributeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15455internal override SyntaxNode? GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this.name)! : null; 15457internal override SyntaxNode? GetCachedSlot(int index) => index == 0 ? this.name : null; 15498internal XmlCrefAttributeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15513internal override SyntaxNode? GetNodeSlot(int index) 15521internal override SyntaxNode? GetCachedSlot(int index) 15566internal XmlNameAttributeSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15581internal override SyntaxNode? GetNodeSlot(int index) 15589internal override SyntaxNode? GetCachedSlot(int index) 15632internal XmlTextSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15646internal override SyntaxNode? GetNodeSlot(int index) => null; 15648internal override SyntaxNode? GetCachedSlot(int index) => null; 15679internal XmlCDataSectionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15697internal override SyntaxNode? GetNodeSlot(int index) => null; 15699internal override SyntaxNode? GetCachedSlot(int index) => null; 15733internal XmlProcessingInstructionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15753internal override SyntaxNode? GetNodeSlot(int index) => index == 1 ? GetRed(ref this.name, 1)! : null; 15755internal override SyntaxNode? GetCachedSlot(int index) => index == 1 ? this.name : null; 15789internal XmlCommentSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15807internal override SyntaxNode? GetNodeSlot(int index) => null; 15809internal override SyntaxNode? GetCachedSlot(int index) => null; 15835internal DirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15853internal BranchingDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15866internal ConditionalDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15888internal IfDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15907internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.condition, 2)! : null; 15909internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.condition : null; 15948internal ElifDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 15967internal override SyntaxNode? GetNodeSlot(int index) => index == 2 ? GetRed(ref this.condition, 2)! : null; 15969internal override SyntaxNode? GetCachedSlot(int index) => index == 2 ? this.condition : null; 16007internal ElseDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16022internal override SyntaxNode? GetNodeSlot(int index) => null; 16024internal override SyntaxNode? GetCachedSlot(int index) => null; 16059internal EndIfDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16072internal override SyntaxNode? GetNodeSlot(int index) => null; 16074internal override SyntaxNode? GetCachedSlot(int index) => null; 16108internal RegionDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16121internal override SyntaxNode? GetNodeSlot(int index) => null; 16123internal override SyntaxNode? GetCachedSlot(int index) => null; 16157internal EndRegionDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16170internal override SyntaxNode? GetNodeSlot(int index) => null; 16172internal override SyntaxNode? GetCachedSlot(int index) => null; 16206internal ErrorDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16219internal override SyntaxNode? GetNodeSlot(int index) => null; 16221internal override SyntaxNode? GetCachedSlot(int index) => null; 16255internal WarningDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16268internal override SyntaxNode? GetNodeSlot(int index) => null; 16270internal override SyntaxNode? GetCachedSlot(int index) => null; 16304internal BadDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16317internal override SyntaxNode? GetNodeSlot(int index) => null; 16319internal override SyntaxNode? GetCachedSlot(int index) => null; 16353internal DefineDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16368internal override SyntaxNode? GetNodeSlot(int index) => null; 16370internal override SyntaxNode? GetCachedSlot(int index) => null; 16405internal UndefDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16420internal override SyntaxNode? GetNodeSlot(int index) => null; 16422internal override SyntaxNode? GetCachedSlot(int index) => null; 16450internal LineOrSpanDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16476internal LineDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16500internal override SyntaxNode? GetNodeSlot(int index) => null; 16502internal override SyntaxNode? GetCachedSlot(int index) => null; 16540internal LineDirectivePositionSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16555internal override SyntaxNode? GetNodeSlot(int index) => null; 16557internal override SyntaxNode? GetCachedSlot(int index) => null; 16592internal LineSpanDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16622internal override SyntaxNode? GetNodeSlot(int index) 16630internal override SyntaxNode? GetCachedSlot(int index) 16676private SyntaxNode? errorCodes; 16678internal PragmaWarningDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16695var red = GetRed(ref this.errorCodes, 4); 16704internal override SyntaxNode? GetNodeSlot(int index) => index == 4 ? GetRed(ref this.errorCodes, 4)! : null; 16706internal override SyntaxNode? GetCachedSlot(int index) => index == 4 ? this.errorCodes : null; 16745internal PragmaChecksumDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16766internal override SyntaxNode? GetNodeSlot(int index) => null; 16768internal override SyntaxNode? GetCachedSlot(int index) => null; 16806internal ReferenceDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16821internal override SyntaxNode? GetNodeSlot(int index) => null; 16823internal override SyntaxNode? GetCachedSlot(int index) => null; 16858internal LoadDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16873internal override SyntaxNode? GetNodeSlot(int index) => null; 16875internal override SyntaxNode? GetCachedSlot(int index) => null; 16910internal ShebangDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16923internal override SyntaxNode? GetNodeSlot(int index) => null; 16925internal override SyntaxNode? GetCachedSlot(int index) => null; 16959internal IgnoredDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 16981internal override SyntaxNode? GetNodeSlot(int index) => null; 16983internal override SyntaxNode? GetCachedSlot(int index) => null; 17018internal NullableDirectiveTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position) 17042internal override SyntaxNode? GetNodeSlot(int index) => null; 17044internal override SyntaxNode? GetCachedSlot(int index) => null;
Generated\BoundNodes.xml.Generated.cs (336)
264protected BoundInitializer(BoundKind kind, SyntaxNode syntax, bool hasErrors) 269protected BoundInitializer(BoundKind kind, SyntaxNode syntax) 278protected BoundEqualsValue(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false) 295public BoundFieldEqualsValue(SyntaxNode syntax, FieldSymbol field, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false) 325public BoundPropertyEqualsValue(SyntaxNode syntax, PropertySymbol property, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false) 355public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false) 385public BoundGlobalStatementInitializer(SyntaxNode syntax, BoundStatement statement, bool hasErrors = false) 413protected BoundExpression(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 419protected BoundExpression(BoundKind kind, SyntaxNode syntax, TypeSymbol? type) 430protected BoundValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 435protected BoundValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type) 444protected BoundEarlyValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 449protected BoundEarlyValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type) 458public BoundValuePlaceholder(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 463public BoundValuePlaceholder(SyntaxNode syntax, TypeSymbol? type) 486public BoundCapturedReceiverPlaceholder(SyntaxNode syntax, BoundExpression receiver, TypeSymbol? type, bool hasErrors = false) 514public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type, bool hasErrors) 524public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type) 555public BoundTupleOperandPlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 563public BoundTupleOperandPlaceholder(SyntaxNode syntax, TypeSymbol type) 590public BoundAwaitableValuePlaceholder(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 595public BoundAwaitableValuePlaceholder(SyntaxNode syntax, TypeSymbol? type) 619public BoundDisposableValuePlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 627public BoundDisposableValuePlaceholder(SyntaxNode syntax, TypeSymbol type) 654public BoundObjectOrCollectionValuePlaceholder(SyntaxNode syntax, bool isNewInstance, TypeSymbol type, bool hasErrors) 663public BoundObjectOrCollectionValuePlaceholder(SyntaxNode syntax, bool isNewInstance, TypeSymbol type) 692public BoundImplicitIndexerValuePlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 700public BoundImplicitIndexerValuePlaceholder(SyntaxNode syntax, TypeSymbol type) 727public BoundImplicitIndexerReceiverPlaceholder(SyntaxNode syntax, bool isEquivalentToThisReference, BoundExpression receiver, TypeSymbol type, bool hasErrors = false) 759public BoundListPatternReceiverPlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 767public BoundListPatternReceiverPlaceholder(SyntaxNode syntax, TypeSymbol type) 794public BoundListPatternIndexPlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 802public BoundListPatternIndexPlaceholder(SyntaxNode syntax, TypeSymbol type) 829public BoundSlicePatternReceiverPlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 837public BoundSlicePatternReceiverPlaceholder(SyntaxNode syntax, TypeSymbol type) 864public BoundSlicePatternRangePlaceholder(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 872public BoundSlicePatternRangePlaceholder(SyntaxNode syntax, TypeSymbol type) 899public BoundCollectionBuilderElementsPlaceholder(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 904public BoundCollectionBuilderElementsPlaceholder(SyntaxNode syntax, TypeSymbol? type) 927public BoundDup(SyntaxNode syntax, RefKind refKind, TypeSymbol? type, bool hasErrors) 933public BoundDup(SyntaxNode syntax, RefKind refKind, TypeSymbol? type) 958public BoundPassByCopy(SyntaxNode syntax, BoundExpression expression, TypeSymbol? type, bool hasErrors = false) 986public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false) 1023public BoundBadStatement(SyntaxNode syntax, ImmutableArray<BoundNode> childBoundNodes, bool hasErrors = false) 1051public BoundExtractedFinallyBlock(SyntaxNode syntax, BoundBlock finallyBlock, bool hasErrors = false) 1079public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type, bool hasErrors = false) 1114public BoundTypeOrValueExpression(SyntaxNode syntax, Binder binder, Symbol valueSymbol, TypeSymbol type, bool hasErrors) 1130public BoundTypeOrValueExpression(SyntaxNode syntax, Binder binder, Symbol valueSymbol, TypeSymbol type) 1163public BoundNamespaceExpression(SyntaxNode syntax, NamespaceSymbol namespaceSymbol, AliasSymbol? aliasOpt, bool hasErrors) 1173public BoundNamespaceExpression(SyntaxNode syntax, NamespaceSymbol namespaceSymbol, AliasSymbol? aliasOpt) 1204public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false) 1246public BoundIncrementOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false) 1294public BoundAddressOfOperator(SyntaxNode syntax, BoundExpression operand, bool isManaged, TypeSymbol type, bool hasErrors = false) 1326public BoundUnconvertedAddressOfOperator(SyntaxNode syntax, BoundMethodGroup operand, bool hasErrors = false) 1355public BoundFunctionPointerLoad(SyntaxNode syntax, MethodSymbol targetMethod, TypeSymbol? constrainedToTypeOpt, TypeSymbol type, bool hasErrors) 1366public BoundFunctionPointerLoad(SyntaxNode syntax, MethodSymbol targetMethod, TypeSymbol? constrainedToTypeOpt, TypeSymbol type) 1398public BoundPointerIndirectionOperator(SyntaxNode syntax, BoundExpression operand, bool refersToLocation, TypeSymbol type, bool hasErrors = false) 1430public BoundPointerElementAccess(SyntaxNode syntax, BoundExpression expression, BoundExpression index, bool @checked, bool refersToLocation, TypeSymbol type, bool hasErrors = false) 1467public BoundFunctionPointerInvocation(SyntaxNode syntax, BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 1504public BoundRefTypeOperator(SyntaxNode syntax, BoundExpression operand, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors = false) 1536public BoundMakeRefOperator(SyntaxNode syntax, BoundExpression operand, TypeSymbol type, bool hasErrors = false) 1566public BoundRefValueOperator(SyntaxNode syntax, NullableAnnotation nullableAnnotation, BoundExpression operand, TypeSymbol type, bool hasErrors = false) 1598public BoundFromEndIndexExpression(SyntaxNode syntax, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol type, bool hasErrors = false) 1630public BoundRangeExpression(SyntaxNode syntax, BoundExpression? leftOperandOpt, BoundExpression? rightOperandOpt, MethodSymbol? methodOpt, TypeSymbol type, bool hasErrors = false) 1663protected BoundBinaryOperatorBase(BoundKind kind, SyntaxNode syntax, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false) 1682public BoundBinaryOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundBinaryOperator.UncommonData? data, LookupResultKind resultKind, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false) 1720public BoundTupleBinaryOperator(SyntaxNode syntax, BoundExpression left, BoundExpression right, BinaryOperatorKind operatorKind, TupleBinaryOperatorInfo.Multiple operators, TypeSymbol type, bool hasErrors = false) 1758public BoundUserDefinedConditionalLogicalOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, BoundValuePlaceholder? trueFalseOperandPlaceholder, BoundExpression? trueFalseOperandConversion, TypeSymbol? constrainedToTypeOpt, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false) 1811public BoundCompoundAssignmentOperator(SyntaxNode syntax, BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false) 1858public BoundAssignmentOperator(SyntaxNode syntax, BoundExpression left, BoundExpression right, bool isRef, TypeSymbol type, bool hasErrors = false) 1892public BoundDeconstructionAssignmentOperator(SyntaxNode syntax, BoundTupleExpression left, BoundConversion right, bool isUsed, TypeSymbol type, bool hasErrors = false) 1927public BoundNullCoalescingOperator(SyntaxNode syntax, BoundExpression leftOperand, BoundExpression rightOperand, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundNullCoalescingOperatorResultKind operatorResultKind, bool @checked, TypeSymbol type, bool hasErrors = false) 1968public BoundNullCoalescingAssignmentOperator(SyntaxNode syntax, BoundExpression leftOperand, BoundExpression rightOperand, TypeSymbol? type, bool hasErrors = false) 1999public BoundUnconvertedConditionalOperator(SyntaxNode syntax, BoundExpression condition, BoundExpression consequence, BoundExpression alternative, ConstantValue? constantValueOpt, ErrorCode noCommonTypeError, bool hasErrors = false) 2038public BoundConditionalOperator(SyntaxNode syntax, bool isRef, BoundExpression condition, BoundExpression consequence, BoundExpression alternative, ConstantValue? constantValueOpt, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 2082public BoundArrayAccess(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type, bool hasErrors = false) 2115public BoundRefArrayAccess(SyntaxNode syntax, BoundArrayAccess arrayAccess, TypeSymbol type, bool hasErrors = false) 2145public BoundArrayLength(SyntaxNode syntax, BoundExpression expression, TypeSymbol type, bool hasErrors = false) 2175public BoundAwaitableInfo(SyntaxNode syntax, BoundAwaitableValuePlaceholder? awaitableInstancePlaceholder, bool isDynamic, BoundExpression? getAwaiter, PropertySymbol? isCompleted, MethodSymbol? getResult, BoundCall? runtimeAsyncAwaitCall, BoundAwaitableValuePlaceholder? runtimeAsyncAwaitCallPlaceholder, bool hasErrors = false) 2216public BoundAwaitExpression(SyntaxNode syntax, BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type, bool hasErrors = false) 2251protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors) 2260protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type) 2275public BoundTypeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors = false) 2304public BoundBlockInstrumentation(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundStatement? prologue, BoundStatement? epilogue, bool hasErrors = false) 2336public BoundMethodDefIndex(SyntaxNode syntax, MethodSymbol method, TypeSymbol type, bool hasErrors) 2350public BoundMethodDefIndex(SyntaxNode syntax, MethodSymbol method, TypeSymbol type) 2380public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors) 2391public BoundLocalId(SyntaxNode syntax, LocalSymbol local, FieldSymbol? hoistedField, TypeSymbol type) 2423public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors) 2434public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type) 2466public BoundStateMachineInstanceId(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2474public BoundStateMachineInstanceId(SyntaxNode syntax, TypeSymbol type) 2501public BoundMaximumMethodDefIndex(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2509public BoundMaximumMethodDefIndex(SyntaxNode syntax, TypeSymbol type) 2536public BoundInstrumentationPayloadRoot(SyntaxNode syntax, int analysisKind, TypeSymbol type, bool hasErrors) 2545public BoundInstrumentationPayloadRoot(SyntaxNode syntax, int analysisKind, TypeSymbol type) 2574public BoundThrowIfModuleCancellationRequested(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2582public BoundThrowIfModuleCancellationRequested(SyntaxNode syntax, TypeSymbol type) 2609public ModuleCancellationTokenExpression(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2617public ModuleCancellationTokenExpression(SyntaxNode syntax, TypeSymbol type) 2644public BoundModuleVersionId(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2652public BoundModuleVersionId(SyntaxNode syntax, TypeSymbol type) 2679public BoundModuleVersionIdString(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 2687public BoundModuleVersionIdString(SyntaxNode syntax, TypeSymbol type) 2714public BoundSourceDocumentIndex(SyntaxNode syntax, Cci.DebugSourceDocument document, TypeSymbol type, bool hasErrors) 2724public BoundSourceDocumentIndex(SyntaxNode syntax, Cci.DebugSourceDocument document, TypeSymbol type) 2754public BoundMethodInfo(SyntaxNode syntax, MethodSymbol method, MethodSymbol? getMethodFromHandle, TypeSymbol type, bool hasErrors) 2765public BoundMethodInfo(SyntaxNode syntax, MethodSymbol method, MethodSymbol? getMethodFromHandle, TypeSymbol type) 2797public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type, bool hasErrors) 2808public BoundFieldInfo(SyntaxNode syntax, FieldSymbol field, MethodSymbol? getFieldFromHandle, TypeSymbol type) 2840public BoundDefaultLiteral(SyntaxNode syntax, bool hasErrors) 2845public BoundDefaultLiteral(SyntaxNode syntax) 2863public BoundDefaultExpression(SyntaxNode syntax, BoundTypeExpression? targetType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false) 2894public BoundIsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type, bool hasErrors = false) 2929public BoundAsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, TypeSymbol type, bool hasErrors = false) 2966public BoundSizeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false) 2998public BoundConversion(SyntaxNode syntax, BoundExpression operand, Conversion conversion, bool isBaseConversion, bool @checked, bool explicitCastInCode, ConstantValue? constantValueOpt, ConversionGroup? conversionGroupOpt, InConversionGroupFlags inConversionGroupFlags, TypeSymbol type, bool hasErrors = false) 3046public BoundReadOnlySpanFromArray(SyntaxNode syntax, BoundExpression operand, MethodSymbol conversionMethod, TypeSymbol type, bool hasErrors = false) 3079public BoundArgList(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 3087public BoundArgList(SyntaxNode syntax, TypeSymbol type) 3114public BoundArgListOperator(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt, TypeSymbol? type, bool hasErrors = false) 3145public BoundFixedLocalCollectionInitializer(SyntaxNode syntax, TypeSymbol elementPointerType, BoundValuePlaceholder? elementPointerPlaceholder, BoundExpression? elementPointerConversion, BoundExpression expression, MethodSymbol? getPinnableOpt, TypeSymbol type, bool hasErrors = false) 3184protected BoundStatement(BoundKind kind, SyntaxNode syntax, bool hasErrors) 3189protected BoundStatement(BoundKind kind, SyntaxNode syntax) 3198public BoundSequencePoint(SyntaxNode syntax, BoundStatement? statementOpt, bool hasErrors = false) 3223public BoundSequencePointWithSpan(SyntaxNode syntax, BoundStatement? statementOpt, TextSpan span, bool hasErrors = false) 3250public BoundSavePreviousSequencePoint(SyntaxNode syntax, object identifier, bool hasErrors) 3259public BoundSavePreviousSequencePoint(SyntaxNode syntax, object identifier) 3287public BoundRestorePreviousSequencePoint(SyntaxNode syntax, object identifier, bool hasErrors) 3296public BoundRestorePreviousSequencePoint(SyntaxNode syntax, object identifier) 3324public BoundStepThroughSequencePoint(SyntaxNode syntax, TextSpan span, bool hasErrors) 3330public BoundStepThroughSequencePoint(SyntaxNode syntax, TextSpan span) 3355public BoundBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<MethodSymbol> localFunctions, bool hasUnsafeModifier, BoundBlockInstrumentation? instrumentation, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 3391public BoundScope(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 3420public BoundStateMachineScope(SyntaxNode syntax, ImmutableArray<StateMachineFieldSymbol> fields, BoundStatement statement, bool hasErrors = false) 3451public BoundLocalDeclaration(SyntaxNode syntax, LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType, bool hasErrors = false) 3487protected BoundMultipleLocalDeclarationsBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3501public BoundMultipleLocalDeclarations(SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3527public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3557public BoundLocalFunctionStatement(SyntaxNode syntax, MethodSymbol symbol, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 3589public BoundNoOpStatement(SyntaxNode syntax, NoOpStatementFlavor flavor, bool hasErrors) 3595public BoundNoOpStatement(SyntaxNode syntax, NoOpStatementFlavor flavor) 3620public BoundReturnStatement(SyntaxNode syntax, RefKind refKind, BoundExpression? expressionOpt, bool @checked, bool hasErrors = false) 3653public BoundYieldReturnStatement(SyntaxNode syntax, BoundExpression expression, bool hasErrors = false) 3681public BoundYieldBreakStatement(SyntaxNode syntax, bool hasErrors) 3686public BoundYieldBreakStatement(SyntaxNode syntax) 3698public BoundThrowStatement(SyntaxNode syntax, BoundExpression? expressionOpt, bool hasErrors = false) 3723public BoundExpressionStatement(SyntaxNode syntax, BoundExpression expression, bool hasErrors = false) 3751public BoundBreakStatement(SyntaxNode syntax, LabelSymbol label, BoundLabel? labelExpressionOpt, bool hasErrors = false) 3781public BoundContinueStatement(SyntaxNode syntax, LabelSymbol label, BoundLabel? labelExpressionOpt, bool hasErrors = false) 3811public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<MethodSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, LabelSymbol breakLabel, bool hasErrors = false) 3856public BoundSwitchDispatch(SyntaxNode syntax, BoundExpression expression, ImmutableArray<(ConstantValue value, LabelSymbol label)> cases, LabelSymbol defaultLabel, LengthBasedStringSwitchData? lengthBasedStringSwitchDataOpt, bool hasErrors = false) 3892public BoundIfStatement(SyntaxNode syntax, BoundExpression condition, BoundStatement consequence, BoundStatement? alternativeOpt, bool hasErrors = false) 3925protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors) 3936protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel) 3953protected BoundConditionalLoopStatement(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 3975public BoundDoStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 4005public BoundWhileStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 4035public BoundForStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> outerLocals, BoundStatement? initializer, ImmutableArray<LocalSymbol> innerLocals, BoundExpression? condition, BoundStatement? increment, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 4077public BoundForEachStatement(SyntaxNode syntax, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 4126public BoundForEachDeconstructStep(SyntaxNode syntax, BoundDeconstructionAssignmentOperator deconstructionAssignment, BoundDeconstructValuePlaceholder targetPlaceholder, bool hasErrors = false) 4157public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4196public BoundFixedStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations declarations, BoundStatement body, bool hasErrors = false) 4230public BoundLockStatement(SyntaxNode syntax, BoundExpression argument, BoundStatement body, bool hasErrors = false) 4261public BoundTryStatement(SyntaxNode syntax, BoundBlock tryBlock, ImmutableArray<BoundCatchBlock> catchBlocks, BoundBlock? finallyBlockOpt, LabelSymbol? finallyLabelOpt, bool preferFaultHandler, bool hasErrors = false) 4298public BoundCatchBlock(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression? exceptionSourceOpt, TypeSymbol? exceptionTypeOpt, BoundStatementList? exceptionFilterPrologueOpt, BoundExpression? exceptionFilterOpt, BoundBlock body, bool isSynthesizedAsyncCatchAll, bool hasErrors = false) 4339public BoundLiteral(SyntaxNode syntax, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors) 4345public BoundLiteral(SyntaxNode syntax, ConstantValue? constantValueOpt, TypeSymbol? type) 4370public BoundUtf8String(SyntaxNode syntax, string value, TypeSymbol type, bool hasErrors) 4380public BoundUtf8String(SyntaxNode syntax, string value, TypeSymbol type) 4410public BoundThisReference(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 4418public BoundThisReference(SyntaxNode syntax, TypeSymbol type) 4445public BoundPreviousSubmissionReference(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 4453public BoundPreviousSubmissionReference(SyntaxNode syntax, TypeSymbol type) 4480public BoundHostObjectMemberReference(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 4488public BoundHostObjectMemberReference(SyntaxNode syntax, TypeSymbol type) 4515public BoundBaseReference(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 4520public BoundBaseReference(SyntaxNode syntax, TypeSymbol? type) 4544public BoundLocal(SyntaxNode syntax, LocalSymbol localSymbol, BoundLocalDeclarationKind declarationKind, ConstantValue? constantValueOpt, bool isNullableUnknown, TypeSymbol type, bool hasErrors) 4557public BoundLocal(SyntaxNode syntax, LocalSymbol localSymbol, BoundLocalDeclarationKind declarationKind, ConstantValue? constantValueOpt, bool isNullableUnknown, TypeSymbol type) 4593public BoundPseudoVariable(SyntaxNode syntax, LocalSymbol localSymbol, PseudoVariableExpressions emitExpressions, TypeSymbol type, bool hasErrors) 4605public BoundPseudoVariable(SyntaxNode syntax, LocalSymbol localSymbol, PseudoVariableExpressions emitExpressions, TypeSymbol type) 4638public BoundRangeVariable(SyntaxNode syntax, RangeVariableSymbol rangeVariableSymbol, BoundExpression value, TypeSymbol type, bool hasErrors = false) 4671public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type, bool hasErrors) 4681public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type) 4711public BoundLabelStatement(SyntaxNode syntax, LabelSymbol label, bool hasErrors) 4720public BoundLabelStatement(SyntaxNode syntax, LabelSymbol label) 4748public BoundGotoStatement(SyntaxNode syntax, LabelSymbol label, BoundExpression? caseExpressionOpt, BoundLabel? labelExpressionOpt, bool hasErrors = false) 4780public BoundLabeledStatement(SyntaxNode syntax, LabelSymbol label, BoundStatement body, bool hasErrors = false) 4811public BoundLabel(SyntaxNode syntax, LabelSymbol label, TypeSymbol? type, bool hasErrors) 4820public BoundLabel(SyntaxNode syntax, LabelSymbol label, TypeSymbol? type) 4848protected BoundStatementList(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 4857public BoundStatementList(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 4885public BoundConditionalGoto(SyntaxNode syntax, BoundExpression condition, bool jumpIfTrue, LabelSymbol label, bool hasErrors = false) 4918protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4942public BoundSwitchExpressionArm(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, BoundExpression value, LabelSymbol label, bool hasErrors = false) 4983public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 5011public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 5045public BoundDecisionDag(SyntaxNode syntax, BoundDecisionDagNode rootNode, bool suitableForLowering, bool hasErrors = false) 5075protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax, bool hasErrors) 5080protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax) 5089public BoundEvaluationDecisionDagNode(SyntaxNode syntax, BoundDagEvaluation evaluation, BoundDecisionDagNode next, bool hasErrors = false) 5120public BoundTestDecisionDagNode(SyntaxNode syntax, BoundDagTest test, BoundDecisionDagNode whenTrue, BoundDecisionDagNode whenFalse, bool hasErrors = false) 5154public BoundWhenDecisionDagNode(SyntaxNode syntax, ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse, bool hasErrors = false) 5189public BoundLeafDecisionDagNode(SyntaxNode syntax, LabelSymbol label, bool hasErrors) 5198public BoundLeafDecisionDagNode(SyntaxNode syntax, LabelSymbol label) 5226protected BoundDagTest(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5240public BoundDagTemp(SyntaxNode syntax, TypeSymbol type, BoundDagEvaluation? source, int index, bool hasErrors = false) 5272public BoundDagTypeTest(SyntaxNode syntax, TypeSymbol type, BoundDagTemp input, bool hasErrors = false) 5301public BoundDagNonNullTest(SyntaxNode syntax, bool isExplicitTest, BoundDagTemp input, bool hasErrors = false) 5329public BoundDagExplicitNullTest(SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5355public BoundDagValueTest(SyntaxNode syntax, ConstantValue value, BoundDagTemp input, bool hasErrors = false) 5384public BoundDagRelationalTest(SyntaxNode syntax, BinaryOperatorKind operatorKind, ConstantValue value, BoundDagTemp input, bool hasErrors = false) 5415protected BoundDagEvaluation(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5427public BoundDagDeconstructEvaluation(SyntaxNode syntax, MethodSymbol deconstructMethod, BoundDagTemp input, bool hasErrors = false) 5456public BoundDagTypeEvaluation(SyntaxNode syntax, TypeSymbol type, BoundDagTemp input, bool hasErrors = false) 5485public BoundDagFieldEvaluation(SyntaxNode syntax, FieldSymbol field, BoundDagTemp input, bool hasErrors = false) 5514public BoundDagPropertyEvaluation(SyntaxNode syntax, PropertySymbol property, bool isLengthOrCount, BoundDagTemp input, bool hasErrors = false) 5545public BoundDagIndexEvaluation(SyntaxNode syntax, PropertySymbol property, int index, BoundDagTemp input, bool hasErrors = false) 5576public BoundDagIndexerEvaluation(SyntaxNode syntax, TypeSymbol indexerType, BoundDagTemp lengthTemp, int index, BoundExpression indexerAccess, BoundListPatternReceiverPlaceholder receiverPlaceholder, BoundListPatternIndexPlaceholder argumentPlaceholder, BoundDagTemp input, bool hasErrors = false) 5623public BoundDagSliceEvaluation(SyntaxNode syntax, TypeSymbol sliceType, BoundDagTemp lengthTemp, int startIndex, int endIndex, BoundExpression indexerAccess, BoundSlicePatternReceiverPlaceholder receiverPlaceholder, BoundSlicePatternRangePlaceholder argumentPlaceholder, BoundDagTemp input, bool hasErrors = false) 5672public BoundDagAssignmentEvaluation(SyntaxNode syntax, BoundDagTemp target, BoundDagTemp input, bool hasErrors = false) 5701public BoundDagPassThroughEvaluation(SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5727public BoundSwitchSection(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundSwitchLabel> switchLabels, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 5759public BoundSwitchLabel(SyntaxNode syntax, LabelSymbol label, BoundPattern pattern, bool hasUnionMatching, BoundExpression? whenClause, bool hasErrors = false) 5794protected BoundMethodOrPropertyGroup(BoundKind kind, SyntaxNode syntax, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false) 5808public BoundSequencePointExpression(SyntaxNode syntax, BoundExpression expression, TypeSymbol? type, bool hasErrors = false) 5836public BoundSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundExpression> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false) 5872public BoundSpillSequence(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, ImmutableArray<BoundStatement> sideEffects, BoundExpression value, TypeSymbol type, bool hasErrors = false) 5908public BoundDynamicMemberAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, bool invoked, bool indexed, TypeSymbol type, bool hasErrors = false) 5947protected BoundDynamicInvocableBase(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol? type, bool hasErrors = false) 5964public BoundDynamicInvocation(SyntaxNode syntax, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false) 6000public BoundConditionalAccess(SyntaxNode syntax, BoundExpression receiver, BoundExpression accessExpression, TypeSymbol type, bool hasErrors = false) 6033public BoundLoweredConditionalAccess(SyntaxNode syntax, BoundExpression receiver, MethodSymbol? hasValueMethodOpt, BoundExpression whenNotNull, BoundExpression? whenNullOpt, int id, bool forceCopyOfNullableValueType, TypeSymbol type, bool hasErrors = false) 6074public BoundConditionalReceiver(SyntaxNode syntax, int id, TypeSymbol type, bool hasErrors) 6083public BoundConditionalReceiver(SyntaxNode syntax, int id, TypeSymbol type) 6112public BoundComplexConditionalReceiver(SyntaxNode syntax, BoundExpression valueTypeReceiver, BoundExpression referenceTypeReceiver, TypeSymbol type, bool hasErrors = false) 6145public BoundMethodGroup(SyntaxNode syntax, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false) 6186public BoundPropertyGroup(SyntaxNode syntax, ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false) 6214public BoundCall(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool isDelegateCall, bool expanded, bool invokedAsExtensionMethod, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, ImmutableArray<MethodSymbol> originalMethodsOpt, TypeSymbol type, bool hasErrors = false) 6273public BoundEventAssignmentOperator(SyntaxNode syntax, EventSymbol @event, bool isAddition, bool isDynamic, BoundExpression? receiverOpt, BoundExpression argument, TypeSymbol type, bool hasErrors = false) 6312public BoundAttribute(SyntaxNode syntax, MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 6357public BoundUnconvertedObjectCreationExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder, bool hasErrors = false) 6395protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type, bool hasErrors) 6403protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type) 6416public BoundObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<MethodSymbol> constructorsGroup, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ConstantValue? constantValueOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 6467protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false) 6485public BoundUnconvertedCollectionExpression(SyntaxNode syntax, BoundUnconvertedWithElement? withElement, ImmutableArray<BoundNode> elements, bool hasErrors = false) 6514public BoundUnconvertedWithElement(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool hasErrors = false) 6546public BoundCollectionExpression(SyntaxNode syntax, CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundCollectionBuilderElementsPlaceholder? collectionBuilderElementsPlaceholder, bool wasTargetTyped, bool hasWithElement, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type, bool hasErrors = false) 6595public BoundCollectionExpressionSpreadExpressionPlaceholder(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 6600public BoundCollectionExpressionSpreadExpressionPlaceholder(SyntaxNode syntax, TypeSymbol? type) 6623public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false) 6663protected BoundTupleExpression(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6681public BoundTupleLiteral(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6708public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6738public BoundDynamicObjectCreationExpression(SyntaxNode syntax, string name, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, BoundObjectInitializerExpressionBase? initializerExpressionOpt, ImmutableArray<MethodSymbol> applicableMethods, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 6781public BoundNoPiaObjectCreationExpression(SyntaxNode syntax, string? guidString, BoundObjectInitializerExpressionBase? initializerExpressionOpt, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 6813protected BoundObjectInitializerExpressionBase(BoundKind kind, SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false) 6832public BoundObjectInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false) 6860public BoundObjectInitializerMember(SyntaxNode syntax, Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type, bool hasErrors = false) 6909public BoundDynamicObjectInitializerMember(SyntaxNode syntax, string memberName, TypeSymbol receiverType, TypeSymbol type, bool hasErrors) 6921public BoundDynamicObjectInitializerMember(SyntaxNode syntax, string memberName, TypeSymbol receiverType, TypeSymbol type) 6954public BoundCollectionInitializerExpression(SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false) 6982public BoundCollectionElementInitializer(SyntaxNode syntax, MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 7027public BoundDynamicCollectionElementInitializer(SyntaxNode syntax, ImmutableArray<MethodSymbol> applicableMethods, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol type, bool hasErrors = false) 7059public BoundImplicitReceiver(SyntaxNode syntax, TypeSymbol type, bool hasErrors) 7067public BoundImplicitReceiver(SyntaxNode syntax, TypeSymbol type) 7094public BoundAnonymousObjectCreationExpression(SyntaxNode syntax, MethodSymbol constructor, ImmutableArray<BoundExpression> arguments, ImmutableArray<BoundAnonymousPropertyDeclaration> declarations, TypeSymbol type, bool hasErrors = false) 7130public BoundAnonymousPropertyDeclaration(SyntaxNode syntax, PropertySymbol property, TypeSymbol type, bool hasErrors) 7140public BoundAnonymousPropertyDeclaration(SyntaxNode syntax, PropertySymbol property, TypeSymbol type) 7170public BoundNewT(SyntaxNode syntax, BoundObjectInitializerExpressionBase? initializerExpressionOpt, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 7200public BoundDelegateCreationExpression(SyntaxNode syntax, BoundExpression argument, MethodSymbol? methodOpt, bool isExtensionMethod, bool wasTargetTyped, TypeSymbol type, bool hasErrors = false) 7236public BoundArrayCreation(SyntaxNode syntax, ImmutableArray<BoundExpression> bounds, BoundArrayInitialization? initializerOpt, TypeSymbol type, bool hasErrors = false) 7268public BoundArrayInitialization(SyntaxNode syntax, bool isInferred, ImmutableArray<BoundExpression> initializers, bool hasErrors = false) 7299protected BoundStackAllocArrayCreationBase(BoundKind kind, SyntaxNode syntax, TypeSymbol elementType, BoundExpression count, BoundArrayInitialization? initializerOpt, TypeSymbol? type, bool hasErrors = false) 7318public BoundStackAllocArrayCreation(SyntaxNode syntax, TypeSymbol elementType, BoundExpression count, BoundArrayInitialization? initializerOpt, TypeSymbol? type, bool hasErrors = false) 7345public BoundConvertedStackAllocExpression(SyntaxNode syntax, TypeSymbol elementType, BoundExpression count, BoundArrayInitialization? initializerOpt, TypeSymbol type, bool hasErrors = false) 7374public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false) 7414public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type, bool hasErrors) 7424public BoundHoistedFieldAccess(SyntaxNode syntax, FieldSymbol fieldSymbol, TypeSymbol type) 7454public BoundPropertyAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 7492public BoundEventAccess(SyntaxNode syntax, BoundExpression? receiverOpt, EventSymbol eventSymbol, bool isUsableAsField, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 7528public BoundIndexerAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type, bool hasErrors = false) 7579public BoundImplicitIndexerAccess(SyntaxNode syntax, BoundExpression receiver, BoundExpression argument, BoundExpression lengthOrCountAccess, BoundImplicitIndexerReceiverPlaceholder receiverPlaceholder, BoundExpression indexerOrSliceAccess, ImmutableArray<BoundImplicitIndexerValuePlaceholder> argumentPlaceholders, TypeSymbol type, bool hasErrors = false) 7628public BoundInlineArrayAccess(SyntaxNode syntax, BoundExpression expression, BoundExpression argument, bool isValue, WellKnownMember getItemOrSliceHelper, TypeSymbol type, bool hasErrors = false) 7669public BoundDynamicIndexerAccess(SyntaxNode syntax, BoundExpression receiver, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<PropertySymbol> applicableIndexers, TypeSymbol type, bool hasErrors = false) 7709public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, MethodSymbol symbol, BoundBlock body, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? type, bool hasErrors = false) 7749public UnboundLambda(SyntaxNode syntax, UnboundLambdaState data, FunctionTypeSymbol? functionType, Boolean withDependencies, bool hasErrors) 7760public UnboundLambda(SyntaxNode syntax, UnboundLambdaState data, FunctionTypeSymbol? functionType, Boolean withDependencies) 7793public BoundQueryClause(SyntaxNode syntax, BoundExpression value, RangeVariableSymbol? definedSymbol, BoundExpression? operation, BoundExpression? cast, Binder binder, BoundExpression? unoptimizedForm, TypeSymbol type, bool hasErrors = false) 7834public BoundTypeOrInstanceInitializers(SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false) 7860public BoundNameOfOperator(SyntaxNode syntax, BoundExpression argument, ConstantValue constantValueOpt, TypeSymbol type, bool hasErrors = false) 7897protected BoundInterpolatedStringBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false) 7913public BoundUnconvertedInterpolatedString(SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false) 7939public BoundInterpolatedString(SyntaxNode syntax, InterpolatedStringHandlerData? interpolationData, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false) 7967public BoundInterpolatedStringHandlerPlaceholder(SyntaxNode syntax, TypeSymbol? type, bool hasErrors) 7972public BoundInterpolatedStringHandlerPlaceholder(SyntaxNode syntax, TypeSymbol? type) 7995public BoundInterpolatedStringArgumentPlaceholder(SyntaxNode syntax, int argumentIndex, TypeSymbol type, bool hasErrors) 8004public BoundInterpolatedStringArgumentPlaceholder(SyntaxNode syntax, int argumentIndex, TypeSymbol type) 8033public BoundStringInsert(SyntaxNode syntax, BoundExpression value, BoundExpression? alignment, BoundLiteral? format, bool isInterpolatedStringHandlerAppendCall, bool hasErrors = false) 8068public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool hasUnionMatching, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 8112protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors) 8127protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType) 8144public BoundConstantPattern(SyntaxNode syntax, BoundExpression value, ConstantValue constantValue, UnionMatchingMode unionMatchingMode, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8183public BoundPatternWithUnionMatching(SyntaxNode syntax, TypeSymbol unionMatchingInputType, BoundPattern? leftOfPendingConjunction, BoundPropertySubpatternMember valueProperty, BoundPattern valuePattern, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8225public BoundDiscardPattern(SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors) 8238public BoundDiscardPattern(SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType) 8265protected BoundObjectPattern(BoundKind kind, SyntaxNode syntax, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8282public BoundDeclarationPattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isVar, bool isUnionMatching, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8320public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, bool isUnionMatching, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8363public BoundListPattern(SyntaxNode syntax, ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8407public BoundSlicePattern(SyntaxNode syntax, BoundPattern? pattern, BoundExpression? indexerAccess, BoundSlicePatternReceiverPlaceholder? receiverPlaceholder, BoundSlicePatternRangePlaceholder? argumentPlaceholder, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8446public BoundITuplePattern(SyntaxNode syntax, MethodSymbol getLengthMethod, MethodSymbol getItemMethod, ImmutableArray<BoundPositionalSubpattern> subpatterns, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8486protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false) 8504public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8532public BoundPropertySubpattern(SyntaxNode syntax, BoundPropertySubpatternMember? member, bool isLengthOrCount, BoundPattern pattern, bool hasErrors = false) 8562public BoundPropertySubpatternMember(SyntaxNode syntax, BoundPropertySubpatternMember? receiver, Symbol? symbol, TypeSymbol type, bool hasErrors = false) 8594public BoundTypePattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isExplicitNotNullTest, bool isUnionMatching, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8632public BoundBinaryPattern(SyntaxNode syntax, bool disjunction, BoundPattern left, BoundPattern right, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8671public BoundNegatedPattern(SyntaxNode syntax, BoundPattern negated, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8705public BoundRelationalPattern(SyntaxNode syntax, BinaryOperatorKind relation, BoundExpression value, ConstantValue constantValue, bool isUnionMatching, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8746public BoundDiscardExpression(SyntaxNode syntax, NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type, bool hasErrors) 8753public BoundDiscardExpression(SyntaxNode syntax, NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type) 8781public BoundThrowExpression(SyntaxNode syntax, BoundExpression expression, TypeSymbol? type, bool hasErrors = false) 8809protected VariablePendingInference(BoundKind kind, SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8826public OutVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8852public DeconstructionVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8878public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, bool hasErrors) 8885public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression) 8913protected BoundMethodBodyBase(BoundKind kind, SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8926public BoundNonConstructorMethodBody(SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8949public BoundConstructorMethodBody(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundStatement? initializer, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false) 8979public BoundExpressionWithNullability(SyntaxNode syntax, BoundExpression expression, NullableAnnotation nullableAnnotation, TypeSymbol? type, bool hasErrors = false) 9010public BoundValueForNullableAnalysis(SyntaxNode syntax, BoundExpression? originalExpression, TypeSymbol? type, bool hasErrors = false) 9035public BoundWithExpression(SyntaxNode syntax, BoundExpression receiver, MethodSymbol? cloneMethod, BoundObjectInitializerExpressionBase initializerExpression, TypeSymbol type, bool hasErrors = false)
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (5)
174var tryStatementSyntax = node.Syntax; 179var oldTrySyntax = _F.Syntax; 187BoundNode visitTryStatement(BoundTryStatement node, SyntaxNode tryStatementSyntax) 1005private readonly SyntaxNode _syntaxOpt; 1024public AwaitFinallyFrame(AwaitFinallyFrame parent, HashSet<LabelSymbol> labelsOpt, SyntaxNode syntax)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
469var awaitSyntax = awaiterTemp.GetDeclaratorSyntax();
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (2)
117var oldSyntax = _factory.Syntax; 368private bool TryReplaceWithProxy(Symbol localOrParameter, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (1)
528internal DebugId GetClosureId(ClosureEnvironment environment, SyntaxNode syntax, ArrayBuilder<EncClosureInfo> closureDebugInfo, out RuntimeRudeEdit? rudeEdit)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
606private void AddIfCaptured(Symbol symbol, SyntaxNode syntax) 680private void AddDiagnosticIfRestrictedType(Symbol capturedVariable, SyntaxNode syntax)
Lowering\ClosureConversion\ClosureConversion.cs (15)
382var syntax = scopeBoundNode.Syntax; 425var syntax = originalMethod.DeclaringSyntaxReferences[0].GetSyntax(); 519private SynthesizedClosureEnvironment GetStaticFrame(BindingDiagnosticBag diagnostics, SyntaxNode syntax) 592private BoundExpression FrameOfType(SyntaxNode syntax, NamedTypeSymbol frameType) 607protected override BoundExpression FramePointer(SyntaxNode syntax, NamedTypeSymbol frameClass) 683SyntaxNode syntax = node.Syntax; 759private void InitVariableProxy(SyntaxNode syntax, Symbol symbol, LocalSymbol framePointer, ArrayBuilder<BoundExpression> prologue) 884SyntaxNode syntax, 1026SyntaxNode syntax, 1453private DebugId GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, RuntimeRudeEdit? closureRudeEdit) 1459SyntaxNode? lambdaOrLambdaBodySyntax; 1469lambdaOrLambdaBodySyntax = (SyntaxNode?)localFunction.Body ?? localFunction.ExpressionBody?.Expression; 1779private static bool InLoopOrLambda(SyntaxNode lambdaSyntax, SyntaxNode scopeSyntax) 1781var curSyntax = lambdaSyntax.Parent;
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
101private ExpressionLambdaRewriter(TypeCompilationState compilationState, TypeMap typeMap, SyntaxNode node, int recursionDepth, BindingDiagnosticBag diagnostics) 173SyntaxNode old = _bound.Syntax;
Lowering\ClosureConversion\SynthesizedClosureEnvironment.cs (4)
26internal readonly SyntaxNode ScopeSyntaxOpt; 50SyntaxNode scopeSyntaxOpt, 97private static string MakeName(SyntaxNode scopeSyntaxOpt, DebugId methodId, DebugId closureId) 111private static void AssertIsClosureScopeSyntax(SyntaxNode syntaxOpt)
Lowering\InitializerRewriter.cs (1)
92SyntaxNode syntax = fieldInit.Syntax;
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (15)
128SyntaxNode syntax = MethodDeclarationIfAvailable(methodBody.Syntax); 167SyntaxNode methodBodySyntax, 476private static Cci.DebugSourceDocument GetSourceDocument(DebugDocumentProvider debugDocumentProvider, SyntaxNode syntax) 481private static Cci.DebugSourceDocument GetSourceDocument(DebugDocumentProvider debugDocumentProvider, SyntaxNode syntax, FileLinePositionSpan span) 493private BoundStatement AddAnalysisPoint(SyntaxNode syntaxForSpan, Text.TextSpan alternateSpan, SyntheticBoundNodeFactory statementFactory) 498private BoundStatement AddAnalysisPoint(SyntaxNode syntaxForSpan, SyntheticBoundNodeFactory statementFactory) 503private BoundStatement AddAnalysisPoint(SyntaxNode syntaxForSpan, FileLinePositionSpan span, SyntheticBoundNodeFactory statementFactory) 523private static SyntaxNode SyntaxForSpan(BoundStatement statement) 525SyntaxNode syntaxForSpan; 564private static MethodSymbol GetCreatePayloadOverload(CSharpCompilation compilation, WellKnownMember overload, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 569private static SyntaxNode MethodDeclarationIfAvailable(SyntaxNode body) 571SyntaxNode? parent = body.Parent; 593private static TextSpan SkipAttributes(SyntaxNode syntax) 623private static TextSpan SkipAttributes(SyntaxNode syntax, SyntaxList<AttributeListSyntax> attributes, SyntaxTokenList modifiers, SyntaxToken keyword, TypeSyntax? type)
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.cs (4)
86=> nodeOrToken.AsNode(out var node) ? node.GetLastToken().Span.End : nodeOrToken.Span.End; 88internal static void GetBreakpointSpan(VariableDeclaratorSyntax declaratorSyntax, out SyntaxNode node, out TextSpan? part) 143internal static void GetFirstLocalOrFieldBreakpointSpan(SyntaxToken? firstToken, VariableDeclaratorSyntax declaratorSyntax, out SyntaxNode node, out TextSpan? part) 172private static BoundExpression AddConditionSequencePoint(BoundExpression condition, SyntaxNode synthesizedVariableSyntax, SyntheticBoundNodeFactory factory)
Lowering\Instrumentation\DebugInfoInjector.cs (4)
121SyntaxNode syntax = original.Syntax; 132private static BoundStatement InstrumentFieldOrPropertyInitializer(BoundStatement rewritten, SyntaxNode syntax) 142var grandparent = syntax.Parent.Parent; 199SyntaxNode? parent = original.Syntax.Parent;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (3)
204private MethodSymbol? GetLocalOrParameterStoreLogger(TypeSymbol variableType, Symbol targetSymbol, bool? refAssignmentSourceIsLocal, SyntaxNode syntax) 268private MethodSymbol? GetWellKnownMethodSymbol(WellKnownMember overload, SyntaxNode syntax) 271private MethodSymbol? GetSpecialMethodSymbol(SpecialMember overload, SyntaxNode syntax)
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (1)
471var syntax = statement.Syntax;
Lowering\LocalRewriter\DelegateCacheRewriter.cs (1)
47var oldSyntax = _factory.Syntax;
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (1)
34SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (3)
102private BoundExpression MakeAssignmentOperator(SyntaxNode syntax, BoundExpression rewrittenLeft, BoundExpression rewrittenRight, 178SyntaxNode syntax, 298SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
23private BoundExpression RewriteAwaitExpression(SyntaxNode syntax, BoundExpression rewrittenExpression, BoundAwaitableInfo awaitableInfo, TypeSymbol type, BoundAwaitExpressionDebugInfo debugInfo, bool used)
Lowering\LocalRewriter\LocalRewriter_BasePatternSwitchLocalRewriter.cs (8)
25private readonly PooledDictionary<SyntaxNode, ArrayBuilder<BoundStatement>> _switchArms = PooledDictionary<SyntaxNode, ArrayBuilder<BoundStatement>>.GetInstance(); 27protected override ArrayBuilder<BoundStatement> BuilderForSection(SyntaxNode whenClauseSyntax) 30SyntaxNode? sectionSyntax = whenClauseSyntax is SwitchLabelSyntax l ? l.Parent : whenClauseSyntax; 40SyntaxNode node, 42ImmutableArray<SyntaxNode> arms, 46foreach (var arm in arms) 73protected (ImmutableArray<BoundStatement> loweredDag, ImmutableDictionary<SyntaxNode, ImmutableArray<BoundStatement>> switchSections) LowerDecisionDag(BoundDecisionDag decisionDag)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (36)
71var syntax = node.Syntax; 182SyntaxNode syntax, 198SyntaxNode syntax, 545private BoundExpression RewriteLiftedBinaryOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, BoundExpression loweredRight, TypeSymbol type, MethodSymbol? method, TypeSymbol? constrainedToTypeOpt) 604SyntaxNode syntax, 733private BoundExpression MakeTruthTestForDynamicLogicalOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, TypeSymbol boolean, MethodSymbol? leftTruthOperator, TypeSymbol? constrainedToTypeOpt, bool negative) 787SyntaxNode syntax, 815SyntaxNode syntax, 907private BoundExpression MakeOptimizedGetValueOrDefault(SyntaxNode syntax, BoundExpression expression) 925private BoundExpression MakeBooleanConstant(SyntaxNode syntax, bool value) 930private BoundExpression MakeOptimizedHasValue(SyntaxNode syntax, BoundExpression expression) 944private BoundExpression MakeNullableHasValue(SyntaxNode syntax, BoundExpression expression) 955SyntaxNode syntax, 1145SyntaxNode syntax, 1313SyntaxNode syntax, 1353SyntaxNode syntax, 1379SyntaxNode syntax, 1422SyntaxNode syntax, 1524SyntaxNode syntax, 1659private BoundExpression MakeNewNullableBoolean(SyntaxNode syntax, bool? value) 1675SyntaxNode syntax, 1760SyntaxNode syntax, 1821SyntaxNode syntax, 1913private MethodSymbol UnsafeGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType, SpecialMember member) 1923internal static MethodSymbol UnsafeGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType, SpecialMember member, CSharpCompilation compilation, BindingDiagnosticBag diagnostics) 1930private bool TryGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType, SpecialMember member, out MethodSymbol result, bool isOptional = false) 1943SyntaxNode syntax, 2014private BoundExpression RewriteStringEquality(BoundBinaryOperator? oldNode, SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, BoundExpression loweredRight, TypeSymbol type, SpecialMember member) 2027private BoundExpression RewriteDelegateOperation(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, BoundExpression loweredRight, TypeSymbol type, SpecialMember member) 2057private BoundExpression RewriteDecimalBinaryOperation(SyntaxNode syntax, BoundExpression loweredLeft, BoundExpression loweredRight, BinaryOperatorKind operatorKind) 2088private BoundExpression MakeNullCheck(SyntaxNode syntax, BoundExpression rewrittenExpr, BinaryOperatorKind operatorKind) 2147SyntaxNode syntax, 2154SyntaxNode rightSyntax = loweredRight.Syntax; 2209SyntaxNode syntax, 2232var oldSyntax = _factory.Syntax; 2269SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_Call.cs (6)
98private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<MethodSymbol> methods, SyntaxNode syntaxNode) 117private void EmbedIfNeedTo(BoundExpression receiver, ImmutableArray<PropertySymbol> properties, SyntaxNode syntaxNode) 457SyntaxNode syntax, 540private BoundExpression MakeCall(SyntaxNode syntax, BoundExpression? rewrittenReceiver, MethodSymbol method, ImmutableArray<BoundExpression> rewrittenArguments) 1509private BoundExpression CreateEmptyArray(SyntaxNode syntax, ArrayTypeSymbol arrayType) 1529private BoundExpression? CreateArrayEmptyCallIfAvailable(SyntaxNode syntax, TypeSymbol elementType)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (7)
36var previousSyntax = _factory.Syntax; 498var syntax = iteratorBody.Syntax; 541var syntax = node.Syntax; 688SyntaxNode syntax, 878var syntax = node.Syntax; 957var expressionSyntax = rewrittenValue.Syntax; 1328var expressionSyntax = rewrittenValue.Syntax;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
42SyntaxNode syntax = node.Syntax; 181SyntaxNode syntax = node.Syntax; 441SyntaxNode syntax = indexerAccess.Syntax;
Lowering\LocalRewriter\LocalRewriter_ConditionalOperator.cs (1)
43SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (23)
99var save_Syntax = _factory.Syntax; 140private BoundArrayCreation MakeUnderlyingArrayForUtf8Span(SyntaxNode syntax, ArrayTypeSymbol byteArray, IReadOnlyList<byte> bytes, out int length) 262SyntaxNode syntax, 298SyntaxNode syntax, 574var oldSyntax = _factory.Syntax; 755private void EnsureParamCollectionAttributeExists(SyntaxNode node, TypeSymbol delegateType) 856SyntaxNode syntax, 1016SyntaxNode syntax, 1104SyntaxNode syntax, 1160SyntaxNode syntax, 1213SyntaxNode syntax, 1275SyntaxNode syntax, 1307SyntaxNode syntax, 1347SyntaxNode syntax, 1409SyntaxNode syntax, 1465SyntaxNode syntax, 1555SyntaxNode syntax, 1594SyntaxNode syntax, 1809private BoundExpression RewriteDecimalConversion(SyntaxNode syntax, BoundExpression operand, TypeSymbol fromType, TypeSymbol toType, bool @checked, bool isImplicit, ConstantValue? constantValueOpt) 1840private BoundExpression RewriteDecimalConversionCore(SyntaxNode syntax, BoundExpression operand, TypeSymbol fromType, TypeSymbol toType, bool isImplicit, ConstantValue? constantValueOpt) 1869private Conversion TryMakeConversion(SyntaxNode syntax, Conversion conversion, TypeSymbol fromType, TypeSymbol toType, bool @checked) 1977private Conversion TryMakeConversion(SyntaxNode syntax, TypeSymbol fromType, TypeSymbol toType, bool @checked) 1988private Conversion TryMakeUserDefinedConversion(SyntaxNode syntax, MethodSymbol meth, TypeSymbol fromType, TypeSymbol toType, bool @checked, bool isImplicit)
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (1)
33var oldSyntax = _factory.Syntax;
Lowering\LocalRewriter\LocalRewriter_DoStatement.cs (1)
24var syntax = node.Syntax;
Lowering\LocalRewriter\LocalRewriter_Event.cs (4)
87private BoundExpression RewriteWindowsRuntimeEventAssignmentOperator(SyntaxNode syntax, EventSymbol eventSymbol, EventAssignmentKind kind, BoundExpression? rewrittenReceiverOpt, BoundExpression rewrittenArgument) 191private BoundExpression VisitWindowsRuntimeEventFieldAssignmentOperator(SyntaxNode syntax, BoundEventAccess left, BoundExpression rewrittenRight) 220SyntaxNode syntax, 298SyntaxNode oldSyntax = _factory.Syntax;
Lowering\LocalRewriter\LocalRewriter_Field.cs (3)
18SyntaxNode syntax, 51SyntaxNode syntax, 98private BoundExpression MakeTupleFieldAccessAndReportUseSiteDiagnostics(BoundExpression tuple, SyntaxNode syntax, FieldSymbol field)
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
83SyntaxNode? node = boundFixed.Syntax.Parent; 311var initializerSyntax = initializerExpr.Syntax;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (14)
71private bool CanRewriteForEachAsFor(SyntaxNode forEachSyntax, TypeSymbol nodeExpressionType, [NotNullWhen(true)] out MethodSymbol? indexerGet, [NotNullWhen(true)] out MethodSymbol? lengthGet) 76internal static bool CanRewriteForEachAsFor(CSharpCompilation compilation, SyntaxNode forEachSyntax, TypeSymbol nodeExpressionType, [NotNullWhen(true)] out MethodSymbol? indexerGet, [NotNullWhen(true)] out MethodSymbol? lengthGet, BindingDiagnosticBag diagnostics) 294private bool TryGetDisposeMethod(SyntaxNode forEachSyntax, ForEachEnumeratorInfo enumeratorInfo, out MethodSymbol disposeMethod) 299internal static bool TryGetDisposeMethod(CSharpCompilation compilation, SyntaxNode syntax, bool isAsync, BindingDiagnosticBag diagnostics, out MethodSymbol disposeMethod) 485private BoundStatement WrapWithAwait(SyntaxNode forEachSyntax, BoundExpression disposeCall, BoundAwaitableInfo disposeAwaitableInfoOpt) 706private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind); 707private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg); 708private delegate BoundExpression GetForEachStatementAsForLength<TArg>(LocalRewriter rewriter, SyntaxNode syntax, BoundLocal boundArrayVar, TArg arg); 714getItem: static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) => 723getLength: static (LocalRewriter rewriter, SyntaxNode syntax, BoundLocal boundArrayVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) => 745return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) => 766return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) => 792return static (LocalRewriter rewriter, SyntaxNode syntax, BoundLocal boundArrayVar, object? _) => 840SyntaxNode forEachSyntax)
Lowering\LocalRewriter\LocalRewriter_ForStatement.cs (2)
73SyntaxNode syntax = original.Syntax; 215SyntaxNode syntax = node.Syntax;
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
17var syntax = node.Syntax;
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (1)
120SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_Index.cs (1)
69private BoundExpression ConvertToNullable(SyntaxNode syntax, TypeSymbol targetNullableType, BoundExpression underlyingValue)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (3)
104SyntaxNode syntax, 1127private MethodSymbol? TryGetStartOnlyOverload(MethodSymbol method, SyntaxNode syntax) 1166MethodSymbol? tryGetWellKnownSliceStartOverload(WellKnownMember startLengthMember, WellKnownMember startMember, MethodSymbol methodDefinition, SyntaxNode syntax)
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (2)
27SyntaxNode syntax, 81SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (2)
138SyntaxNode node, 143protected override ArrayBuilder<BoundStatement> BuilderForSection(SyntaxNode section) => _statements;
Lowering\LocalRewriter\LocalRewriter_Literal.cs (3)
23private BoundExpression MakeLiteral(SyntaxNode syntax, ConstantValue constantValue, TypeSymbol? type, BoundLiteral? oldNodeOpt = null) 51private BoundExpression MakeDecimalLiteral(SyntaxNode syntax, ConstantValue constantValue) 142private BoundExpression MakeDateTimeLiteral(SyntaxNode syntax, ConstantValue constantValue)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (1)
19private BoundStatement? RewriteLocalDeclaration(BoundLocalDeclaration? originalOpt, SyntaxNode syntax, LocalSymbol localSymbol, BoundExpression? rewrittenInitializer, bool hasErrors = false)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (1)
17SyntaxNode syntax = node.Syntax;
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
23SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (3)
261SyntaxNode syntax, 328private BoundExpression MakeNewT(SyntaxNode syntax, TypeParameterSymbol typeParameter) 381SyntaxNode oldSyntax = _factory.Syntax;
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
190var syntax = initializer.Syntax;
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (5)
26private readonly Dictionary<SyntaxNode, LabelSymbol> _sectionLabels = PooledDictionary<SyntaxNode, LabelSymbol>.GetInstance(); 38((PooledDictionary<SyntaxNode, LabelSymbol>)_sectionLabels).Free(); 51SyntaxNode? section = d.Syntax.Parent; 121(ImmutableArray<BoundStatement> loweredDag, ImmutableDictionary<SyntaxNode, ImmutableArray<BoundStatement>> switchSections) =
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
21var syntax = node.Syntax;
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (3)
27SyntaxNode syntax, 68private BoundExpression MakePropertyGetAccess(SyntaxNode syntax, BoundExpression? rewrittenReceiver, PropertySymbol property, BoundPropertyAccess? oldNodeOpt) 74SyntaxNode syntax,
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (7)
23private BoundExpression VisitCompoundAssignmentStringConcatenation(BoundExpression left, BoundExpression unvisitedRight, BinaryOperatorKind operatorKind, SyntaxNode syntax) 72private BoundExpression CreateStringConcat(SyntaxNode originalSyntax, ArrayBuilder<BoundExpression> visitedArguments) 205/// <see cref="CreateStringConcat(SyntaxNode, ArrayBuilder{BoundExpression})"/> and performs any optimizations on the arguments that can be done. This 480SyntaxNode syntax, 509SyntaxNode syntax, 560var oldSyntax = factory.Syntax; 623var syntax = expr.Syntax;
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (2)
29private InterpolationHandlerResult RewriteToInterpolatedStringHandlerPattern(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax) 219private BoundExpression LowerPartsToString(InterpolatedStringHandlerData data, ImmutableArray<BoundExpression> parts, SyntaxNode syntax, TypeSymbol type)
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
63(ImmutableArray<BoundStatement> loweredDag, ImmutableDictionary<SyntaxNode, ImmutableArray<BoundStatement>> switchSections) =
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
107var syntax = boundConversion.Syntax;
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
43private BoundExpression MakeTupleCreationExpression(SyntaxNode syntax, NamedTypeSymbol type, ImmutableArray<BoundExpression> rewrittenArguments)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (15)
65SyntaxNode syntax, 77SyntaxNode syntax, 181SyntaxNode syntax, 245SyntaxNode syntax, 354private BoundExpression GetLiftedUnaryOperatorConsequence(UnaryOperatorKind kind, SyntaxNode syntax, MethodSymbol? method, TypeSymbol? constrainedToTypeOpt, TypeSymbol type, BoundExpression nonNullOperand) 410SyntaxNode syntax = node.Syntax; 456private BoundExpression MakeInstanceCompoundAssignmentOperatorResult(SyntaxNode syntax, BoundExpression left, BoundExpression? rightOpt, MethodSymbol operatorMethod, bool isChecked, AssignmentKind assignmentKind) 523static BoundCall makeIncrementCall(SyntaxNode syntax, BoundLocal boundTemp, BoundExpression? rightOpt, MethodSymbol operatorMethod) 528BoundExpression makeAssignmentBack(SyntaxNode syntax, BoundExpression transformedLHS, BoundLocal boundTemp, bool isChecked, AssignmentKind assignmentKind) 582SyntaxNode syntax = node.Syntax; 656SyntaxNode syntax, 696SyntaxNode syntax, 799SyntaxNode syntax = node.Syntax; 985private BoundExpression MakeDecimalIncDecOperator(SyntaxNode syntax, BinaryOperatorKind oper, BoundExpression operand) 992private BoundExpression MakeLiftedDecimalIncDecOperator(SyntaxNode syntax, BinaryOperatorKind oper, BoundExpression operand)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (9)
62private BoundStatement MakeDeclarationUsingStatement(SyntaxNode syntax, 151SyntaxNode expressionSyntax = rewrittenExpression.Syntax; 207SyntaxNode usingSyntax, 215SyntaxNode declarationSyntax = localDeclaration.Syntax; 280SyntaxNode resourceTypeSyntax, 281SyntaxNode resourceSyntax, 435SyntaxNode resourceTypeSyntax, 436SyntaxNode resourceSyntax, 492private BoundExpression MakeCall(MethodArgumentInfo methodArgumentInfo, SyntaxNode syntax, BoundExpression? expression, BoundExpression? firstRewrittenArgument)
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (2)
65SyntaxNode syntax = loop.Syntax; 136SyntaxNode syntax = loop.Syntax;
Lowering\LocalRewriter\LocalRewriter.cs (11)
591private static BoundExpression BadExpression(SyntaxNode syntax, TypeSymbol resultType, BoundExpression child) 596private static BoundExpression BadExpression(SyntaxNode syntax, TypeSymbol resultType, BoundExpression child1, BoundExpression child2) 601private static BoundExpression BadExpression(SyntaxNode syntax, TypeSymbol resultType, ImmutableArray<BoundExpression> children) 606private bool TryGetWellKnownTypeMember<TSymbol>(SyntaxNode? syntax, WellKnownMember member, [NotNullWhen(true)] out TSymbol? symbol, bool isOptional = false, Location? location = null) where TSymbol : Symbol 616/// Recommendation: Do not use, use <see cref="TryGetSpecialTypeMethod(SyntaxNode, SpecialMember, out MethodSymbol, bool)"/> instead! 619private MethodSymbol UnsafeGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember) 626/// Recommendation: Do not use, use <see cref="TryGetSpecialTypeMethod(SyntaxNode, SpecialMember, CSharpCompilation, BindingDiagnosticBag, out MethodSymbol, bool)"/> instead! 629private static MethodSymbol UnsafeGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics) 646private bool TryGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember, out MethodSymbol method, bool isOptional = false) 651private static bool TryGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics, out MethodSymbol method, bool isOptional = false) 870var syntax = initializer.Syntax;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (6)
32protected abstract ArrayBuilder<BoundStatement> BuilderForSection(SyntaxNode section); 55SyntaxNode node, 618SyntaxNode syntax, 902private void EnsureStringHashFunction(int labelsCount, SyntaxNode syntaxNode, StringPatternInput stringPatternInput) 1094var whenClauseSyntax = whenNodes[0].Syntax; 1131void addConditionalGoto(BoundExpression whenExpression, SyntaxNode whenClauseSyntax, LabelSymbol whenTrueLabel, ArrayBuilder<BoundStatement> sectionBuilder)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.ValueDispatchNode.cs (7)
28public readonly SyntaxNode Syntax; 30public ValueDispatchNode(SyntaxNode syntax) => Syntax = syntax; 40public SwitchDispatch(SyntaxNode syntax, ImmutableArray<(ConstantValue value, LabelSymbol label)> dispatches, LabelSymbol otherwise) : base(syntax) 54public LeafDispatchNode(SyntaxNode syntax, LabelSymbol Label) : base(syntax) => this.Label = Label; 86private RelationalDispatch(SyntaxNode syntax, ConstantValue value, BinaryOperatorKind op, ValueDispatchNode left, ValueDispatchNode right) : base(syntax) 133public static ValueDispatchNode CreateBalanced(SyntaxNode syntax, ConstantValue value, BinaryOperatorKind op, ValueDispatchNode whenTrue, ValueDispatchNode whenFalse) 140private static ValueDispatchNode CreateBalancedCore(SyntaxNode syntax, ConstantValue value, BinaryOperatorKind op, ValueDispatchNode left, ValueDispatchNode right)
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (6)
30public PatternLocalRewriter(SyntaxNode node, LocalRewriter localRewriter, bool generateInstrumentation) 58private readonly SyntaxNode _node; 62public DagTempAllocator(SyntheticBoundNodeFactory factory, SyntaxNode node, bool generateSequencePoints) 396private BoundExpression MakeNullCheck(SyntaxNode syntax, BoundExpression rewrittenExpr, BinaryOperatorKind operatorKind) 416protected BoundExpression MakeValueTest(SyntaxNode syntax, BoundExpression input, ConstantValue value) 430protected BoundExpression MakeRelationalTest(SyntaxNode syntax, BoundExpression input, BinaryOperatorKind operatorKind, ConstantValue value)
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
334SyntaxNode syntax,
Lowering\MethodToClassRewriter.cs (5)
27protected abstract BoundExpression FramePointer(SyntaxNode syntax, NamedTypeSymbol frameClass); 134private MethodSymbol GetMethodWrapperForBaseNonVirtualCall(MethodSymbol methodBeingCalled, SyntaxNode syntax) 156private MethodSymbol GetOrCreateBaseFunctionWrapper(MethodSymbol methodBeingWrapped, SyntaxNode syntax) 184private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 389internal BaseMethodWrapperSymbol(NamedTypeSymbol containingType, MethodSymbol methodBeingWrapped, SyntaxNode syntax, string name)
Lowering\SpillSequenceSpiller.cs (3)
26MethodSymbol method, SyntaxNode syntaxNode, TypeCompilationState compilationState, 44public BoundSpillSequenceBuilder(SyntaxNode syntax, BoundExpression value = null) 1067var save_Syntax = _F.Syntax;
Lowering\StateMachineRewriter\CapturedSymbol.cs (4)
26public abstract BoundExpression Replacement<TArg>(SyntaxNode node, Func<NamedTypeSymbol, TArg, BoundExpression> makeFrame, TArg arg); 39public override BoundExpression Replacement<TArg>(SyntaxNode node, Func<NamedTypeSymbol, TArg, BoundExpression> makeFrame, TArg arg) 57public override BoundExpression Replacement<TArg>(SyntaxNode node, Func<NamedTypeSymbol, TArg, BoundExpression> makeFrame, TArg arg) 78public override BoundExpression Replacement<TArg>(SyntaxNode node, Func<NamedTypeSymbol, TArg, BoundExpression> makeFrame, TArg arg)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (8)
38private MultiDictionary<Symbol, SyntaxNode> _lazyDisallowedCaptures; 89foreach (var syntax in kvp.Value) 109foreach (var syntax in kvp.Value) 216private void CaptureVariable(Symbol variable, SyntaxNode syntax) 234(_lazyDisallowedCaptures ??= new MultiDictionary<Symbol, SyntaxNode>()).Add(variable, syntax); 251private void CaptureRefInitializer(BoundExpression variableInitializer, SyntaxNode syntax) 277protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 443private void Capture(Symbol s, SyntaxNode syntax)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (7)
208protected override BoundExpression FramePointer(SyntaxNode syntax, NamedTypeSymbol frameClass) 210var oldSyntax = F.Syntax; 218protected void AddResumableState(SyntaxNode awaitOrYieldReturnSyntax, AwaitDebugId awaitId, out StateMachineState state, out GeneratedLabelSymbol resumeLabel) 221protected void AddResumableState(ResumableStateMachineStateAllocator allocator, SyntaxNode awaitOrYieldReturnSyntax, AwaitDebugId awaitId, out StateMachineState stateNumber, out GeneratedLabelSymbol resumeLabel) 228protected void AddStateDebugInfo(SyntaxNode node, AwaitDebugId awaitId, StateMachineState state) 517var oldSyntax = F.Syntax; 668SyntaxNode awaitSyntax = assignedLocal.GetDeclaratorSyntax();
Lowering\StateMachineRewriter\ResumableStateMachineStateAllocator.cs (1)
50public StateMachineState AllocateState(SyntaxNode awaitOrYieldReturnSyntax, AwaitDebugId awaitId)
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
200SyntaxNode declaratorSyntax = local.GetDeclaratorSyntax();
Lowering\SyntheticBoundNodeFactory.cs (15)
50public SyntaxNode Syntax { get; set; } 108public SyntheticBoundNodeFactory(MethodSymbol topLevelMethod, SyntaxNode node, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics, InstrumentationState? instrumentationState = null) 119public SyntheticBoundNodeFactory(MethodSymbol? topLevelMethodOpt, NamedTypeSymbol? currentClassOpt, SyntaxNode node, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics, InstrumentationState? instrumentationState = null) 442public BoundExpression AssignmentExpression(SyntaxNode syntax, BoundExpression left, BoundExpression right, bool isRef = false, bool hasErrors = false, bool wasCompilerGenerated = false) 602SyntaxNode? syntax = null, 624SyntaxNode syntax 1231public BoundStatement SequencePoint(SyntaxNode syntax, BoundStatement statement) 1268public static BoundExpression Null(TypeSymbol type, SyntaxNode syntax) 1589internal static BoundExpression Default(TypeSymbol type, SyntaxNode syntax) 1634internal static BoundExpression NullOrDefault(TypeSymbol typeSymbol, SyntaxNode syntax) 1655SyntaxNode? syntaxOpt = null 1694var syntax = argument.Syntax; 1760internal BoundExpression MakeNullCheck(SyntaxNode syntax, BoundExpression rewrittenExpr, BinaryOperatorKind operatorKind) 1812internal BoundExpression MakeNullableHasValue(SyntaxNode syntax, BoundExpression expression) 1823SyntaxNode syntax,
Operations\CSharpOperationFactory_Methods.cs (9)
33private IInstanceReferenceOperation CreateImplicitReceiver(SyntaxNode syntax, TypeSymbol type) => 40(SyntaxNode syntax, bool isImplicit) = expression.Syntax is { Parent: ArgumentSyntax or AttributeArgumentSyntax } ? (expression.Syntax.Parent, expression.WasCompilerGenerated) : (value.Syntax, true); 52internal IVariableInitializerOperation? CreateVariableDeclaratorInitializer(BoundLocalDeclaration boundLocalDeclaration, SyntaxNode syntax) 56SyntaxNode? initializerSyntax = null; 81private IVariableDeclaratorOperation CreateVariableDeclaratorInternal(BoundLocalDeclaration boundLocalDeclaration, SyntaxNode syntax) 126SyntaxNode syntax = boundEventAssignmentOperator.Syntax; 134SyntaxNode eventAccessSyntax = ((AssignmentExpressionSyntax)syntax).Left; 410SyntaxNode syntax, 464var assignmentSyntax = value.Syntax?.Parent ?? syntax;
Operations\CSharpOperationFactory.cs (117)
403internal ImmutableArray<IVariableDeclaratorOperation> CreateVariableDeclarator(BoundNode declaration, SyntaxNode declarationSyntax) 429SyntaxNode syntax = boundDeconstructValuePlaceholder.Syntax; 441SyntaxNode syntax = boundDeconstructionAssignmentOperator.Syntax; 450SyntaxNode syntax = boundCall.Syntax; 482SyntaxNode syntax = boundFunctionPointerInvocation.Syntax; 563SyntaxNode syntax = boundLocal.Syntax; 583SyntaxNode syntax = boundFieldAccess.Syntax; 624SyntaxNode syntax = boundPropertyAccess.Syntax; 634SyntaxNode syntax = boundIndexerAccess.Syntax; 654SyntaxNode syntax = boundEventAccess.Syntax; 665SyntaxNode syntax = boundEventAssignmentOperator.Syntax; 675SyntaxNode syntax = boundParameter.Syntax; 683SyntaxNode syntax = boundLiteral.Syntax; 692SyntaxNode syntax = boundNode.Syntax; 700SyntaxNode syntax = boundAnonymousObjectCreationExpression.Syntax; 713SyntaxNode syntax = boundObjectCreationExpression.Syntax; 756SyntaxNode syntax = boundWithExpression.Syntax; 768SyntaxNode syntax = boundDynamicObjectCreationExpression.Syntax; 797SyntaxNode syntax = boundDynamicInvocation.Syntax; 840SyntaxNode syntax = boundDynamicIndexerAccess.Syntax; 849SyntaxNode syntax = boundObjectInitializerExpression.Syntax; 858SyntaxNode syntax = boundCollectionInitializerExpression.Syntax; 867SyntaxNode syntax = boundObjectInitializerMember.Syntax; 931SyntaxNode syntax = boundDynamicObjectInitializerMember.Syntax; 943SyntaxNode syntax = boundCollectionElementInitializer.Syntax; 968SyntaxNode syntaxNode, 993SyntaxNode syntax = boundCollectionElementInitializer.Syntax; 1013SyntaxNode syntax = boundLambda.Syntax; 1025SyntaxNode syntax = boundLocalFunctionStatement.Syntax; 1089SyntaxNode syntax = boundConversion.Syntax; 1117SyntaxNode syntax = boundConversion.Syntax; 1201SyntaxNode syntax = boundAsOperator.Syntax; 1213SyntaxNode syntax = boundDelegateCreationExpression.Syntax; 1224SyntaxNode bindingSyntax = boundMethodGroup.Syntax; 1235SyntaxNode syntax = boundIsOperator.Syntax; 1246SyntaxNode syntax = boundSizeOfOperator.Syntax; 1257SyntaxNode syntax = boundTypeOfOperator.Syntax; 1267SyntaxNode syntax = boundArrayCreation.Syntax; 1277SyntaxNode syntax = boundArrayInitialization.Syntax; 1365SyntaxNode syntax = element.Syntax; 1380SyntaxNode syntax = boundDefaultLiteral.Syntax; 1388SyntaxNode syntax = boundDefaultExpression.Syntax; 1398SyntaxNode syntax = boundBaseReference.Syntax; 1407SyntaxNode syntax = boundThisReference.Syntax; 1431SyntaxNode syntax = boundAssignmentOperator.Syntax; 1443SyntaxNode syntax = boundAssignmentOperator.Syntax; 1460SyntaxNode syntax = boundCompoundAssignmentOperator.Syntax; 1487SyntaxNode syntax = boundIncrementOperator.Syntax; 1497SyntaxNode syntax = boundBadExpression.Syntax; 1510SyntaxNode syntax = boundNewT.Syntax; 1519SyntaxNode syntax = creation.Syntax; 1530SyntaxNode syntax = boundUnaryOperator.Syntax; 1584SyntaxNode syntax = boundBinaryOperator.Syntax; 1607SyntaxNode syntax = boundBinaryOperator.Syntax; 1651SyntaxNode syntax = boundTupleBinaryOperator.Syntax; 1663SyntaxNode syntax = boundConditionalOperator.Syntax; 1674SyntaxNode syntax = boundNullCoalescingOperator.Syntax; 1693SyntaxNode syntax = boundNode.Syntax; 1703SyntaxNode syntax = boundAwaitExpression.Syntax; 1713SyntaxNode syntax = boundArrayAccess.Syntax; 1724SyntaxNode syntax = boundIndexerAccess.Syntax; 1746SyntaxNode syntax = boundInlineArrayAccess.Syntax; 1756SyntaxNode syntax = boundNameOfOperator.Syntax; 1766SyntaxNode syntax = boundThrowExpression.Syntax; 1775SyntaxNode syntax = boundAddressOfOperator.Syntax; 1784SyntaxNode syntax = boundImplicitReceiver.Syntax; 1794SyntaxNode syntax = boundConditionalAccess.Syntax; 1803SyntaxNode syntax = boundConditionalReceiver.Syntax; 1813SyntaxNode syntax = boundFieldEqualsValue.Syntax; 1822SyntaxNode syntax = boundPropertyEqualsValue.Syntax; 1831SyntaxNode syntax = boundParameterEqualsValue.Syntax; 1840SyntaxNode syntax = boundBlock.Syntax; 1849SyntaxNode syntax = boundContinueStatement.Syntax; 1858SyntaxNode syntax = boundBreakStatement.Syntax; 1866SyntaxNode syntax = boundYieldBreakStatement.Syntax; 1875SyntaxNode syntax = boundGotoStatement.Syntax; 1882SyntaxNode syntax = boundNoOpStatement.Syntax; 1916SyntaxNode syntax = boundIfStatement.Syntax; 1938SyntaxNode syntax = boundWhileStatement.Syntax; 1952SyntaxNode syntax = boundDoStatement.Syntax; 1967SyntaxNode syntax = boundForStatement.Syntax; 2053var declaratorSyntax = boundForEachStatement.IterationVariableType.Syntax; 2074SyntaxNode syntax = boundForEachStatement.Syntax; 2085SyntaxNode syntax = boundTryStatement.Syntax; 2099SyntaxNode syntax = boundCatchBlock.Syntax; 2109SyntaxNode syntax = boundFixedStatement.Syntax; 2127SyntaxNode syntax = boundUsingStatement.Syntax; 2135SyntaxNode syntax = boundThrowStatement.Syntax; 2144SyntaxNode syntax = boundReturnStatement.Syntax; 2152SyntaxNode syntax = boundYieldReturnStatement.Syntax; 2168SyntaxNode syntax = boundLockStatement.Syntax; 2176SyntaxNode syntax = boundBadStatement.Syntax; 2186var node = boundLocalDeclaration.Syntax; 2189SyntaxNode varStatement; 2190SyntaxNode varDeclaration; 2240SyntaxNode declarationGroupSyntax = boundMultipleLocalDeclarations.Syntax; 2241SyntaxNode declarationSyntax = declarationGroupSyntax.IsKind(SyntaxKind.LocalDeclarationStatement) ? 2277SyntaxNode syntax = boundLabelStatement.Syntax; 2286SyntaxNode syntax = boundLabeledStatement.Syntax; 2297SyntaxNode syntax = boundExpressionStatement.Syntax; 2313SyntaxNode syntax = boundTupleExpression.Syntax; 2349SyntaxNode syntax = boundInterpolatedString.Syntax; 2489SyntaxNode syntax = boundStringInsert.Syntax; 2497SyntaxNode syntax = boundNode.Syntax; 2568SyntaxNode syntax = placeholder.Syntax; 2603SyntaxNode syntax = boundConstantPattern.Syntax; 2614SyntaxNode syntax = boundRelationalPattern.Syntax; 2633SyntaxNode syntax = boundDeclarationPattern.Syntax; 2775SyntaxNode syntax = boundSwitchStatement.Syntax; 2832SyntaxNode syntax = boundSwitchLabel.Syntax; 2860SyntaxNode syntax = boundIsPatternExpression.Syntax; 2875SyntaxNode syntax = boundQueryClause.Syntax; 2941SyntaxNode subpatternSyntax = subpattern.Syntax; 2954var nameSyntax = member.Syntax; 2977IPropertySubpatternOperation createPropertySubpattern(Symbol? symbol, IPatternOperation pattern, ITypeSymbol receiverType, SyntaxNode nameSyntax, bool isSingle) 3005var syntaxForPropertySubpattern = isSingle ? subpatternSyntax : nameSyntax; 3019SyntaxNode syntax = placeholder.Syntax;
Parser\Blender.cs (1)
163for (var parent = token.Parent; // for each parent
Parser\Blender.Cursor.cs (3)
84var parent = this.CurrentNodeOrToken.Parent; 109private static int IndexOfNodeInParent(SyntaxNode node) 139var node = CurrentNodeOrToken.AsNode();
SourceGeneration\CSharpSyntaxHelper.cs (16)
26public override bool IsAnyNamespaceBlock(SyntaxNode node) 29public override bool IsAttribute(SyntaxNode node) 32public override SyntaxNode GetNameOfAttribute(SyntaxNode node) 35public override SyntaxNode RemapAttributeTarget(SyntaxNode target) 42public override SyntaxNode GetAttributeOwningNode(SyntaxNode attribute) 50public override bool IsAttributeList(SyntaxNode node) 53public override void AddAttributeTargets(SyntaxNode node, ArrayBuilder<SyntaxNode> targets) 68public override SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node) 71public override bool IsLambdaExpression(SyntaxNode node) 74public override string GetUnqualifiedIdentifierOfName(SyntaxNode node) 132public override bool ContainsGlobalAliases(SyntaxNode root)
src\roslyn\src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (23)
34SyntaxNode node, 56SyntaxNode node, 57Func<SyntaxNode, int?, bool> shouldSkip, 92builder.Add(new DeclarationInfo(name, ImmutableArray<SyntaxNode>.Empty, declaredSymbol)); 109using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 132using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 149using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 160using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 173using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 193using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 204using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 206using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 246using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 270using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 286using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var blocks); 302using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 334using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 348using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 362private static void AddAttributes(SyntaxList<AttributeListSyntax> attributeLists, ArrayBuilder<SyntaxNode> builder) 373private static void AddParameterListInitializersAndAttributes(BaseParameterListSyntax parameterList, ArrayBuilder<SyntaxNode> builder) 384private static void AddParameterInitializersAndAttributes(ParameterSyntax parameter, ArrayBuilder<SyntaxNode> builder) 390private static void AddTypeParameterListAttributes(TypeParameterListSyntax typeParameterList, ArrayBuilder<SyntaxNode> builder) 413executableCodeBlocks: ImmutableArray.Create<SyntaxNode>(expressionBody),
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (2)
54var startNode = token.Parent; 195var startNode = token.Parent!;
Symbols\ConstantValueUtils.cs (1)
82SyntaxNode initValueNode,
Symbols\ConstraintsHelper.cs (2)
608SyntaxNode typeSyntax, 679SyntaxNode typeSyntax,
Symbols\Extensions\SynthesizedExtensionMarker.cs (1)
92SyntaxNode? parameterTypeSyntax = parameterList.Parameters[0].Type;
Symbols\FieldOrPropertyInitializer.cs (1)
29public FieldOrPropertyInitializer(FieldSymbol fieldOpt, SyntaxNode syntax)
Symbols\FunctionTypeSymbol.cs (1)
45internal static FunctionTypeSymbol? CreateIfFeatureEnabled(SyntaxNode syntax, Binder binder, Func<Binder, BoundExpression, NamedTypeSymbol?> calculateDelegate)
Symbols\LocalSymbol.cs (6)
39internal abstract SyntaxNode ScopeDesignatorOpt { get; } 42SynthesizedLocalKind kind, SyntaxNode syntax 75public virtual TypeWithAnnotations GetTypeWithAnnotations(SyntaxNode reference, BindingDiagnosticBag diagnostics) 296internal abstract SyntaxNode GetDeclaratorSyntax(); 371internal abstract ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics = null); 407SyntaxNode ILocalSymbolInternal.GetDeclaratorSyntax()
Symbols\MethodSymbol.cs (1)
1053internal bool CheckAndReportValidUnmanagedCallersOnlyTarget(SyntaxNode? node, BindingDiagnosticBag? diagnostics)
Symbols\MethodSymbolExtensions.cs (1)
204SyntaxNode node = reference.GetSyntax();
Symbols\RangeVariableSymbol.cs (1)
64var node = token.Parent;
Symbols\Source\GlobalExpressionVariable.cs (4)
47SyntaxNode syntax, 50SyntaxNode nodeToBind) 176SyntaxNode nodeToBind) 187var nodeToBind = _nodeToBind.GetSyntax();
Symbols\Source\LambdaSymbol.cs (1)
21private readonly SyntaxNode _syntax;
Symbols\Source\ParameterHelpers.cs (5)
1200internal static ImmutableArray<CustomModifier> ConditionallyCreateInModifiers(RefKind refKind, bool addRefReadOnlyModifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1212internal static ImmutableArray<CustomModifier> CreateInModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1218private static ImmutableArray<CustomModifier> CreateRefReadonlyParameterModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1224internal static ImmutableArray<CustomModifier> CreateOutModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1229private static ImmutableArray<CustomModifier> CreateModifiers(WellKnownType modifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
Symbols\Source\SourceComplexParameterSymbol.cs (4)
229internal static SyntaxNode? GetDefaultValueSyntaxForIsNullableAnalysisEnabled(ParameterSyntax? parameterSyntax) => 301private Binder GetDefaultParameterValueBinder(SyntaxNode syntax) 332var attributes = parameterSyntax.AttributeLists.Node; 943private void VerifyParamDefaultValueMatchesAttributeIfAny(ConstantValue value, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceLabelSymbol.cs (1)
48var node = _identifierNodeOrToken.AsNode();
Symbols\Source\SourceLocalSymbol.cs (17)
43private ConcurrentSet<SyntaxNode>? _forbiddenReferences; 48public readonly SyntaxNode Reference; 49public LocalTypeInferenceInProgressKey(SourceLocalSymbol local, SyntaxNode reference) 115internal override SyntaxNode ScopeDesignatorOpt 173SyntaxNode deconstruction) 195SyntaxNode nodeToBind) 267SynthesizedLocalKind kind, SyntaxNode syntax 363public override TypeWithAnnotations GetTypeWithAnnotations(SyntaxNode reference, BindingDiagnosticBag diagnostics) 419Interlocked.CompareExchange(ref _forbiddenReferences, new ConcurrentSet<SyntaxNode>(), null); 515internal sealed override SyntaxNode GetDeclaratorSyntax() 526SyntaxNode node = _identifierToken.Parent; 568internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics) 689internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics = null) 752private readonly SyntaxNode _deconstruction; 762SyntaxNode deconstruction) 800private readonly SyntaxNode _nodeToBind; 809SyntaxNode nodeToBind)
Symbols\Source\SourceMemberContainerSymbol.cs (3)
4066var syntax = decl.SyntaxReference.GetSyntax(); 6136void reportMisplacedMemberInNamespace(SyntaxNode member, SyntaxToken locationSyntax, bool reportMisplacedGlobalCode) 6140var parentSyntax = member.Parent;
Symbols\Source\SourceMemberMethodSymbol.cs (2)
1076protected void CheckFeatureAvailabilityAndRuntimeSupport(SyntaxNode declarationSyntax, Location location, bool hasBody, BindingDiagnosticBag diagnostics) 1105public static void ReportLackOfRuntimeSupportForStaticMembersInInterfaces(SyntaxNode declarationSyntax, Accessibility declaredAccessibility, BindingDiagnosticBag diagnostics, Location location)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (3)
1076var root = matchingTree.GetRoot(); 1284var root = matchingTree.GetRoot(); 1417static void checkAndReportManagedTypes(TypeSymbol type, RefKind refKind, SyntaxNode syntax, bool isParam, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceNamespaceSymbol.cs (1)
483var syntax = NamespaceDeclarationSyntaxReference.GetSyntax(declarationSyntaxRef, cancellationToken);
Symbols\Source\SourcePropertySymbol.cs (7)
172private TypeSyntax GetTypeSyntax(SyntaxNode syntax) => ((BasePropertyDeclarationSyntax)syntax).Type; 177private static SyntaxTokenList GetModifierTokensSyntax(SyntaxNode syntax) 180private static ArrowExpressionClauseSyntax? GetArrowExpression(SyntaxNode syntax) 188private static bool HasInitializer(SyntaxNode syntax) 304var body = (SyntaxNode?)accessor.Body ?? accessor.ExpressionBody; 571private TypeWithAnnotations ComputeType(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Symbols\Source\SourcePropertySymbolBase.cs (1)
1965protected static ExplicitInterfaceSpecifierSyntax? GetExplicitInterfaceSpecifier(SyntaxNode syntax)
Symbols\Symbol.cs (3)
528SyntaxNode parent = location.SourceTree.GetRoot(); 529SyntaxNode found = null; 530foreach (var descendant in parent.DescendantNodesAndSelf(c => c.Location.SourceSpan.Contains(location.SourceSpan)))
Symbols\Synthesized\SynthesizedLocal.cs (7)
24private readonly SyntaxNode _syntaxOpt; 38SyntaxNode syntaxOpt = null, 68public SyntaxNode SyntaxOpt 74SynthesizedLocalKind kind, SyntaxNode syntax 118internal sealed override SyntaxNode ScopeDesignatorOpt 153internal sealed override SyntaxNode GetDeclaratorSyntax() 190internal sealed override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics)
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (1)
297public SyntaxNode ReturnTypeSyntax => CompilationUnit.Members.First(m => m.Kind() == SyntaxKind.GlobalStatement);
Symbols\Synthesized\TypeSubstitutedLocalSymbol.cs (4)
55internal override SyntaxNode ScopeDesignatorOpt 75internal override SyntaxNode GetDeclaratorSyntax() 124internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag diagnostics) 137SynthesizedLocalKind kind, SyntaxNode syntax
Symbols\Tuples\TupleTypeSymbol.cs (1)
489internal static Symbol? GetWellKnownMemberInType(NamedTypeSymbol type, WellKnownMember relativeMember, BindingDiagnosticBag diagnostics, SyntaxNode? syntax)
Symbols\TypeWithAnnotations.cs (6)
539public void ReportDiagnosticsIfObsolete(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) => 547private void ReportDiagnosticsIfObsoleteCore(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 877internal abstract void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics); 940internal override void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1033internal override void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1176internal override void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
Symbols\UpdatedContainingSymbolLocal.cs (4)
86internal override SyntaxNode ScopeDesignatorOpt => _underlyingLocal.ScopeDesignatorOpt; 93internal override ConstantValue GetConstantValue(SyntaxNode node, LocalSymbol inProgress, BindingDiagnosticBag? diagnostics = null) => 97internal override SyntaxNode GetDeclaratorSyntax() => 102SynthesizedLocalKind kind, SyntaxNode syntax
Symbols\VarianceSafety.cs (1)
486private static T GetDeclaringSyntax<T>(this Symbol symbol) where T : SyntaxNode
Syntax\CompilationUnitSyntax.cs (1)
53private bool HasFirstTokenDirective(Func<SyntaxNode, bool> predicate)
Syntax\CSharpSyntaxNode.cs (22)
26internal CSharpSyntaxNode(GreenNode green, SyntaxNode? parent, int position) 185public static SyntaxNode DeserializeFrom(Stream stream, CancellationToken cancellationToken = default) 234if (child.AsNode(out var node)) 274if (child.AsNode(out var node)) 449protected override bool EquivalentToCore(SyntaxNode other) 462protected internal override SyntaxNode ReplaceCore<TNode>( 464Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 473protected internal override SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes) 478protected internal override SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 483protected internal override SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens) 488protected internal override SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore) 493protected internal override SyntaxNode ReplaceTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia) 498protected internal override SyntaxNode InsertTriviaInListCore(SyntaxTrivia originalTrivia, IEnumerable<SyntaxTrivia> newTrivia, bool insertBefore) 503protected internal override SyntaxNode? RemoveNodesCore(IEnumerable<SyntaxNode> nodes, SyntaxRemoveOptions options) 508protected internal override SyntaxNode NormalizeWhitespaceCore(string indentation, string eol, bool elasticTrivia) 513protected override bool IsEquivalentToCore(SyntaxNode node, bool topLevel = false) 550if (nodeOrToken.AsNode(out var node)
Syntax\CSharpSyntaxRewriter.cs (7)
17public abstract partial class CSharpSyntaxRewriter : CSharpSyntaxVisitor<SyntaxNode?> 34public override SyntaxNode? Visit(SyntaxNode? node) 41var result = ((CSharpSyntaxNode)node).Accept(this); 139public virtual SyntaxList<TNode> VisitList<TNode>(SyntaxList<TNode> list) where TNode : SyntaxNode 166public virtual TNode? VisitListElement<TNode>(TNode? node) where TNode : SyntaxNode 171public virtual SeparatedSyntaxList<TNode> VisitList<TNode>(SeparatedSyntaxList<TNode> list) where TNode : SyntaxNode
Syntax\CSharpSyntaxTree.cs (4)
775public override IEnumerable<Diagnostic> GetDiagnostics(SyntaxNode node) 865protected override SyntaxNode GetRootCore(CancellationToken cancellationToken) 870protected override async Task<SyntaxNode> GetRootAsyncCore(CancellationToken cancellationToken) 875protected override bool TryGetRootCore([NotNullWhen(true)] out SyntaxNode? root)
Syntax\CSharpSyntaxTree.Dummy.cs (2)
68public override SyntaxReference GetReference(SyntaxNode node) 94public override SyntaxTree WithRootAndOptions(SyntaxNode root, ParseOptions options)
Syntax\CSharpSyntaxTree.LazySyntaxTree.cs (2)
104public override SyntaxReference GetReference(SyntaxNode node) 109public override SyntaxTree WithRootAndOptions(SyntaxNode root, ParseOptions options)
Syntax\CSharpSyntaxTree.ParsedSyntaxTree.cs (2)
118public override SyntaxReference GetReference(SyntaxNode node) 123public override SyntaxTree WithRootAndOptions(SyntaxNode root, ParseOptions options)
Syntax\CSharpSyntaxVisitor.cs (4)
17public virtual TResult? Visit(SyntaxNode? node) 28public virtual TResult? DefaultVisit(SyntaxNode node) 40public virtual void Visit(SyntaxNode? node) 48public virtual void DefaultVisit(SyntaxNode node)
Syntax\CSharpSyntaxWalker.cs (3)
22public override void Visit(SyntaxNode? node) 35public override void DefaultVisit(SyntaxNode node) 46var asNode = child.AsNode();
Syntax\InternalSyntax\CSharpSyntaxNode.cs (8)
241public sealed override CodeAnalysis.SyntaxToken CreateSeparator(SyntaxNode element) 261private static readonly ConditionalWeakTable<SyntaxNode, SmallDictionary<CodeAnalysis.SyntaxTrivia, SyntaxNode>> s_structuresTable 262= new ConditionalWeakTable<SyntaxNode, SmallDictionary<CodeAnalysis.SyntaxTrivia, SyntaxNode>>(); 279public override SyntaxNode GetStructure(Microsoft.CodeAnalysis.SyntaxTrivia trivia) 286var parent = trivia.Token.Parent; 292SyntaxNode structure;
Syntax\InternalSyntax\SyntaxToken.cs (2)
475internal override SyntaxNode CreateRed(SyntaxNode parent, int position)
Syntax\InternalSyntax\SyntaxTrivia.cs (2)
110internal override SyntaxNode CreateRed(SyntaxNode? parent, int position)
Syntax\LambdaUtilities.cs (27)
20public static bool IsLambda(SyntaxNode node) 48public static bool IsNotLambda(SyntaxNode node) => !IsLambda(node); 53public static SyntaxNode GetLambda(SyntaxNode lambdaBody) 56var lambda = lambdaBody.Parent; 73internal static SyntaxNode? TryGetCorrespondingLambdaBody(SyntaxNode oldBody, SyntaxNode newLambda) 125public static SyntaxNode GetNestedFunctionBody(SyntaxNode nestedFunction) 133public static bool IsNotLambdaBody(SyntaxNode node) 141public static bool IsLambdaBody(SyntaxNode node, bool allowReducedLambdas = false) 143var parent = node?.Parent; 271public static bool IsLambdaBodyStatementOrExpression(SyntaxNode node) 276public static bool IsLambdaBodyStatementOrExpression(SyntaxNode node, out SyntaxNode lambdaBody) 285public static bool TryGetLambdaBodies(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? lambdaBody1, out SyntaxNode? lambdaBody2) 362public static bool AreEquivalentIgnoringLambdaBodies(SyntaxNode oldNode, SyntaxNode newNode) 368public static IEnumerable<SyntaxToken> DescendantTokensIgnoringLambdaBodies(SyntaxNode node) 374internal static bool IsQueryPairLambda(SyntaxNode syntax) 388internal static bool IsClosureScope(SyntaxNode node) 480internal static int GetDeclaratorPosition(SyntaxNode node) 486private static SyntaxNode? GetLocalFunctionBody(LocalFunctionStatementSyntax localFunctionStatementSyntax) 487=> (SyntaxNode?)localFunctionStatementSyntax.Body ?? localFunctionStatementSyntax.ExpressionBody?.Expression;
Syntax\LookupPosition.cs (1)
473internal static bool IsInAnonymousFunctionOrQuery(int position, SyntaxNode lambdaExpressionOrQueryNode)
Syntax\NamespaceDeclarationSyntaxReference.cs (2)
23protected override SyntaxNode Translate(SyntaxReference reference, CancellationToken cancellationToken) 28internal static SyntaxNode GetSyntax(SyntaxReference reference, CancellationToken cancellationToken)
Syntax\SimpleSyntaxReference.cs (3)
15private readonly SyntaxNode _node; 17internal SimpleSyntaxReference(SyntaxNode node) 38public override SyntaxNode GetSyntax(CancellationToken cancellationToken)
Syntax\StructuredTriviaSyntax.cs (2)
16internal StructuredTriviaSyntax(InternalSyntax.CSharpSyntaxNode green, SyntaxNode parent, int position) 25var parent = trivia.Token.Parent;
Syntax\SyntaxBindingUtilities.cs (2)
13public static bool BindsToResumableStateMachineState(SyntaxNode node) 20public static bool BindsToTryStatement(SyntaxNode node)
Syntax\SyntaxEquivalence.cs (2)
34public static bool AreEquivalent(SyntaxNode? before, SyntaxNode? after, Func<SyntaxKind, bool>? ignoreChildNode, bool topLevel)
Syntax\SyntaxExtensions.cs (2)
404var stack = ArrayBuilder<SyntaxNode>.GetInstance(); 409var current = stack.Pop();
Syntax\SyntaxFactory.cs (19)
1257public static SyntaxList<TNode> List<TNode>() where TNode : SyntaxNode 1268public static SyntaxList<TNode> SingletonList<TNode>(TNode node) where TNode : SyntaxNode 1278public static SyntaxList<TNode> List<TNode>(IEnumerable<TNode> nodes) where TNode : SyntaxNode 1362public static SeparatedSyntaxList<TNode> SeparatedList<TNode>() where TNode : SyntaxNode 1372public static SeparatedSyntaxList<TNode> SingletonSeparatedList<TNode>(TNode node) where TNode : SyntaxNode 1382public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(IEnumerable<TNode>? nodes) where TNode : SyntaxNode 1434public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(IEnumerable<TNode>? nodes, IEnumerable<SyntaxToken>? separators) where TNode : SyntaxNode 1482public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(IEnumerable<SyntaxNodeOrToken> nodesAndTokens) where TNode : SyntaxNode 1493public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(SyntaxNodeOrTokenList nodesAndTokens) where TNode : SyntaxNode 1576public static SyntaxTree SyntaxTree(SyntaxNode root, ParseOptions? options = null, string path = "", Encoding? encoding = null) 1677/// Since this API does not create a <see cref="SyntaxNode"/> that owns all produced tokens, 2002public static bool AreEquivalent(SyntaxNode? oldNode, SyntaxNode? newNode, bool topLevel) 2016public static bool AreEquivalent(SyntaxNode? oldNode, SyntaxNode? newNode, Func<SyntaxKind, bool>? ignoreChildNode = null) 2067where TNode : SyntaxNode 2083where TNode : SyntaxNode 2098where TNode : SyntaxNode 2396var lastNode = compilation.ChildNodes().LastOrDefault();
Syntax\SyntaxFacts.cs (19)
22public static bool IsAliasQualifier(SyntaxNode node) 28public static bool IsAttributeName(SyntaxNode node) 30var parent = node.Parent; 273public static bool IsNamedArgumentName(SyntaxNode node) 283var parent1 = node.Parent; 289var parent2 = parent1.Parent; 300var parent3 = parent2.Parent; 316var parent4 = parent3.Parent; 343public static bool IsFixedStatementExpression(SyntaxNode node) 345var current = node.Parent; 381internal static bool IsStatementExpression(SyntaxNode syntax) 438public static bool IsLambdaBody(SyntaxNode node) 453internal static bool IsDeclarationExpressionType(SyntaxNode node, [NotNullWhen(true)] out DeclarationExpressionSyntax? parent) 463public static string? TryGetInferredMemberName(this SyntaxNode syntax) 515return (declaration.Body ?? (SyntaxNode?)declaration.ExpressionBody) != null; 543internal static bool HasAwaitOperations(SyntaxNode node) 562private static bool IsNestedFunction(SyntaxNode child) 572internal static bool HasYieldOperations(SyntaxNode? node) 612internal static bool HasReturnWithExpression(SyntaxNode? node)
Syntax\SyntaxNodeExtensions.cs (10)
18public static bool IsAnonymousFunction(this SyntaxNode syntax) 32public static bool IsQuery(this SyntaxNode syntax) 78internal static bool CanHaveAssociatedLocalBinder(this SyntaxNode syntax) 147internal static bool IsLegalCSharp73SpanStackAllocPosition(this SyntaxNode node) 161SyntaxNode? parentNode = node.Parent; 173SyntaxNode? variableDeclarator = parentNode.Parent; 188internal static CSharpSyntaxNode AnonymousFunctionBody(this SyntaxNode lambda) 300internal static SyntaxNode ModifyingScopedOrRefTypeOrSelf(this SyntaxNode syntax) 302SyntaxNode? parentNode = syntax.Parent;
Syntax\SyntaxNodeRemover.cs (18)
18IEnumerable<SyntaxNode> nodes, 20where TRoot : SyntaxNode 35var result = remover.Visit(root); 50private readonly HashSet<SyntaxNode> _nodesToRemove; 54private HashSet<SyntaxNode>? _directivesToKeep; 57SyntaxNode[] nodesToRemove, 61_nodesToRemove = new HashSet<SyntaxNode>(nodesToRemove); 67private static TextSpan ComputeTotalSpan(SyntaxNode[] nodes) 154private bool IsForRemoval(SyntaxNode node) 159private bool ShouldVisit(SyntaxNode node) 165public override SyntaxNode? Visit(SyntaxNode? node) 167SyntaxNode? result = node; 293private void AddTrivia(SyntaxNode node) 324private void AddTrivia(SyntaxToken token, SyntaxNode node) 364private void AddTrivia(SyntaxNode node, SyntaxToken token) 421private void AddDirectives(SyntaxNode node, TextSpan span) 427_directivesToKeep = new HashSet<SyntaxNode>();
Syntax\SyntaxNormalizer.cs (14)
46where TNode : SyntaxNode 325private static bool IsAccessorListWithoutAccessorsWithBlockBody(SyntaxNode? node) 329private static bool IsAccessorListFollowedByInitializer([NotNullWhen(true)] SyntaxNode? node) 335var parent = openBraceToken.Parent; 352var parent = closeBraceToken.Parent; 367var parent = openBraceToken.Parent; 383var currentTokenParent = currentToken.Parent; 1264var node = trivia.GetStructure()!; 1329private static int GetDeclarationDepth(SyntaxNode? node) 1423private static bool IsSingleLineInitializerContext(SyntaxNode? node) 1430var currentParent = node.Parent; 1457private static bool IsInitializerInSingleLineContext(SyntaxNode? node) 1476public override SyntaxNode? VisitInterpolatedStringExpression(InterpolatedStringExpressionSyntax node) 1500public override SyntaxNode? VisitXmlTextAttribute(XmlTextAttributeSyntax node)
Syntax\SyntaxReplacer.cs (45)
15internal static SyntaxNode Replace<TNode>( 16SyntaxNode root, 18Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 23where TNode : SyntaxNode 42IEnumerable<SyntaxNode>? nodes = null, 43Func<SyntaxNode, SyntaxNode, SyntaxNode>? computeReplacementNode = null, 49var replacer = new Replacer<SyntaxNode>( 64private class Replacer<TNode> : CSharpSyntaxRewriter where TNode : SyntaxNode 66private readonly Func<TNode, TNode, SyntaxNode>? _computeReplacementNode; 70private readonly HashSet<SyntaxNode> _nodeSet; 81Func<TNode, TNode, SyntaxNode>? computeReplacementNode, 91_nodeSet = nodes != null ? new HashSet<SyntaxNode>(nodes) : s_noNodes; 100private static readonly HashSet<SyntaxNode> s_noNodes = new HashSet<SyntaxNode>(); 123foreach (var node in _nodeSet) 191public override SyntaxNode? Visit(SyntaxNode? node) 193var rewritten = node; 280internal static SyntaxNode ReplaceNodeInList(SyntaxNode root, SyntaxNode originalNode, IEnumerable<SyntaxNode> newNodes) 285internal static SyntaxNode InsertNodeInList(SyntaxNode root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 290public static SyntaxNode ReplaceTokenInList(SyntaxNode root, SyntaxToken tokenInList, IEnumerable<SyntaxToken> newTokens) 295public static SyntaxNode InsertTokenInList(SyntaxNode root, SyntaxToken tokenInList, IEnumerable<SyntaxToken> newTokens, bool insertBefore) 300public static SyntaxNode ReplaceTriviaInList(SyntaxNode root, SyntaxTrivia triviaInList, IEnumerable<SyntaxTrivia> newTrivia) 305public static SyntaxNode InsertTriviaInList(SyntaxNode root, SyntaxTrivia triviaInList, IEnumerable<SyntaxTrivia> newTrivia, bool insertBefore) 378public override SyntaxNode? Visit(SyntaxNode? node) 380SyntaxNode? rewritten = node; 420private readonly SyntaxNode _originalNode; 421private readonly IEnumerable<SyntaxNode> _newNodes; 424SyntaxNode originalNode, 425IEnumerable<SyntaxNode> replacementNodes, 434public override SyntaxNode? Visit(SyntaxNode? node)
Syntax\SyntaxTokenParser.cs (1)
45/// Since this API does not create a <see cref="SyntaxNode"/> that owns all produced tokens,
Microsoft.CodeAnalysis.CSharp.Analyzers (27)
MetaAnalyzers\CSharpDiagnosticAnalyzerAPIUsageAnalyzer.cs (1)
14protected override bool IsNamedTypeDeclarationBlock(SyntaxNode syntax)
MetaAnalyzers\CSharpRegisterActionAnalyzer.cs (4)
56protected override IEnumerable<SyntaxNode>? GetArgumentExpressions(InvocationExpressionSyntax invocation) 66protected override SyntaxNode GetArgumentExpression(ArgumentSyntax argument) 71protected override SyntaxNode GetInvocationExpression(InvocationExpressionSyntax invocation) 76protected override SyntaxNode? GetInvocationReceiver(InvocationExpressionSyntax invocation)
MetaAnalyzers\CSharpReportDiagnosticAnalyzer.cs (3)
29protected override IEnumerable<SyntaxNode>? GetArgumentExpressions(InvocationExpressionSyntax invocation) 39protected override SyntaxNode GetPropertyGetterBlockSyntax(SyntaxNode declaringSyntaxRefNode)
MetaAnalyzers\CSharpSymbolIsBannedInAnalyzersAnalyzer.cs (5)
23protected override SyntaxNode GetReferenceSyntaxNodeFromXmlCref(SyntaxNode syntaxNode) => ((XmlCrefAttributeSyntax)syntaxNode).Cref; 25protected override IEnumerable<SyntaxNode> GetTypeSyntaxNodesFromBaseType(SyntaxNode syntaxNode) => ((BaseListSyntax)syntaxNode).Types.Select(t => (SyntaxNode)t.Type);
MetaAnalyzers\Fixers\CSharpApplyDiagnosticAnalyzerAttributeFix.cs (1)
18protected override SyntaxNode ParseExpression(string expression)
MetaAnalyzers\Fixers\CSharpCompareSymbolsCorrectlyFix.cs (4)
19protected override SyntaxNode CreateConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull) 22protected override SyntaxNode GetExpression(IInvocationOperation invocationOperation)
MetaAnalyzers\Fixers\CSharpConfigureGeneratedCodeAnalysisFix.cs (3)
20protected override IEnumerable<SyntaxNode> GetStatements(SyntaxNode methodDeclaration) 34return Enumerable.Empty<SyntaxNode>();
MetaAnalyzers\Fixers\CSharpEnableConcurrentExecutionFix.cs (3)
20protected override IEnumerable<SyntaxNode> GetStatements(SyntaxNode methodDeclaration) 34return Enumerable.Empty<SyntaxNode>();
MetaAnalyzers\Fixers\CSharpPreferIsKindFix.cs (3)
22protected override SyntaxNode? TryGetNodeToFix(SyntaxNode root, TextSpan span) 37protected override void FixDiagnostic(DocumentEditor editor, SyntaxNode nodeToFix)
Microsoft.CodeAnalysis.CSharp.CodeStyle (881)
src\984dec8966cb7923\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
231where T : SyntaxNode 289public override SyntaxKind DefaultVisit(SyntaxNode node)
src\a6db168d9ad5d460\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (6)
48var statement = context.Node; 123private static bool ContainsInterleavedDirective(SyntaxNode statement, StatementSyntax embeddedStatement, CancellationToken cancellationToken) 151private static bool IsConsideredMultiLine(SyntaxNode statement, SyntaxNode embeddedStatement) 236private static bool RequiresBracesToMatchContext(SyntaxNode statement) 264private static IfStatementSyntax GetOutermostIfStatementOfSequence(SyntaxNode ifStatementOrElseClause)
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs (1)
46var switchStatement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertTypeofToNameof\CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
23var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (11)
101var invocationOrCreation = argumentList.Parent; 178var enclosingBlockOfLocalStatement = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(localStatement); 191var outArgumentScope = GetOutArgumentScope(argumentExpression); 236var reportNode = localDeclaration.Variables.Count == 1 237? (SyntaxNode)localDeclaration 252SyntaxNode enclosingBlock, 275private static SyntaxNode? GetOutArgumentScope(SyntaxNode argumentExpression) 277for (var current = argumentExpression; current != null; current = current.Parent) 334SyntaxNode enclosingBlockOfLocalStatement, 346foreach (var descendentNode in enclosingBlockOfLocalStatement.DescendantNodes())
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
228var parentBlock = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(ifStatement);
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeLocalFunctionStatic\MakeLocalFunctionStaticHelper.cs (1)
32var node = calledLocationFunction.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax();
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (2)
68var declaration = reference.GetSyntax(cancellationToken); 192var declaration = methodReference.GetSyntax(cancellationToken);
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 60if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementDiagnosticAnalyzer.cs (4)
40using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 44private void Recurse(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, ArrayBuilder<SyntaxNode> stack) 49var root = context.GetAnalysisRoot(findInTrivia: false); 57var current = stack.Last();
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveStatementPlacement\CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (2)
40protected override bool IsBlockLikeStatement(SyntaxNode node) 43protected override Location GetDiagnosticLocation(SyntaxNode block)
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConstructorInitializerPlacement\ConstructorInitializerPlacementDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 64if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementDiagnosticAnalyzer.cs (5)
42using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 45while (stack.TryPop(out var node)) 67if (child.AsNode(out var childNode)) 92var parent = statement.Parent; 115var blockParent = parent.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\OrderModifiers\CSharpOrderModifiersDiagnosticAnalyzer.cs (2)
32SyntaxNode root) 38var node = child.AsNode();
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (6)
30protected override bool CanMemberAccessBeQualified(ISymbol containingSymbol, SyntaxNode node) 53private static bool IsInPropertyOrFieldInitialization(ISymbol containingSymbol, SyntaxNode node) 61private static bool IsInPropertyInitialization(SyntaxNode declarationSyntax, SyntaxNode node) 64private static bool IsInFieldInitialization(SyntaxNode declarationSyntax, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
30var node = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryAsyncModifier\CSharpMakeMethodSynchronousDiagnosticAnalyzer.cs (15)
27protected abstract bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken); 47var root = syntaxTree.GetRoot(cancellationToken); 48using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 49using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var currentMethodStack); 52while (stack.TryPop(out var current)) 65if (child.AsNode(out var childNode)) 71static bool IsMethodLike(SyntaxNode current) 74static bool HasAsyncModifier(SyntaxNode methodLike) 77static SyntaxToken GetAsyncModifier(SyntaxNode methodLike) 97void CheckForNoAwaitExpressions(SyntaxNode methodLike) 104while (currentMethodStack.TryPop(out var current)) 120if (child.AsNode(out var childNode)) 134static bool IsAwait(SyntaxNode node) 154protected override bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken) 178protected override bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (5)
40protected override ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<UsingDirectiveSyntax> unnecessaryImports) 41=> ImmutableArray<SyntaxNode>.CastUp(unnecessaryImports); 49protected override SyntaxToken? TryGetLastToken(SyntaxNode node) 54IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken) 58foreach (var node in nodes.Select(n => n.GetAncestors().First(n => n is BaseNamespaceDeclarationSyntax or CompilationUnitSyntax)).Distinct())
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (3)
187var outermostBody = invokedExpression.AncestorsAndSelf().LastOrDefault( 243SyntaxNode? node1, 245SyntaxNode? node2,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveRedundantNullableDirectiveDiagnosticAnalyzer.cs (3)
52var root = context.GetAnalysisRoot(findInTrivia: true); 73if (current.AsNode(out var childNode)) 93var directive = trivia.GetStructure()!;
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (3)
50private static bool IsIgnoredCodeBlock(SyntaxNode codeBlock) 269var root = context.GetAnalysisRoot(findInTrivia: true); 290var root = context.GetAnalysisRoot(findInTrivia: true);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\NullableImpactingSpanWalker.cs (2)
45private bool IsIgnored(SyntaxNode node) 123public override void DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (1)
25protected override bool ContainsPragmaDirective(SyntaxNode root)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessarySuppressions\UnnecessaryNullableWarningSuppressionsUtilities.cs (17)
29var nodeToCheck = GetNodeToCheck(postfixUnary); 53var originalRoot = originalTree.GetRoot(cancellationToken); 55foreach (var existingNode in originalRoot.DescendantNodes()) 82var originalRoot = originalTree.GetRoot(cancellationToken); 89var updateRoot = updatedTree.GetRoot(cancellationToken); 95using var _1 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var inGlobalStatements); 96using var _2 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var inFieldsOrProperties); 97using var _3 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var remainder); 101var rewritten = updateRoot.GetAnnotatedNodes(annotation).Single(); 102var nodeToCheck = GetNodeToCheck(rewritten); 165IEnumerable<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)> nodes, 166Func<SyntaxNode, ImmutableArray<Diagnostic>> computeDiagnostics) 170var rewrittenAncestor = ancestorGroup.Key; 178IEnumerable<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)> group, 191private static SyntaxNode? GetNodeToCheck(SyntaxNode updatedNode) 207var ancestor = updatedNode.Ancestors().FirstOrDefault(
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierDiagnosticAnalyzer.cs (2)
39using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var unnecessaryNodes); 42foreach (var declaration in unnecessaryNodes)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryUnsafeModifier\UnnecessaryUnsafeModifierUtilities.cs (20)
25private static bool ShouldAnalyzeNode(SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 39ArrayBuilder<SyntaxNode> result, 43var originalRoot = originalTree.GetRoot(cancellationToken); 45using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToCheck); 47foreach (var existingNode in originalRoot.DescendantNodes()) 78IEnumerable<SyntaxNode> nodesToCheck, 79ArrayBuilder<SyntaxNode> result, 82using var _2 = PooledDictionary<SyntaxNode, SyntaxAnnotation>.GetInstance(out var nodeToAnnotation); 83foreach (var node in nodesToCheck) 91IEnumerable<SyntaxNode> nodesToCheck, 92PooledDictionary<SyntaxNode, SyntaxAnnotation> nodeToAnnotation, 93ArrayBuilder<SyntaxNode> result, 97var originalRoot = originalTree.GetRoot(cancellationToken); 104var updateRoot = updatedTree.GetRoot(cancellationToken); 112var newNode = updateRoot.GetAnnotatedNodes(annotation).Single(); 122private static SyntaxNode WithoutUnsafeModifier(SyntaxNode node) 130private static SyntaxTokenList GetNewModifierList(SyntaxNode node) 133private static SyntaxTokenList GetModifiers(SyntaxNode node) 141public static SyntaxToken GetUnsafeModifier(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (4)
57var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 70public static StatementSyntax? TryGetContainingStatement(SyntaxNode node) 79SemanticModelAnalysisContext context, SyntaxNode root, TextSpan sourceSpan) 81var node = root.FindNode(sourceSpan);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedMembers\CSharpRemoveUnusedMembersDiagnosticAnalyzer.cs (2)
49protected override SyntaxNode GetParentIfSoleDeclarator(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (3)
35protected override bool IsIfConditionalDirective(SyntaxNode node) 38protected override bool ReturnsThrow(SyntaxNode? node) 69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
19protected override SyntaxNode GetPreservedInterpolationExpressionSyntax(IOperation operation)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (8)
49ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 51SyntaxNode codeBlock, 129SyntaxNode location, 139SyntaxNode location, 190var declaration = getMethod.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 230protected override SyntaxNode GetFieldNode( 245var syntax = accessor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 246foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
34protected override SyntaxNode GetDeclarationNode(VariableDeclaratorSyntax declarator)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (2)
162using var _ = ArrayBuilder<CollectionMatch<SyntaxNode>>.GetInstance(out var matches); 252ImmutableArray<CollectionMatch<SyntaxNode>> Matches,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (4)
97var parent = topMostExpression.GetRequiredParent(); 498bool AddLocalToProcess(SyntaxNode declarator) 679var initializerParent = originalInitializer.GetRequiredParent(); 712var parent = initializer.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (3)
35protected override bool IsComplexElementInitializer(SyntaxNode expression, out int initializerElementCount) 76ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 77ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (2)
54ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 67static IEnumerable<CollectionElementSyntax> GetMatchElements(ImmutableArray<CollectionMatch<SyntaxNode>> preMatches)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (5)
110var searchScope = localDeclaration.Parent is GlobalStatementSyntax globalStatement 140SyntaxNode searchScope, 200SyntaxNode container, CancellationToken cancellationToken) 244SemanticModel semanticModel, SyntaxNode searchScope, ILocalSymbol local, 285SemanticModel semanticModel, SyntaxNode container, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\Helpers\UseExpressionBodyHelper.cs (8)
25public abstract BlockSyntax? GetBody(SyntaxNode declaration); 26public abstract ArrowExpressionClauseSyntax? GetExpressionBody(SyntaxNode declaration); 27public abstract bool IsRelevantDeclarationNode(SyntaxNode node); 29public abstract bool CanOfferUseExpressionBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, CancellationToken cancellationToken); 30public abstract bool CanOfferUseBlockBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, out bool fixesError, [NotNullWhen(true)] out ArrowExpressionClauseSyntax? expressionBody); 31public abstract SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody, CancellationToken cancellationToken); 33public abstract Location GetDiagnosticLocation(SyntaxNode declaration);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\Helpers\UseExpressionBodyHelper`1.cs (10)
35where TDeclaration : SyntaxNode 54public override BlockSyntax? GetBody(SyntaxNode declaration) 57public override ArrowExpressionClauseSyntax? GetExpressionBody(SyntaxNode declaration) 60public override bool IsRelevantDeclarationNode(SyntaxNode node) 63public override bool CanOfferUseExpressionBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, CancellationToken cancellationToken) 66public override bool CanOfferUseBlockBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, out bool fixesError, [NotNullWhen(true)] out ArrowExpressionClauseSyntax? expressionBody) 69public sealed override SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody, CancellationToken cancellationToken) 72public override Location GetDiagnosticLocation(SyntaxNode declaration) 122SyntaxNode declaration, ExpressionBodyPreference conversionPreference, CancellationToken cancellationToken,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\UseExpressionBodyDiagnosticAnalyzer.cs (2)
58var grandparent = context.Node.GetRequiredParent().GetRequiredParent(); 90CSharpCodeGenerationOptions options, SyntaxNode declaration, SyntaxNodeAnalysisContext context, UseExpressionBodyHelper helper, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseImplicitOrExplicitType\CSharpTypeStyleDiagnosticAnalyzerBase.cs (1)
47var declarationStatement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var syntax = operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsDiagnosticAnalyzer.cs (1)
49var statement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers_FlagVariable.cs (4)
172for (var current = targetLoop.Parent; current != null; current = current.Parent) 363private static SyntaxNode? GetNearestBreakOrContinueTarget(SyntaxNode node, bool isBreak) 365for (var current = node.Parent; current != null; current = current.Parent)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers.cs (6)
179private static bool CrossesFinally(SyntaxNode jump, SyntaxNode target) 181for (var current = jump; current != null && current != target; current = current.Parent) 190private static bool CrossesInnerLoopOrSwitch(SyntaxNode jump, SyntaxNode target, bool includeSwitch) 192for (var current = jump.Parent; current != null && current != target; current = current.Parent)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (3)
93SyntaxNode container; 242SemanticModel semanticModel, INamedTypeSymbol? expressionTypeOpt, ISymbol local, SyntaxNode container, 250foreach (var descendentNode in container.DescendantNodes())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNameofInNullableAttribute\CSharpUseNameofInNullableAttributeDiagnosticAnalyzer.cs (1)
114var container = attributeList?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (9)
25private readonly SyntaxNode _enclosingBlock; 35SyntaxNode enclosingBlock, 62SyntaxNode enclosingBlock, 108foreach (var current in _comparison.Ancestors()) 253foreach (var node in _enclosingBlock.DescendantNodesAndSelf()) 280private bool CheckLoop(SyntaxNode statement, StatementSyntax body, bool defAssignedWhenTrue) 347private bool IsAccessedOutOfScope(SyntaxNode scope) 357foreach (var descendentNode in _enclosingBlock.DescendantNodes()) 389private bool LocalFlowsIn(SyntaxNode statementOrExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (9)
56var node = syntaxContext.Node; 74BinaryExpressionSyntax binaryExpression => (binaryExpression.Left, (SyntaxNode)binaryExpression.Right), 112var enclosingBlock = localStatement.Parent; 169foreach (var descendentNode in enclosingBlock.DescendantNodes()) 201var comparisonEnclosingBlock = comparison.AncestorsAndSelf().FirstOrDefault(n => n is BlockSyntax); 210foreach (var descendentNode in enclosingBlock.DescendantNodes()) 231foreach (var descendentNode in enclosingBlock.DescendantNodes()) 279SyntaxNode operand, 336private static ExpressionSyntax? GetNullCheckOperand(ExpressionSyntax left, SyntaxKind comparisonKind, SyntaxNode right)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (5)
95var ifStatementScope = ifStatement.Parent.IsKind(SyntaxKind.Block) 210SyntaxNode scope, VariableDeclaratorSyntax variable) 214using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 217while (stack.TryPop(out var current)) 235if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
62var node = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (7)
88[NotNullWhen(true)] out SyntaxNode? nodeToRemove, 391var body = primaryConstructorDeclaration.ExpressionBody ?? (SyntaxNode?)primaryConstructorDeclaration.Body; 416using var _2 = ArrayBuilder<(IParameterSymbol parameter, SyntaxNode assignedMemberDeclaration, bool parameterIsWrittenTo)>.GetInstance(out var orderedParameterAssignments); 440var lastAssignedMemberDeclaration = group.First().assignedMemberDeclaration; 467ArrayBuilder<(IParameterSymbol parameter, SyntaxNode assignedMemberDeclaration, bool parameterIsWrittenTo)>? orderedParameterAssignments, 495if (!IsViableMemberToAssignTo(namedType, member, out _, out var assignedMemberDeclaration, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (3)
88var parentBlockLike = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(outermostUsing); 134SyntaxNode parentBlockLike, 177SyntaxNode parentBlockLike,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (3)
117private void ReportParameterArrayDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, ImmutableArray<IOperation> elements, NotificationOption2 notificationOption, ArrayCreationOperationLocation operationLocation) 129private void ReportArrayCreationDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, NotificationOption2 notificationOption) 137private void ReportDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, NotificationOption2 notificationOption, Location location, ArrayCreationOperationLocation operationLocation)
src\roslyn\src\Analyzers\CSharp\Analyzers\ValidateFormatString\CSharpValidateFormatStringDiagnosticAnalyzer.cs (4)
21protected override SyntaxNode? TryGetMatchingNamedArgument( 22SeparatedSyntaxList<SyntaxNode> arguments, 36protected override SyntaxNode GetArgumentExpression(SyntaxNode syntaxNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
88var parent = token.GetRequiredParent(); 113private static bool IsInDirective(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
155var parent = block.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (5)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 18private static SyntaxNode GetAbsoluteRoot(this SyntaxNode node) 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (8)
207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 282var parent = expr.Parent; 332if (expression.IsInRefContext(out var refParent)) 405if (expression?.Parent is SyntaxNode parent) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 912var parent = topExpression.Parent; 966var parent = arrowExpression.GetRequiredParent(); 973for (SyntaxNode? current = returnStatement; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (4)
12public static bool CanSafelyMoveLocalToBlock(this ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock) 16var localFunctionOrMethodDeclaration = currentBlock.AncestorsAndSelf() 30static bool HasTypeParameterWithName(SyntaxNode? node, string name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.DeclarationFinder.cs (1)
23public static Dictionary<string, List<SyntaxToken>> GetAllDeclarations(SyntaxNode syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (6)
27var nodeParent = node.Parent; 380private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = SharedPools.Default<Stack<SyntaxNode>>(); 387foreach (var ancestor in node.GetRequiredParent().AncestorsAndSelf()) 407while (stack.TryPop(out var expression)) 412if (nodeOrToken.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxListExtensions.cs (2)
15public static SyntaxList<T> RemoveRange<T>(this SyntaxList<T> syntaxList, int index, int count) where T : SyntaxNode 22public static SyntaxList<T> Insert<T>(this SyntaxList<T> list, int index, T item) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (74)
25public static LanguageVersion GetLanguageVersion(this SyntaxNode node) 28public static void Deconstruct(this SyntaxNode node, out SyntaxKind kind) 31public static bool IsKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 32where TNode : SyntaxNode 44public static bool IsParentKind([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind) 47public static bool IsParentKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 48where TNode : SyntaxNode 61this SyntaxNode node, SourceText? sourceText = null, 90public static bool IsAnyArgumentList([NotNullWhen(true)] this SyntaxNode? node) 99public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBraces(this SyntaxNode? node) 116public static bool IsEmbeddedStatementOwner([NotNullWhen(true)] this SyntaxNode? node) 130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 146public static BaseParameterListSyntax? GetParameterList(this SyntaxNode? declaration) 159public static SyntaxList<AttributeListSyntax> GetAttributeLists(this SyntaxNode? declaration) 172public static ConditionalAccessExpressionSyntax? GetParentConditionalAccessExpression(this SyntaxNode? node) 184var current = node; 251/// <inheritdoc cref="ISyntaxFacts.GetRootConditionalAccessExpression(SyntaxNode)"/> 253public static ConditionalAccessExpressionSyntax? GetRootConditionalAccessExpression(this SyntaxNode? node) 270public static ConditionalAccessExpressionSyntax? GetInnerMostConditionalAccessExpression(this SyntaxNode node) 281public static bool IsAsyncSupportingFunctionSyntax([NotNullWhen(true)] this SyntaxNode? node) 284public static bool IsCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 287public static bool IsLeftSideOfAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 291public static bool IsLeftSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 294public static bool IsRightSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 297public static bool IsLeftSideOfCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 316public static IEnumerable<ExternAliasDirectiveSyntax> GetEnclosingExternAliasDirectives(this SyntaxNode node) 324public static bool IsUnsafeContext(this SyntaxNode node) 335public static bool IsInStaticContext(this SyntaxNode node) 337for (var current = node; current != null; current = current.Parent) 372public static BaseNamespaceDeclarationSyntax? GetInnermostNamespaceDeclarationWithUsings(this SyntaxNode contextNode) 395public static bool IsBreakableConstruct([NotNullWhen(true)] this SyntaxNode? node) 398public static bool IsContinuableConstruct([NotNullWhen(true)] this SyntaxNode? node) 413public static bool IsReturnableConstruct(this SyntaxNode node) 437public static bool ContainsYield(this SyntaxNode node) 440public static bool IsReturnableConstructOrTopLevelCompilationUnit(this SyntaxNode node) 443public static bool SpansPreprocessorDirective<TSyntaxNode>(this IEnumerable<TSyntaxNode> list) where TSyntaxNode : SyntaxNode 448where TNode : SyntaxNode 496public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, CancellationToken cancellationToken) 500/// Similar to <see cref="ContainsInterleavedDirective(SyntaxNode, CancellationToken)"/> except that the span to check 503public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, TextSpan span, CancellationToken cancellationToken) 542var structure = trivia.GetStructure()!; 584where TSyntaxNode : SyntaxNode 644public static ImmutableArray<SyntaxTrivia> GetLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 647public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 650public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 653public static ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 656public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 659public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 662public static bool IsVariableDeclaratorValue([NotNullWhen(true)] this SyntaxNode? node) 666public static BlockSyntax? FindInnermostCommonBlock(this IEnumerable<SyntaxNode> nodes) 669public static IEnumerable<SyntaxNode> GetAncestorsOrThis(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 671var current = node; 683public static (SyntaxToken openParen, SyntaxToken closeParen) GetParentheses(this SyntaxNode node) 713public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBrackets(this SyntaxNode? node) 726public static SyntaxTokenList GetModifiers(this SyntaxNode? member) 738public static SyntaxNode? WithModifiers(this SyntaxNode? member, SyntaxTokenList modifiers) 749public static void ForEachMember<TArg>(this SyntaxNode? node, Action<MemberDeclarationSyntax, TArg> callback, TArg arg) 774[NotNullWhen(true)] this SyntaxNode? node, 781for (var current = node; current != null; current = current.Parent) 825[NotNullWhen(true)] this SyntaxNode? node, 826[NotNullWhen(true)] out SyntaxNode? deconstructionLeft) 828SyntaxNode? previous = null; 829for (var current = node; current != null; current = current.Parent) 851where T : SyntaxNode 860where T : SyntaxNode 868where T : SyntaxNode 874public static T KeepCommentsAndAddElasticMarkers<T>(this T node) where T : SyntaxNode 879public static SyntaxNode WithPrependedNonIndentationTriviaFrom( 880this SyntaxNode to, SyntaxNode from)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
23public static bool IsLastTokenOfNode<T>(this SyntaxToken token) where T : SyntaxNode 26public static bool IsLastTokenOfNode<T>(this SyntaxToken token, [NotNullWhen(true)] out T? node) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
520var structure = triviaTok.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (1)
201public static bool IsPragmaDirective(this SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\CSharpSyntaxFormatting.cs (2)
45protected override IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null) 48protected override AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> formattingRules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\DefaultOperationProvider.cs (4)
23public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 27public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 35public override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\AggregatedFormattingResult.cs (2)
15public AggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans) 20protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpFormatEngine.cs (1)
16SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpStructuredTriviaFormatEngine.cs (1)
22var root = trivia.GetStructure() ?? throw new ArgumentException();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\FormattingResult.cs (1)
24protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
194var structuredTrivia = trivia.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (5)
20private readonly SyntaxNode _node; 28SyntaxNode node, 43public SyntaxNode Transform() 150public override SyntaxNode? Visit(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (13)
49public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(this SyntaxNode? node) 52public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBracketPair(this SyntaxNode? node) 128public static bool IsLambdaBodyBlock(this SyntaxNode node) 138public static bool IsAnonymousMethodBlock(this SyntaxNode node) 198public static bool IsEmbeddedStatement([NotNullWhen(true)] this SyntaxNode? node) 200SyntaxNode? statementOrElse = node as StatementSyntax; 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 365public static bool IsEmbeddedStatementOwnerWithCloseParen([NotNullWhen(true)] this SyntaxNode? node) 386public static bool IsInitializerForObjectOrAnonymousObjectCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 390var parent = initializer.Parent; 422public static bool IsInitializerForArrayOrCollectionCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 426var parent = initializer.Parent; 446var parent = anonymousObjectInitializer.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (2)
16public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 90private static void AddAnchorIndentationOperation(List<AnchorIndentationOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (2)
134protected static void AddAlignIndentationOfTokensToBaseTokenOperation(List<AlignTokensOperation> list, SyntaxNode containingNode, SyntaxToken baseNode, IEnumerable<SyntaxToken> tokens, AlignTokensOption option = AlignTokensOption.AlignIndentationOfTokensToBaseToken) 150protected static void AddBraceSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (6)
25public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 41private static void AddPropertyDeclarationSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 53private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 70private static void AddCollectionExpressionSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 79private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node) 88private static SyntaxToken? GetLastTokenOfType(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (13)
47public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 61private static void AddTypeParameterConstraintClauseOperation(List<IndentBlockOperation> list, SyntaxNode node) 70private void AddSwitchIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 129private void AddLabelIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 145private static void AddAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode node) 200private static void SetAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode baseNode, SyntaxNode body) 211private void AddBlockIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 248private static void AddBracketIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 289private static void AddParenthesizedPatternIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 315private static void AddEmbeddedStatementsIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 374private static bool IsWithinSwitchExpressionArmPattern(SyntaxNode node) 378for (var current = node; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentUserSettingsFormattingRule.cs (1)
37public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (3)
40private static bool IsControlBlock(SyntaxNode node) 165var currentTokenParentParent = currentToken.Parent.Parent; 369var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\QueryExpressionFormattingRule.cs (3)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 82public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 129public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
568public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 578private void SuppressVariableDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (10)
21public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 36private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 255private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 268private static void AddFormatSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 307static void ProcessStructuredTrivia(ArrayBuilder<SuppressOperation> list, SyntaxNode structure) 361private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 391private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode parent, IEnumerable<SyntaxNode> items) 397foreach (var item in items) 409private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (2)
205var attributeOwner = previousToken.Parent?.Parent; 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (7)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 63private static (SyntaxToken firstToken, SyntaxToken lastToken) GetSpecificNodeSuppressionTokenRange(SyntaxNode node) 88private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 97private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 110private static void RemoveSuppressOperationForStatementMethodDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 133private static void RemoveSuppressOperationForBlock(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 154private static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (3)
25Func<SyntaxNode, bool>? predicate, 28var root = model.SyntaxTree.GetRoot(cancellationToken); 29predicate ??= Functions<SyntaxNode>.True;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (2)
51var common = startToken.GetCommonRoot(endToken); 148public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\AbstractCSharpPrecedenceService.cs (1)
11where TSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (6)
30public override bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 76protected override IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 83foreach (var extractedNode in base.ExtractNodesSimple(node, syntaxFacts)) 98var declaration = declarator.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SelectedMembers\CSharpSelectedMembers.cs (4)
28protected override ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(MemberDeclarationSyntax member) 33v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 35v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 36_ => [(declaration: (SyntaxNode)member, identifier: member.GetNameToken())],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (32)
43public bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 46public bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 49public bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 52public bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 55public bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 58public bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken) 65foreach (var ancestor in token.GetAncestors<SyntaxNode>()) 121SyntaxNode oldNode, 122SyntaxNode newNode, 178public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode node) 192public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 195public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 206public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 218public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 243var node = syntaxRef.GetSyntax(cancellationToken); 254public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 264public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 267public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 271public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 274public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 279public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 301/// cref="ModelExtensions.GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)"/>, but sometimes employs 305private ImmutableArray<ISymbol> GetSymbolInfo(SemanticModel semanticModel, SyntaxNode node, SyntaxToken token, CancellationToken cancellationToken) 431public bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 440var node = syntaxReference.GetSyntax(cancellationToken); 442foreach (var localFunction in node.DescendantNodes().Where(CSharpSyntaxFacts.Instance.IsLocalFunctionStatement)) 455public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken) 458public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 461public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 477private static bool IsInPreprocessingSymbolContext(SyntaxNode node) 487public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpAccessibilityFacts.cs (3)
20public bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false) 88public Accessibility GetAccessibility(SyntaxNode declaration) 152public static SyntaxTokenList GetModifierTokens(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (8)
21public override bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node) 24public override bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node) 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 47public override SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes) 50public override bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpDocumentationCommentService.cs (1)
35protected override SyntaxNode GetName(XmlElementSyntax xmlElement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (18)
24public override bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 50public override bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 56public override bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 62public override bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 68public override bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 74public override bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 83public override bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 89public override bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 95public override bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (319)
142public bool IsDirective([NotNullWhen(true)] SyntaxNode? node) 145public bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? node, out ExternalSourceInfo info) 166public bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 172public bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 175public bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 182public SyntaxNode? GetStandaloneExpression(SyntaxNode? node) 185public SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node) 188public bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node) 191public bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node) 194public bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node) 197public SyntaxNode? GetParameterList(SyntaxNode node) 200public bool IsParameterList([NotNullWhen(true)] SyntaxNode? node) 203public bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node) 207public bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node) 210public void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name) 218public bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node) 221public bool IsUsingLocalDeclarationStatement([NotNullWhen(true)] SyntaxNode? node) 224public bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node) 227public Location GetDeconstructionReferenceLocation(SyntaxNode node) 237public bool IsStatement([NotNullWhen(true)] SyntaxNode? node) 240public bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node) 243public bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node) 246public SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node) 249public bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node) 261public SyntaxNode GetExpressionOfRefExpression(SyntaxNode node) 264public SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node) 275public bool HasImplicitBaseConstructorInitializer(SyntaxNode node) 311public bool IsPredefinedType(SyntaxNode? node) 314public bool IsPredefinedType(SyntaxNode? node, PredefinedType type) 535public bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node) 538public bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node) 541public bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 544public bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 547public void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity) 554public bool LooksGeneric(SyntaxNode simpleName) 558public SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName) 561public SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node) 564public SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node) 567public SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget) 570public void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList) 577public SyntaxNode GetExpressionOfInterpolation(SyntaxNode node) 580public bool IsInStaticContext(SyntaxNode node) 583public bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node) 586public bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node) 589public SyntaxNode GetExpressionOfArgument(SyntaxNode node) 592public SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node) 595public RefKind GetRefKindOfArgument(SyntaxNode node) 598public bool IsArgument([NotNullWhen(true)] SyntaxNode? node) 601public bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node) 604public bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node) 611public bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node) 614public bool IsInConstructor(SyntaxNode node) 617public bool IsUnsafeContext(SyntaxNode node) 620public bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node) 623public SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position) 627.GetAncestors<SyntaxNode>() 631public SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node) 634public bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node) 639public bool IsPropertyPatternClause(SyntaxNode node) 643[NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance) 651var withInitializer = identifier.Parent.GetRequiredParent(); 657var objectInitializer = identifier.Parent.GetRequiredParent(); 674public bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? expression) 678public bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression) 693public bool IsElementAccessExpression(SyntaxNode? node) 697public SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false) 700public SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 703public SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 706private static SyntaxNode? GetContainingMemberDeclaration<TMemberDeclarationSyntax>(SyntaxNode root, int position, bool useFullSpan = true) 719var node = root.FindToken(position).Parent; 737public bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node) 745public bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node) 748public string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null) 772var parent = node.GetAncestor<TypeDeclarationSyntax>() ?? node.Parent; 810private string? GetName(SyntaxNode node, DisplayNameOptions options) 901public SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode node) 904public SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode node) 907public SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode node) 910protected override void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel) 934public TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node) 939var member = GetContainingMemberDeclaration(node, node.SpanStart); 950public SyntaxNode? TryGetBindableParent(SyntaxToken token) 952var node = token.Parent; 955var parent = node.Parent; 1039var structure = triviaTok.GetStructure(); 1051public string GetNameForArgument(SyntaxNode? argument) 1054public string GetNameForAttributeArgument(SyntaxNode? argument) 1057public bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node) 1060public SyntaxNode? GetRightSideOfDot(SyntaxNode? node) 1066public SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget) 1072public bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node) 1075public bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node) 1078public bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node) 1081public bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node) 1084public SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node) 1087public bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node) 1090public bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node) 1093public static bool IsOperandOfDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1096public bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1099public SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString) 1115public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode objectCreationExpression) 1120public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode argumentList) 1123public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode argumentList) 1135public bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes) 1141public bool IsDocumentationComment(SyntaxNode node) 1144public bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node) 1147public bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node) 1150public bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node) 1153private static bool IsGlobalAttribute([NotNullWhen(true)] SyntaxNode? node, SyntaxKind attributeTarget) 1158public bool IsDeclaration(SyntaxNode? node) 1207public bool IsTypeDeclaration(SyntaxNode node) 1210public bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1213public bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1217SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1224SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1226var expression = statement; 1238public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node) 1241public SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node) 1244public SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node) 1252public bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement) 1259public bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2) 1262public static SyntaxNode GetExpressionOfInvocationExpression(SyntaxNode node) 1265public bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node) 1268public SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node) 1271public void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 1272out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode 1276arguments = (SeparatedSyntaxList<TArgumentSyntax>)(SeparatedSyntaxList<SyntaxNode>)tupleExpression.Arguments; 1283public SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken) 1286public ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken) 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>(); 1292public SyntaxTokenList GetModifiers(SyntaxNode? node) 1296public SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers) 1299public SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node) 1302public SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node) 1305public SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node) 1308public SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node) 1311public SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node) 1314public bool IsEqualsValueOfPropertyDeclaration(SyntaxNode? node) 1317public bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node) 1320public bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node) 1323public void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression) 1340public SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node) 1343public bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node) 1346public SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia) 1356public void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type) 1363public void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right) 1371public bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node) 1374public SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node) 1377public void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation) 1384public void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation) 1400public bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node) 1403public bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node) 1406public void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen) 1414public void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1422public void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern) 1429public void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression) 1436public SyntaxNode GetTypeOfTypePattern(SyntaxNode node) 1439public bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node) 1454public bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node) 1457public bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node) 1460public bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node) 1463public bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node) 1466public bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 1469public bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node) 1472public bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node) 1475public bool IsAnyName([NotNullWhen(true)] SyntaxNode? node) 1478public bool IsAnyType([NotNullWhen(true)] SyntaxNode? node) 1481public bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1484public bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node) 1487public bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1490public bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node) 1497public void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name) 1505public void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken) 1513public void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList) 1520public void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1527public void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1535public void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members) 1544SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull) 1552public void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse) 1560public SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement) 1566public void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments) 1573public void GetPartsOfInterpolationExpression(SyntaxNode node, 1574out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken) 1582public void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList) 1589public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name) 1597public void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members) 1605public void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode identifier, out SyntaxNode expression) 1612public void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1621public void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer) 1629public void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default) 1637SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen) 1645public void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken) 1652public void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand) 1659public void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1671public SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node) 1674public SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node) 1677public SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node) 1680public SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node) 1683public SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node) 1686public SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node) 1689public SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node) 1692public SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
829var parent = castNode.WalkUpParentheses().GetRequiredParent(); 1165private static bool IsExplicitCast(SyntaxNode node) 1304for (SyntaxNode? current = expression; current != null; current = current.Parent) 1319for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1375for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1404for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (13)
92var parent = endToken.Parent; 112var parent = endToken.Parent; 147var container = GetTopContainingNode(parent); 164var parent = endToken.Parent; 180var containerOfList = parent.Parent; 196var parentOfParent = parent.Parent; 224var containerOfBlock = GetTopContainingNode(parent); 264var parent = endToken.Parent; 331var labelNode = previousToken.Parent.Parent; 346private static bool IsSpecialContainingNode(SyntaxNode node) 372private static SyntaxNode? GetTopContainingNode([DisallowNull] SyntaxNode? node) 382var lastSpecialContainingNode = node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (19)
71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 75SyntaxNode previousNode = null; 76SyntaxNode parentNodeToSpeculate = null; 77foreach (var node in expression.AncestorsAndSelf(ascendOutOfTrivia: false)) 95public static bool CanSpeculateOnNode(SyntaxNode node) 104protected override void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate) 113protected override SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 116public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 123public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode nodeToSpeculate, SemanticModel semanticModel, int position, bool isInNamespaceOrTypeContext) 196SyntaxNode originalLambdaBody, replacedLambdaBody; 275SyntaxNode originalRoot) 295protected override bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode previousOriginalNode, SyntaxNode previousReplacedNode) 580protected override bool ExpressionMightReferenceMember(SyntaxNode node) 662protected override bool IsParenthesizedExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (2)
38if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration) 59internal TypeSyntax? FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (4)
36SyntaxNode declaration, SemanticModel semanticModel, 107private static bool IsPredefinedTypeInDeclaration(SyntaxNode declarationStatement, SemanticModel semanticModel) 146private static bool IsInferredPredefinedType(SyntaxNode declarationStatement, SemanticModel semanticModel) 155private static TypeSyntax? GetTypeSyntaxFromDeclaration(SyntaxNode declarationStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (3)
169var root = tree.GetRoot(cancellationToken); 175var newRoot = root.ReplaceNode( 182var newDeclarationTypeNode = newTree.GetRoot(cancellationToken).GetAnnotatedNodes(annotation).Single();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
11internal sealed class UsingsAndExternAliasesDirectiveComparer : IComparer<SyntaxNode?> 13public static readonly IComparer<SyntaxNode> NormalInstance = new UsingsAndExternAliasesDirectiveComparer( 17public static readonly IComparer<SyntaxNode> SystemFirstInstance = new UsingsAndExternAliasesDirectiveComparer( 78public int Compare(SyntaxNode? directive1, SyntaxNode? directive2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (7)
27var newLineTrivia = ((IEnumerable<SyntaxNode>)externAliasList) 119var initialList = usingList.Cast<SyntaxNode>() 161private static void EnsureNewLines(IList<SyntaxNode> list, SyntaxTrivia newLineTrivia) 167var node = list[i]; 180var node = list[i]; 187private static SyntaxNode TrimLeadingNewLines(SyntaxNode node)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (769)
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (7)
25protected override SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 28protected override bool IsFunctionDeclaration(SyntaxNode node) 31protected override SyntaxNode GetBody(SyntaxNode methodNode) 34protected override SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (3)
36public async Task<SyntaxNode> ReplaceAsync( 38SyntaxNode memberDeclaration, 43foreach (var child in memberDeclaration.DescendantNodes())
src\cef93d2425d77fca\CSharpAddParenthesesAroundConditionalExpressionInInterpolatedStringCodeFixProvider.cs (5)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 66var syntaxRoot = await documentWithOpenParenthesis.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 67var nodeAtInsertPosition = syntaxRoot.FindNode(new TextSpan(openParenthesisPosition, 0)); 117var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120var newRoot = root.ReplaceNode(parenthesizedExpression, parenthesizedExpressionWithClosingParen);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddAccessibilityModifiers\CSharpAddAccessibilityModifiersCodeFixProvider.cs (2)
18protected override SyntaxNode MapToDeclarator(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddBraces\CSharpAddBracesCodeFixProvider.cs (2)
34var root = editor.OriginalRoot; 37var statement = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (2)
15private sealed class ArgumentFixer : Fixer<ArgumentSyntax, ArgumentListSyntax, SyntaxNode> 31var newInvocation = newArgumentList.Parent!;
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (5)
40protected override void GetPartsOfCastOrConversionExpression(ExpressionSyntax expression, out SyntaxNode type, out ExpressionSyntax castedExpression) 53SyntaxNode root, 72&& argumentList.Parent is SyntaxNode invocationNode) 89protected override (SyntaxNode finalTarget, SyntaxNode finalReplacement) Cast(
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddInheritdoc\AddInheritdocCodeFixProvider.cs (3)
40var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var node = root.FindNode(diagnostic.Location.SourceSpan); 75var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (3)
49protected override ITypeSymbol GetArgumentType(SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken) 57SyntaxNode node, 62var constructorDeclaration = constructorInitializer.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (25)
32var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46protected abstract void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location); 48private static (SyntaxNode container, SyntaxNode exprOrStatement) GetContainer(SyntaxNode root, TextSpan span) 50var location = root.FindNode(span); 53var container = GetContainer(location); 63private static bool IsValidLocation(SyntaxNode location) 80private static SyntaxNode? GetContainer(SyntaxNode node) 82for (var current = node; current != null; current = current.Parent) 94private static async Task<MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>> GetUnassignedParametersAsync( 97var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 104var result = new MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>(); 107var container = group.Key; 117foreach (var exprOrStatement in distinctExprsOrStatements) 140foreach (var container in unassignedParameters.Keys.OrderByDescending(n => n.Span.Start)) 148SyntaxEditor editor, SyntaxNode container, 149MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 152protected static ImmutableArray<SyntaxNode> GenerateAssignmentStatements( 155var result = ArrayBuilder<SyntaxNode>.GetInstance();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAboveReturnCodeFixProvider.cs (8)
26protected override void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location) 32SyntaxEditor editor, SyntaxNode container, 33MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 44SyntaxEditor editor, SyntaxNode exprOrStatement, ImmutableArray<SyntaxNode> statements) 56var parent = exprOrStatement.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (6)
24protected override void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location) 51SyntaxEditor editor, SyntaxNode container, 52MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 62var updatedContainer = generator.WithStatements(
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (9)
81private static (SyntaxNode root, TextSpan semicolonSpan) ReplaceWithFileScopedNamespace( 85var updatedRoot = document.Root.ReplaceNode( 113var root = document.Root; 119(SyntaxNode stringNode, int closeTerminatorIndentationLength) lastRawStringLiteralData = default; 135SyntaxNode stringNode; 199var root = document.Root; 214SyntaxTree tree, SyntaxNode root, string indentation, TextLine textLine, CancellationToken cancellationToken) 245var updatedRoot = ReplaceWithBlockScopedNamespace(parsedDocument, fileScopedNamespace, options.NewLine, options.NewLines, annotation); 259private static SyntaxNode ReplaceWithBlockScopedNamespace(
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
298public override ExpressionSyntax DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToAsync\CSharpConvertToAsyncMethodCodeFixProvider.cs (7)
34SyntaxNode node, 45protected override async Task<(SyntaxTree syntaxTree, SyntaxNode root)?> GetRootInOtherSyntaxTreeAsync( 46SyntaxNode node, 55var oldRoot = await methodDeclaration.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 56var newRoot = oldRoot.ReplaceNode(methodDeclaration, ConvertToAsyncFunction(methodDeclaration)); 61SyntaxNode node, 65var invocationExpression = node.ChildNodes().FirstOrDefault(n => n.IsKind(SyntaxKind.InvocationExpression));
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
697private static SyntaxTriviaList? GetExteriorTrivia(SyntaxNode declaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\CSharpConvertToRecordCodeFixProvider.cs (1)
36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertTypeOfToNameOf\CSharpConvertTypeOfToNameOfCodeFixProvider.cs (3)
27protected override SyntaxNode ConvertToUnboundGeneric(ParseOptions options, SyntaxNode nameOfSyntax) 32protected override SyntaxNode GetSymbolTypeExpression(SemanticModel model, MemberAccessExpressionSyntax node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
61var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\DocumentationComments\CSharpAddDocCommentNodesCodeFixProvider.cs (2)
40protected override SyntaxNode? TryGetDocCommentNode(SyntaxTriviaList leadingTrivia) 46var nodeStructure = node.GetStructure()!;
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixIncorrectConstraint\CSharpFixIncorrectConstraintCodeFixProvider.cs (1)
86var newType = generator.TypeExpression(compilation.GetSpecialType(
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (4)
66var node = location.FindNode(getInnermostNodeForTie: true, cancellationToken); 67var returnedValue = node is ReturnStatementSyntax returnStatement ? returnStatement.Expression : node; 134private static (TypeSyntax type, bool isAsync) TryGetDeclarationTypeToFix(SyntaxNode node) 138static (TypeSyntax type, bool isAsync) TryGetReturnTypeToFix(SyntaxNode containingMember)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (7)
31protected override bool IsSimpleNameGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 34protected override bool IsConstructorInitializerGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 37protected override bool IsImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 42SyntaxNode node, 80SyntaxNode node, 112SyntaxNode node, 147SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\GenerateConstructorCodeFixProvider.cs (4)
41Document document, SyntaxNode node, CancellationToken cancellationToken) 47protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 50protected override SyntaxNode? GetTargetNode(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsCodeFixProvider.cs (1)
28protected override SyntaxToken? TryGetTypeName(SyntaxNode typeDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsService.cs (1)
35if (helpers.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, out var typeDeclaration) ||
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (1)
22protected override bool IsIdentifierNameGeneration(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\GenerateEnumMemberCodeFixProvider.cs (2)
31protected override Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 37protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (4)
34protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 46protected override SyntaxNode? GetTargetNode(SyntaxNode node) 58Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (4)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var deconstruction = token.GetAncestors<SyntaxNode>() 58SyntaxNode target;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (4)
53protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 65protected override SyntaxNode? GetTargetNode(SyntaxNode node) 81Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (6)
27protected override bool IsImplicitConversionGeneration(SyntaxNode node) 35protected override bool IsExplicitConversionGeneration(SyntaxNode node) 55SyntaxNode expression, 81SyntaxNode expression, 107SyntaxNode expression, 166SyntaxNode expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (1)
38public override ImmutableArray<IParameterSymbol> TryMakeParameters(SemanticModel semanticModel, SyntaxNode target, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (3)
28protected override bool IsExplicitInterfaceGeneration(SyntaxNode node) 31protected override bool IsSimpleNameGeneration(SyntaxNode node) 48SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateVariable\CSharpGenerateVariableCodeFixProvider.cs (4)
36protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 39protected override SyntaxNode? GetTargetNode(SyntaxNode node) 48Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.AddNewKeywordAction.cs (4)
23Document document, SyntaxNode node, CancellationToken cancellationToken) 25var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 31private static SyntaxNode GetNewNode(SyntaxNode node, Dictionary<int, int>? preferredOrder)
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.cs (9)
32private static SyntaxNode? GetOriginalNode(SyntaxNode root, Diagnostic diagnostic) 37var originalNode = token.GetAncestor<PropertyDeclarationSyntax>() ?? 39(SyntaxNode?)token.GetAncestor<FieldDeclarationSyntax>(); 45var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 47var originalNode = GetOriginalNode(root, context.Diagnostics.First()); 63var root = editor.OriginalRoot; 66var originalNode = GetOriginalNode(root, diagnostic); 70var newNode = GetNewNode(originalNode, modifierOrder);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (7)
36protected override bool IsTypeInInterfaceBaseList(SyntaxNode? type) 39protected override void AddInterfaceTypes(TypeDeclarationSyntax typeDeclaration, ArrayBuilder<SyntaxNode> result) 49Document document, SemanticModel model, SyntaxNode node, CancellationToken cancellationToken, 50[NotNullWhen(true)] out SyntaxNode? classOrStructDecl, 94protected override SyntaxNode AddCommentInsideIfStatement(SyntaxNode ifStatement, SyntaxTriviaList trivia) 101protected override SyntaxNode CreateFinalizer(
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (14)
62var originalRoot = editor.OriginalRoot; 69static t => (t.invocationOrCreation, ImmutableArray.Create<SyntaxNode>(t.identifier, t.declarator)), 78private static (VariableDeclaratorSyntax declarator, IdentifierNameSyntax identifier, SyntaxNode invocationOrCreation) FindDiagnosticNodes( 94private static SyntaxNode ReplaceIdentifierWithInlineDeclaration( 97SyntaxNode currentRoot, VariableDeclaratorSyntax declarator, 98IdentifierNameSyntax identifier, SyntaxNode currentNode, 118var block = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(localDeclarationStatement); 324SyntaxNode nodeToReplace, 340var topmostContainer = GetTopmostContainer(nodeToReplace); 349var updatedTopmostContainer = topmostContainer.ReplaceNode( 360var updatedInvocationOrCreation = updatedTopmostContainer.GetAnnotatedNodes(annotation).Single(); 373private static SyntaxNode GetTopmostContainer(SyntaxNode expression) 384int position, SyntaxNode topmostContainer,
src\roslyn\src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
146private static T AppendTriviaWithoutEndOfLines<T>(T newStatement, IfStatementSyntax ifStatement) where T : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (6)
45protected override async Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken) 103SyntaxNode node, SemanticModel model, CancellationToken cancellationToken, 211SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 214var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpChangeToIEnumerableCodeFixProvider.cs (2)
36protected override async Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeAnonymousFunctionStatic\CSharpMakeAnonymousFunctionStaticCodeFixProvider.cs (1)
42var anonymousFunction = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeFieldReadonly\CSharpMakeFieldReadonlyCodeFixProvider.cs (1)
20protected override SyntaxNode? GetInitializerNode(VariableDeclaratorSyntax declaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (7)
32var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64var referenceNode = root.FindNode(location.Location.SourceSpan); 135var referenceNode = root.FindNode(referenceSpan); 150var localFunctionBodyOperation = semanticModel.GetOperation(localFunction.Body ?? (SyntaxNode)localFunction.ExpressionBody!.Expression, cancellationToken); 199public static SyntaxNode AddStaticModifier(SyntaxNode localFunction, SyntaxGenerator generator)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixProvider.cs (1)
34foreach (var localFunction in localFunctions)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\PassInCapturedVariablesAsArgumentsCodeFixProvider.cs (1)
66var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMemberRequired\CSharpMakeMemberRequiredCodeFixProvider.cs (4)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 43var node = root.FindNode(span); 111var root = editor.OriginalRoot; 118var memberDeclarator = root.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMemberStatic\CSharpMakeMemberStaticCodeFixProvider.cs (2)
23protected override bool TryGetMemberDeclaration(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? memberDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodAsynchronous\CSharpMakeMethodAsynchronousCodeFixProvider.cs (4)
49var root = diagnostic.Location.SourceTree.GetRoot(cancellationToken); 67protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 74protected override SyntaxNode FixMethodSignature( 78SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodSynchronous\CSharpMakeMethodSynchronousCodeFixProvider.cs (5)
30protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 33protected override SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTaskTypes knownTypes) 44private static SyntaxNode FixMethod(IMethodSymbol methodSymbol, MethodDeclarationSyntax method, KnownTaskTypes knownTypes) 50private static SyntaxNode FixLocalFunction(IMethodSymbol methodSymbol, LocalFunctionStatementSyntax localFunction, KnownTaskTypes knownTypes)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeRefStruct\MakeRefStructCodeFixProvider.cs (4)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 71var newStruct = generator.WithModifiers( 74var newRoot = root.ReplaceNode(structDeclaration, newStruct);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStatementAsynchronous\CSharpMakeStatementAsynchronousCodeFixProvider.cs (9)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 38var constructToFix = TryGetStatementToFix(node); 53var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 54var statementToFix = TryGetStatementToFix(node); 62private static void MakeStatementAsynchronous(SyntaxEditor editor, SyntaxNode statementToFix) 64SyntaxNode newStatement; 94private static SyntaxNode? TryGetStatementToFix(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableCodeFixProvider.cs (1)
41var diagnosticNode = diagnostic.Location.FindNode(cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyCodeFixProvider.cs (2)
43foreach (var declaration in declarations.OrderByDescending(t => t.SpanStart)) 99TNode UpdateReadOnlyModifier<TNode>(TNode node, bool add) where TNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructReadOnly\CSharpMakeStructReadOnlyCodeFixProvider.cs (1)
41foreach (var typeDeclaration in typeDeclarations.OrderByDescending(t => t.SpanStart))
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeTypeAbstract\CSharpMakeTypeAbstractCodeFixProvider.cs (1)
22protected override bool IsValidRefactoringContext(SyntaxNode? node, [NotNullWhen(true)] out TypeDeclarationSyntax? typeDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MisplacedUsingDirectives\MisplacedUsingDirectivesCodeFixProvider.cs (6)
62var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 175usingDirective => (SyntaxNode)usingDirective, 187private static async Task<SyntaxNode> ExpandUsingDirectiveAsync(Document document, UsingDirectiveSyntax usingDirective, CancellationToken cancellationToken) 321private static SyntaxList<MemberDeclarationSyntax> GetMembers(SyntaxNode node) 329private static TSyntaxNode RemoveLeadingBlankLinesFromFirstMember<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 367private static TSyntaxNode EnsureLeadingBlankLineBeforeFirstMember<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementCodeFixProvider.cs (3)
49var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 55var newRoot = root.ReplaceTokens(tokenToToken.Keys, (t1, _) => tokenToToken[t1]); 61SyntaxNode root, SourceText text,
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConstructorInitializerPlacement\ConstructorInitializerPlacementCodeFixProvider.cs (2)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 82var newRoot = root.ReplaceTokens(replacementMap.Keys, (original, _) => replacementMap[original]);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementCodeFixProvider.cs (6)
47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 68var root = editor.OriginalRoot; 69var node = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan); 88var updatedStatement = AddLeadingTrivia(currentBadStatement, endOfLineTrivia); 127private static SyntaxNode AddLeadingTrivia(SyntaxNode node, SyntaxTrivia trivia)
src\roslyn\src\Analyzers\CSharp\CodeFixes\Nullable\CSharpDeclareAsNullableCodeFixProvider.cs (11)
46var node = context.Diagnostics.First().Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 56private static string GetEquivalenceKey(SyntaxNode node) 86var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 94var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 99Document document, SemanticModel model, SyntaxEditor editor, SyntaxNode node, HashSet<TypeSyntax> alreadyHandled, CancellationToken cancellationToken) 111Document document, SemanticModel? model, SyntaxNode node, CancellationToken cancellationToken) 118var containingMember = node.GetAncestors().FirstOrDefault( 175var syntax = local.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 186var syntax = field.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 203var syntax = property.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 314private static bool IsExpressionSupported(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\QualifyMemberAccess\CSharpQualifyMemberAccessCodeFixProvider.cs (1)
23var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (7)
30protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 33protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody) 51protected override SyntaxNode RemoveAsyncModifier(SyntaxGenerator generator, SyntaxNode methodLikeNode) 63private static SyntaxNode AnnotateBlock(SyntaxGenerator generator, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\RemoveAsyncModifierHelpers.cs (5)
12internal static SyntaxNode WithoutAsyncModifier(MethodDeclarationSyntax method, TypeSyntax returnType) 18internal static SyntaxNode WithoutAsyncModifier(LocalFunctionStatementSyntax localFunction, TypeSyntax returnType) 24internal static SyntaxNode WithoutAsyncModifier(ParenthesizedLambdaExpressionSyntax lambda) 27internal static SyntaxNode WithoutAsyncModifier(SimpleLambdaExpressionSyntax lambda) 30internal static SyntaxNode WithoutAsyncModifier(AnonymousMethodExpressionSyntax method)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (5)
59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 66var node = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 70var updatedNode = negate 74var isNode = updatedNode.DescendantNodesAndSelf().First( 86var isWithoutSuppression = updatedNode.ReplaceNode(suppression, withoutSuppression);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveInKeyword\RemoveInKeywordCodeFixProvider.cs (2)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveNewModifier\RemoveNewModifierCodeFixProvider.cs (2)
33var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 62var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnneccessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierCodeFixProvider.cs (3)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52var root = editor.OriginalRoot; 66var node = root.FindNode(span, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (1)
41var discard = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveCodeFixProvider.cs (1)
85var node = token.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryParenthesesCodeFixProvider.cs (2)
18: AbstractRemoveUnnecessaryParenthesesCodeFixProvider<SyntaxNode> 20protected override bool CanRemoveParentheses(SyntaxNode current, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (2)
42var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 86var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnreachableCode\CSharpRemoveUnreachableCodeCodeFixProvider.cs (1)
78static void RemoveStatement(SyntaxEditor editor, SyntaxNode statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedLocalFunction\CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (1)
38var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedMembers\CSharpRemoveUnusedMembersCodeFixProvider.cs (1)
26protected override void AdjustAndAddAppropriateDeclaratorsToRemove(HashSet<FieldDeclarationSyntax> fieldDeclarators, HashSet<SyntaxNode> declarators)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (15)
44protected override SyntaxNode? TryUpdateNameForFlaggedNode(SyntaxNode node, SyntaxToken newName) 91protected override SyntaxNode? TryUpdateParentOfUpdatedNode(SyntaxNode parent, SyntaxNode newNameNode, SyntaxEditor editor, ISyntaxFacts syntaxFacts, SemanticModel semanticModel) 141protected override SyntaxNode ComputeReplacementNode(SyntaxNode originalOldNode, SyntaxNode changedOldNode, SyntaxNode proposedReplacementNode) 183protected override SyntaxNode GetReplacementNodeForCompoundAssignment( 184SyntaxNode originalCompoundAssignment, 185SyntaxNode newAssignmentTarget, 241protected override SyntaxNode GetReplacementNodeForVarPattern(SyntaxNode originalVarPattern, SyntaxNode newNameNode)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (9)
40var syntaxRoot = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 65Document document, TextSpan span, SyntaxNode newExpression, CancellationToken cancellationToken) 67var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 72var newRoot = syntaxRoot.ReplaceNode(defaultLiteral, newExpression.WithTriviaFrom(defaultLiteral)); 76private static (SyntaxNode newExpression, string displayText) GetReplacementExpressionAndText( 102var newLiteral = generator.LiteralExpression(constant.Value); 107var defaultExpression = generator.DefaultExpression(type); 114(SyntaxNode newExpression, string displayText) GenerateMemberAccess(string memberName) 116var memberAccess = generator.MemberAccessExpression(generator.TypeExpression(type), memberName);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (4)
44protected override PropertyDeclarationSyntax GetPropertyDeclaration(SyntaxNode node) 56protected override SyntaxNode GetNodeToRemove(VariableDeclaratorSyntax declarator) 80protected override async Task<SyntaxNode> UpdatePropertyAsync( 222SyntaxNode propertyDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\UseAutoPropertyRewriter.cs (2)
21public override SyntaxNode? VisitMemberAccessExpression(MemberAccessExpressionSyntax node) 41public override SyntaxNode? VisitIdentifierName(IdentifierNameSyntax node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (3)
22SemanticModel semanticModel, SyntaxNode expressionToCoalesce, 23SyntaxNode leftAssignmentPart, SyntaxNode rightAssignmentPart,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (9)
44where TMatchNode : SyntaxNode 109var updatedRoot = document.Root.ReplaceNode( 608string? preferredIndentation) where TNode : SyntaxNode 634SyntaxNode GetAnchorNode(SyntaxNode node) 656for (var current = node; current != null; current = current.Parent) 719string preferredIndentation) where TNode : SyntaxNode 825foreach (var component in GetElementComponents(node)) 839static IEnumerable<SyntaxNode> GetElementComponents(TMatchNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (2)
43var originalRoot = editor.OriginalRoot; 96static bool IsOnSingleLine(SourceText sourceText, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderCodeFixProvider.cs (6)
58var root = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 96static AnalysisResult TrackAnalysisResult(SyntaxNode root, AnalysisResult analysisResult) 100analysisResult.Matches.SelectAsArray(m => new CollectionMatch<SyntaxNode>(root.GetCurrentNode(m.Node)!, m.UseSpread, m.UseKeyValue)), 111using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToTrack); 113var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120var newRoot = root.TrackNodes(nodesToTrack);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyCodeFixProvider.cs (2)
25: AbstractUseCollectionExpressionCodeFixProvider<SyntaxNode>( 36SyntaxNode diagnosticNode,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionExpression.cs (2)
23ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 24ImmutableArray<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionInitializer.cs (3)
26ImmutableArray<CollectionMatch<SyntaxNode>> matches) 38UseInitializerHelpers.AddExistingItems<CollectionMatch<SyntaxNode>, ExpressionSyntax>( 72where TNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (4)
37protected override async Task<(SyntaxNode, SyntaxNode)> GetReplacementNodesAsync( 41ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 42ImmutableArray<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
50var coalesceOrIfStatement = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 90var coalesce = coalesceOrIfStatement;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (1)
49List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (3)
55private SyntaxNode UpdateRoot( 58SyntaxNode root, 59SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDefaultLiteral\CSharpUseDefaultLiteralCodeFixProvider.cs (1)
48var originalRoot = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
98var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitTypeForConst\UseExplicitTypeForConstCodeFixProvider.cs (3)
39var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 67var newRoot = root.ReplaceNode(variableDeclaration.Type, type.GenerateTypeSyntax(allowVar: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBody\UseExpressionBodyCodeFixProvider.cs (2)
81var declaration = declarationLocation.FindNode(getInnermostNodeForTie: true, cancellationToken); 84var updatedDeclaration = helper.Update(semanticModel, declaration, useExpressionBody, cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitlyTypedLambdaExpression\CSharpUseImplicitObjectCreationCodeFixProvider.cs (2)
60private static SyntaxNode FixOne(SyntaxNode root, ParenthesizedLambdaExpressionSyntax explicitLambda)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitObjectCreation\CSharpUseImplicitObjectCreationCodeFixProvider.cs (2)
69private static SyntaxNode FixOne(SyntaxNode root, ObjectCreationExpressionSyntax objectCreation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (7)
52var root = editor.OriginalRoot; 56var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 63SyntaxNode node, CancellationToken cancellationToken) 65var declarationContext = node.Parent; 141SyntaxNode declarationSyntax, 164SyntaxNode declarationSyntax, 246private static ITypeSymbol GetConvertedType(SemanticModel semanticModel, SyntaxNode typeSyntax, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseImplicitTypeCodeFixProvider.cs (1)
43var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
41var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (2)
62private static SyntaxNode UpdateInvocation( 63SemanticModel semanticModel, SyntaxNode currentRoot,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseInferredMemberName\CSharpUseInferredMemberNameCodeFixProvider.cs (1)
18protected override void LanguageSpecificRemoveSuggestedNode(SyntaxEditor editor, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (5)
33private static SyntaxNode CreateEqualsNullCheck(ExpressionSyntax argument) 36private static SyntaxNode CreateIsNullCheck(ExpressionSyntax argument) 39private static SyntaxNode CreateIsNotNullCheck(ExpressionSyntax argument) 58protected override SyntaxNode CreateNullCheck(ExpressionSyntax argument, bool isUnconstrainedGeneric) 63protected override SyntaxNode CreateNotNullCheck(ExpressionSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (2)
42var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 43SyntaxNode replacement = node switch
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsCodeFixProvider.cs (8)
128var scope = GetLabelScope(labelDeclaration, cancellationToken); 157var deadNodes = pattern.AssignmentAndBreakSites.Select(static site => (SyntaxNode)site.Assignment) 158.Concat(pattern.GuardStatements.Select(static guard => (SyntaxNode)guard)) 159.Concat(pattern.ResetStatements.Select(static reset => (SyntaxNode)reset)); 161deadNodes = deadNodes.Concat([(SyntaxNode)declaration]); 164.Select(static site => (SyntaxNode)site.Break) 210private static SyntaxNode GetLabelScope(SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (7)
63var nodesToTrack = new HashSet<SyntaxNode>(); 84var root = editor.OriginalRoot; 85var currentRoot = root.TrackNodes(nodesToTrack); 154private static SyntaxNode ReplaceAnonymousWithLocalFunction( 155SolutionServices services, SyntaxNode currentRoot, 179private static SyntaxNode ReplaceReferences( 180Document document, SyntaxNode currentRoot,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNameofInAttribute\CSharpUseNameofInAttributeCodeFixProvider.cs (1)
42var expression = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
41protected override SyntaxNode PostProcessElseIf(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\UseInitializerHelpers.cs (1)
41where TElementSyntax : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (1)
78var expression = editor.OriginalRoot.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (1)
48var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (4)
43using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var statementParentScopes); 58foreach (var parentScope in statementParentScopes) 97var rightSideOfComparison = comparison is BinaryExpressionSyntax binaryExpression 98? (SyntaxNode)binaryExpression.Right
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpUseNotPatternCodeFixProvider.cs (1)
56var negated = editor.Generator.Negate(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider_DocComments.cs (3)
34private static SyntaxTrivia GetDocComment(SyntaxNode node) 69ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)> removedMembers) 167ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)> removedMembers,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (14)
311SyntaxNode TryQualify( 326SyntaxNode CreateDottedName( 342Func<TListSyntax, IEnumerable<SyntaxNode>> getElements) 343where TListSyntax : SyntaxNode 373static string GetLeadingWhitespace(SyntaxNode node) 474var declaration = member.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 483SyntaxNode UpdateDeclaration(SyntaxNode declaration, AssignmentExpressionSyntax assignmentExpression, ExpressionStatementSyntax? expressionStatement) 510async ValueTask<ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)>> RemoveMembersAsync() 512var removedMembers = ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)>.Empty; 554(ISymbol? member, MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove) GetMemberToRemove(string memberName) 558if (IsViableMemberToAssignTo(namedType, member, out var memberNode, out var nodeToRemove, cancellationToken)) 574using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var nodesToReplace); 612foreach (var nodeToReplace in group)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSimpleUsingStatement\UseSimpleUsingStatementCodeFixProvider.cs (7)
52var root = editor.OriginalRoot; 53var updatedRoot = root.ReplaceNodes( 60private static SyntaxNode RewriteBlock( 61SyntaxNode originalBlockLike, 62SyntaxNode currentBlockLike, 96private static SyntaxNode WithStatements( 97SyntaxNode currentBlockLike,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
96var lockTypeExpression = generator
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseThrowExpression\UseThrowExpressionCodeFixProvider.cs (5)
43var root = editor.OriginalRoot; 47var ifStatement = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan); 48var throwStatementExpression = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 49var assignmentValue = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 50var assignmentExpressionStatement = root.FindNode(diagnostic.AdditionalLocations[3].SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUnboundGenericTypeInNameOf\CSharpUseUnboundGenericTypeInNameOfCodeFixProvider.cs (1)
57where TSyntax : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (4)
55var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 95var node = location.FindNode(getInnermostNodeForTie: true, cancellationToken); 151private static SyntaxNode CreateArgumentListWithUtf8String(BaseArgumentListSyntax argumentList, Location location, string stringValue, bool isConvertedToReadOnlySpan) 182private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (3)
27var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 28var node = root.FindNode(span); 36var firstTypeOrNamespaceDecl = root.ChildNodes().FirstOrDefault(n => SyntaxFacts.IsNamespaceMemberDeclaration(n.Kind()));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (3)
13public static ArgumentSyntax GenerateArgument(SyntaxNode argument) 23public static ArgumentListSyntax GenerateArgumentList(IList<SyntaxNode> arguments) 26public static BracketedArgumentListSyntax GenerateBracketedArgumentList(IList<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ConstructorGenerator.cs (1)
104private static ArgumentListSyntax GenerateArgumentList(ImmutableArray<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (7)
177where TDeclaration : SyntaxNode 195private static bool AreBracesMissing<TDeclaration>(TDeclaration declaration) where TDeclaration : SyntaxNode 198public static SyntaxNode? GetContextNode( 227public static CodeGenerationDestination GetDestination(SyntaxNode destination) 252where TSyntaxNode : SyntaxNode 270public static T? GetReuseableSyntaxNodeForSymbol<T>(ISymbol symbol, CSharpCodeGenerationContextInfo info) where T : SyntaxNode 276var reusableSyntaxNode = symbol.DeclaringSyntaxReferences[0].GetSyntax();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (24)
40public override CodeGenerationDestination GetDestination(SyntaxNode node) 43protected override IComparer<SyntaxNode> GetMemberComparer() 46protected override IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken) 311var finalMember = editor.GetChangedRoot(); 341protected override TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) 377var attributeSyntaxToRemove = attributeToRemove.ApplicationSyntaxReference.GetSyntax(cancellationToken); 383SyntaxNode attributeToRemove, 443SyntaxNode attributeToRemove, 479IEnumerable<SyntaxNode> statements, 531IEnumerable<SyntaxNode> statements, 533CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 570TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, BaseMethodDeclarationSyntax baseMethodDeclaration) where TDeclarationNode : SyntaxNode 590public static BlockSyntax AddStatementsToBlock(BlockSyntax block, IEnumerable<SyntaxNode> statements) 613TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, LocalFunctionStatementSyntax localFunctionStatement) where TDeclarationNode : SyntaxNode 634TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, AnonymousFunctionExpressionSyntax anonymousFunctionSyntax) where TDeclarationNode : SyntaxNode 658public override SyntaxNode CreateEventDeclaration( 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 672public override SyntaxNode? CreateMethodDeclaration( 721public override SyntaxNode CreatePropertyDeclaration( 728public override SyntaxNode CreateNamedTypeDeclaration( 734public override SyntaxNode CreateNamespaceDeclaration(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpDeclarationComparer.cs (7)
13internal sealed class CSharpDeclarationComparer : IComparer<SyntaxNode> 71public int Compare(SyntaxNode? x, SyntaxNode? y) 314private static int GetAccessibilityPrecedence(SyntaxTokenList modifiers, SyntaxNode? parent) 345for (var node = parent; node != null; node = node.Parent) 386private static bool EqualAccessibility(SyntaxNode x, SyntaxTokenList xModifiers, SyntaxNode y, SyntaxTokenList yModifiers, out int comparisonResult)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
21protected override SyntaxNode CreateExplicitlyCastedLiteralValue(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (12)
32var declaration = GenerateNamespaceDeclaration( 52var declaration = GenerateNamespaceDeclaration( 66internal static SyntaxNode GenerateNamespaceDeclaration( 75var declaration = GetDeclarationSyntaxWithoutMembers( 85public static SyntaxNode UpdateCompilationUnitOrNamespaceDeclaration( 87SyntaxNode declaration, 97private static SyntaxNode GenerateNamespaceDeclarationWorker( 118private static SyntaxNode GetDeclarationSyntaxWithoutMembers( 125var reusableSyntax = GetReuseableSyntaxNodeForSymbol<SyntaxNode>(@namespace, info); 131private static SyntaxNode RemoveAllMembers(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (1)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (7)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 43SyntaxNode container, 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 130using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodes); 156private void CollectInfoFromContainer(SyntaxNode container, ArrayBuilder<SyntaxNode> nodes, out bool containsAnonymousMethods) 160foreach (var node in container.DescendantNodesAndSelf())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (3)
22this SyntaxNode contextNode, bool allowInHiddenRegions, CancellationToken cancellationToken) 69SyntaxNode contextNode, 79SyntaxNode contextNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (2)
478foreach (var node in leftToken.GetAncestors<SyntaxNode>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
162var parent = token.Parent; 180var container = token.Parent.Parent; 261var container = token.Parent.Parent; 454var owner = targetToken.Parent.Parent.Parent.Parent; 526where TMemberNode : SyntaxNode 613private static bool IsGenericInterfaceOrDelegateTypeParameterList([NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (14)
90var parent = token.Parent; 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 1268SyntaxNode? parent; 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1571private static SyntaxToken FindTokenOnLeftOfNode(SyntaxNode node) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1677private static SyntaxNode UnwrapPossibleTuple(SyntaxNode node) 1805var parent = token.Parent; 2755var parentMemberAccess = token.Parent; 2771var parentQualifiedName = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
119var root = await semanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\QueryExpressionSyntaxExtensions.cs (4)
13public static IList<SyntaxNode> GetAllClauses(this QueryExpressionSyntax query) 18public static IList<SyntaxNode> GetAllClauses(this QueryBodySyntax body) 23IList<SyntaxNode> allClauses) 31IEnumerable<SyntaxNode> allClauses)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SeparatedSyntaxListExtensions.cs (2)
13where T : SyntaxNode 20where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\TypeDeclarationSyntaxExtensions.cs (1)
54private static SyntaxToken GetEndToken(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
79var root = document.Root; 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (3)
16public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 26private static bool TryAddSuppressionOnMissingCloseBraceCase(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 102private static bool SomeParentHasMissingCloseBrace(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.cs (3)
116public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 172private static void ReplaceCaseIndentationRules(List<IndentBlockOperation> list, SyntaxNode node) 191private static void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (10)
222var embeddedStatementOwner = token.Parent.Parent; 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 337Indenter indenter, SeparatedSyntaxList<T> list, SyntaxToken token) where T : SyntaxNode 377var queryExpressionClause = GetQueryExpressionClause(token); 433private static SyntaxNode? GetQueryExpressionClause(SyntaxToken token) 435var clause = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is QueryClauseSyntax or SelectOrGroupClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (24)
34protected override ImmutableArray<SyntaxNode> GetGlobalImports( 35SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken) 37using var result = TemporaryArray<SyntaxNode>.Empty; 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 64protected override SyntaxNode Rewrite( 69SyntaxNode externContainer, 70SyntaxNode usingContainer, 71SyntaxNode staticUsingContainer, 72SyntaxNode aliasContainer, 74SyntaxNode root, 82var newRoot = rewriter.Visit(root); 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 94protected override SyntaxList<ExternAliasDirectiveSyntax> GetExterns(SyntaxNode node) 102protected override bool IsEquivalentImport(SyntaxNode a, SyntaxNode b) 110SyntaxNode externContainer, 111SyntaxNode usingContainer, 112SyntaxNode aliasContainer, 113SyntaxNode staticUsingContainer, 118public override SyntaxNode? Visit(SyntaxNode? node) 121public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 124public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 144public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (5)
32protected override bool IsMeaningfulBlock(SyntaxNode node) 43protected override SyntaxNode GetVariableDeclaratorSymbolNode(VariableDeclaratorSyntax variableDeclarator) 55SyntaxNode right, CancellationToken cancellationToken) 69protected override bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (6)
39Func<SyntaxNode, bool>? predicate, 42predicate ??= Functions<SyntaxNode>.True; 52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 54var newRoot = new Rewriter(unnecessaryImports, cancellationToken).Visit(root); 59foreach (var node in newRoot.GetAnnotatedNodes(s_annotation)) 72var formattedRoot = SyntaxFormatting.GetFormattingResult(newRoot, spansToFormat, formattingOptions, rules: default, cancellationToken).GetFormattedRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
36public override SyntaxNode DefaultVisit(SyntaxNode node) 146public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) 194public override SyntaxNode VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 197public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 200private SyntaxNode VisitBaseNamespaceDeclaration( 246public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax node) 252public override SyntaxNode VisitDelegateDeclaration(DelegateDeclarationSyntax node) 258public override SyntaxNode VisitEnumDeclaration(EnumDeclarationSyntax node) 264public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) 270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node) 276public override SyntaxNode VisitStructDeclaration(StructDeclarationSyntax node) 283public override SyntaxNode VisitUnionDeclaration(UnionDeclarationSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (4)
34protected override IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 61bool ShouldDescendInto(SyntaxNode node) 111public IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxFactsService.cs (9)
41SyntaxNode root, TContextNode contextNode, 42out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode 50private readonly SyntaxNode _contextNode; 54public AddFirstMissingCloseBraceRewriter(SyntaxNode contextNode) 57public override SyntaxNode Visit(SyntaxNode node) 69var rewritten = base.Visit(node); 116public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree tree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (95)
52public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken name, SyntaxNode? initializer, bool isConst) 59public override SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer) 62public override SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer) 70public override SyntaxNode EqualsValueClause(SyntaxNode value) 73public override SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value) 76internal static VariableDeclarationSyntax VariableDeclaration(SyntaxNode? type, SyntaxToken name, SyntaxNode? expression) 88public override SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull) 91public override SyntaxNode MemberBindingExpression(SyntaxNode name) 94public override SyntaxNode RefExpression(SyntaxNode expression) 97public override SyntaxNode AddParentheses(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 100internal static SyntaxNode Parenthesize(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 108public override SyntaxNode YieldReturnStatement(SyntaxNode expression) 117public override SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken) 120public override SyntaxNode InterpolatedStringText(SyntaxToken textToken) 130public override SyntaxNode Interpolation(SyntaxNode syntaxNode) 133public override SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment) 136public override SyntaxNode InterpolationFormatClause(string format) 141public override SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames) 190public override SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext) 193public override SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right) 201public override SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type) 209public override SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isKeyword, SyntaxNode pattern) 215public override SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right) 218public override SyntaxNode ConstantPattern(SyntaxNode expression) 221public override SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name) 226public override SyntaxNode LessThanRelationalPattern(SyntaxNode expression) 229public override SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression) 232public override SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression) 235public override SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression) 238public override SyntaxNode NotPattern(SyntaxNode pattern) 241public override SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right) 244public override SyntaxNode ParenthesizedPattern(SyntaxNode pattern) 247public override SyntaxNode TypePattern(SyntaxNode type) 250public override SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern) 255public override SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression) 258public override SyntaxNode DefaultExpression(SyntaxNode type) 261public override SyntaxNode DefaultExpression(ITypeSymbol type) 296public override SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind) 307public override SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode simpleName) 339public override SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right) 342public static SyntaxNode CreateBinaryExpression(SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right) 345public override SyntaxNode IdentifierName(string identifier) 348public override SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression) 351internal static SyntaxNode ParenthesizeNonSimple(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (18)
41protected override IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode node, bool objectAsDefault) 52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 75private IEnumerable<TypeInferenceInfo> GetTypesComplex(SyntaxNode node) 93private IEnumerable<TypeInferenceInfo> GetTypesSimple(SyntaxNode node) 125SyntaxNode node) 134var parent = node.Parent; 200var parent = token.Parent; 1544SyntaxNode child) 1594SyntaxNode child) 1899SyntaxNode node) 2065var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2106var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2116private IEnumerable<TypeInferenceInfo> InferTypeInMethodLikeDeclaration(SyntaxNode declaration) 2129private ISymbol GetDeclaredMemberSymbolFromOriginalSemanticModel(SyntaxNode declarationInCurrentTree) 2285private ImmutableArray<TypeInferenceInfo> InferTypeBasedOnLaterUsage(ISymbol symbol, SyntaxNode afterNode) 2289var container = afterNode.AncestorsAndSelf().FirstOrDefault(a => a is BlockSyntax or SwitchSectionSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (18)
119var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 133public static bool IsFunctionDeclaration(SyntaxNode node) 136public static SyntaxNode GetBody(SyntaxNode functionDeclaration) 139BaseMethodDeclarationSyntax methodDeclaration => (SyntaxNode?)methodDeclaration.Body ?? methodDeclaration.ExpressionBody!, 140LocalFunctionStatementSyntax localFunction => (SyntaxNode?)localFunction.Body ?? localFunction.ExpressionBody!, 145private static SyntaxToken? TryGetSemicolonToken(SyntaxNode functionDeclaration) 157public static SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 164SyntaxNode functionDeclaration, 166SyntaxNode? statementToAddAfterOpt, 169var body = GetBody(functionDeclaration); 231public static bool IsExpressionBody(SyntaxNode body) 235SyntaxNode body, 252public static SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 254var node = accessor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 256return accessorDeclaration.ExpressionBody ?? (SyntaxNode?)accessorDeclaration.Body; 265public static SyntaxNode RemoveThrowNotImplemented(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\SemanticModelReuse\CSharpSemanticModelReuseLanguageService.cs (5)
39public override SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node) 41for (SyntaxNode? previous = null, current = node; current != null; previous = current, current = current.Parent) 54protected override SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\CSharpSimplificationHelpers.cs (3)
15public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken) 33var parent = parentOfToken.Parent; 57public static T AppendElasticTriviaIfNecessary<T>(T rewrittenNode, T originalNode) where T : SyntaxNode
Microsoft.CodeAnalysis.CSharp.Features (2148)
AddImport\CSharpAddImportFeatureService.cs (29)
38protected override bool IsWithinImport(SyntaxNode node) 41protected override bool CanAddImport(SyntaxNode node, bool allowInHiddenRegions, CancellationToken cancellationToken) 45string diagnosticId, ISyntaxFacts syntaxFacts, SyntaxNode node, out SimpleNameSyntax nameNode) 146protected override bool CanAddImportForDeconstruct(string diagnosticId, SyntaxNode node) 149protected override bool CanAddImportForGetAwaiter(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node) 155protected override bool CanAddImportForGetEnumerator(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node) 158protected override bool CanAddImportForGetAsyncEnumerator(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node) 161protected override bool CanAddImportForNamespace(string diagnosticId, SyntaxNode node, out SimpleNameSyntax nameNode) 167protected override bool CanAddImportForQuery(string diagnosticId, SyntaxNode node) 173string diagnosticId, SyntaxNode node, out SimpleNameSyntax nameNode) 218private static bool TryFindStandaloneType(SyntaxNode node, out SimpleNameSyntax nameNode) 247SyntaxNode node, 254SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 261SyntaxNode node, 308SyntaxNode contextNode, 354SyntaxNode contextNode, 366Document document, CompilationUnitSyntax root, SyntaxNode contextNode, INamespaceOrTypeSymbol namespaceOrTypeSymbol, 377using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var newImports); 396var newRoot = addImportService.AddImports( 402SyntaxNode contextNode, IReadOnlyList<string> namespaceParts, 413var newRoot = service.AddImport( 436SyntaxNode contextNode) 455SyntaxNode contextNode, 471var container = addImportService.GetImportContainer(root, contextNode, dummyUsing, options); 574SyntaxNode contextNode) 600private static bool HasExistingExternAlias(string alias, SyntaxNode contextNode) 615SyntaxNode contextNode, CancellationToken cancellationToken) 621SyntaxNode node, SemanticModel semanticModel, out SyntaxNode objectCreationExpression)
BraceCompletion\AbstractCurlyBraceOrBracketCompletionService.cs (8)
122var rootToFormat = document.Root.ReplaceToken(closingToken, newClosingToken); 156static ParsedDocument GetUpdatedDocument(ParsedDocument oldDocument, IEnumerable<TextChange> changes, SyntaxNode newRoot) 224private (SyntaxNode formattedRoot, ImmutableArray<TextChange> textChanges, int finalBraceEnd) FormatTrackingSpan( 257var annotatedRoot = GetSyntaxRootWithAnnotatedClosingBrace(document.Root, closingPoint); 267var newRoot = result.GetFormattedRoot(cancellationToken); 273SyntaxNode GetSyntaxRootWithAnnotatedClosingBrace(SyntaxNode originalRoot, int closingBraceEndPoint) 281private SyntaxToken FindClosingBraceToken(SyntaxNode root, int closingBraceEndPoint)
BraceCompletion\BracketBraceCompletionService.cs (1)
59public override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
BraceCompletion\CurlyBraceCompletionService.cs (4)
150var currentTokenParentParent = currentToken.Parent?.Parent; 199private static bool IsControlBlock(SyntaxNode? node) 244public override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 260public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation)
BraceCompletion\ParenthesisBraceCompletionService.cs (1)
52for (var currentNode = token.Parent.Parent; currentNode != null; currentNode = currentNode.Parent)
BraceMatching\BlockCommentBraceMatcher.cs (1)
23var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
BraceMatching\StringLiteralBraceMatcher.cs (1)
28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ChangeSignature\ChangeSignatureFormattingRule.cs (2)
28public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 38private static void AddChangeSignatureIndentOperation(List<IndentBlockOperation> list, SyntaxNode node)
ChangeSignature\CSharpChangeSignatureService.cs (33)
119var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135var matchingNode = GetMatchingNode(token.Parent, restrictToDeclarations); 185private static int TryGetSelectedIndexFromDeclaration(int position, SyntaxNode matchingNode) 191private static SyntaxNode? GetMatchingNode(SyntaxNode node, bool restrictToDeclarations) 197for (var current = node; current != null; current = current.Parent) 214private static bool InSymbolHeader(SyntaxNode matchingNode, int position) 217var lastAttributes = matchingNode.ChildNodes().LastOrDefault(n => n is AttributeListSyntax); 227var parameterList = matchingNode.ChildNodes().LastOrDefault(n => n is ParameterListSyntax); 237public override SyntaxNode? FindNodeToUpdate(Document document, SyntaxNode node) 245var matchingNode = node.AncestorsAndSelf().FirstOrDefault(n => _updatableAncestorKinds.Contains(n.Kind())); 251var nodeContainingOriginal = GetNodeContainingTargetNode(matchingNode); 260private static SyntaxNode? GetNodeContainingTargetNode(SyntaxNode matchingNode) 288public override SyntaxNode ChangeSignature( 291SyntaxNode potentiallyUpdatedNode, 292SyntaxNode originalNode, 598private static bool IsParamsArrayExpanded(SemanticModel semanticModel, SyntaxNode node, SymbolInfo symbolInfo, CancellationToken cancellationToken) 686Func<AddedParameter, T> createNewParameterMethod) where T : SyntaxNode 692protected override T TransferLeadingWhitespaceTrivia<T>(T newArgument, SyntaxNode oldArgument) 719where TArgumentSyntax : SyntaxNode 767where T : SyntaxNode 768where U : SyntaxNode 806private ImmutableArray<SyntaxNode> VerifyAndPermuteParamNodes(IEnumerable<XmlElementSyntax> paramNodes, ISymbol declarationSymbol, SignatureChange updatedSignature) 846var permutedParams = ArrayBuilder<SyntaxNode>.GetInstance(); 871var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 874using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var convertedMethodNodes); 876foreach (var node in root.DescendantNodes()) 912ArgumentSyntax a => (TArgumentSyntax)(SyntaxNode)a.WithNameColon(NameColon(name)), 913AttributeArgumentSyntax a => (TArgumentSyntax)(SyntaxNode)a.WithNameColon(NameColon(name)), 923var listOfArguments = SeparatedList(newArguments.Skip(indexInExistingList).Select(a => ((ArgumentSyntax)(SyntaxNode)a).Expression), newArguments.GetSeparators().Skip(indexInExistingList)); 926return (TArgumentSyntax)(SyntaxNode)Argument(objectCreation);
ChangeSignature\UnifiedArgumentSyntax.cs (6)
15private readonly SyntaxNode _argument; 17private UnifiedArgumentSyntax(SyntaxNode argument) 29public SyntaxNode NameColon 39public IUnifiedArgumentSyntax WithNameColon(SyntaxNode nameColonSyntax) 61public SyntaxNode Expression 87public static explicit operator SyntaxNode(UnifiedArgumentSyntax unified)
CodeFixes\GenerateType\GenerateTypeCodeFixProvider.cs (4)
40protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 49protected override SyntaxNode? GetTargetNode(SyntaxNode node) 58Document document, SyntaxNode node, CancellationToken cancellationToken)
CodeFixes\Suppression\CSharpSuppressionCodeFixProvider.cs (14)
37protected override SyntaxTriviaList CreatePragmaRestoreDirectiveTrivia(Diagnostic diagnostic, Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine, CancellationToken cancellationToken) 44Diagnostic diagnostic, Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine, CancellationToken cancellationToken) 51SyntaxToken disableOrRestoreKeyword, Diagnostic diagnostic, Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine, CancellationToken cancellationToken) 86protected override bool IsAttributeListWithAssemblyAttributes(SyntaxNode node) 99protected override SyntaxNode AddGlobalSuppressMessageAttribute( 100SyntaxNode newRoot, 129protected override SyntaxNode AddLocalSuppressMessageAttribute( 130SyntaxNode targetNode, ISymbol targetSymbol, INamedTypeSymbol suppressMessageAttribute, Diagnostic diagnostic) 212protected override bool IsSingleAttributeInAttributeList(SyntaxNode attribute) 247protected override SyntaxNode GetContainingStatement(SyntaxToken token) 250=> (SyntaxNode)token.GetAncestor<StatementSyntax>() ?? token.GetAncestor<ArrowExpressionClauseSyntax>();
CodeLens\CSharpCodeLensDisplayInfoService.cs (5)
33public SyntaxNode GetDisplayNode(SyntaxNode node) 83public string GetDisplayName(SemanticModel semanticModel, SyntaxNode node) 181private static string GetEnclosingScopeString(SyntaxNode node, SemanticModel semanticModel, SymbolDisplayFormat symbolDisplayFormat) 183var scopeNode = node;
CodeLens\CSharpCodeLensMemberFinder.cs (1)
29var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CodeRefactorings\AddAwait\CSharpAddAwaitCodeRefactoringProvider.cs (2)
30protected override bool IsInAsyncContext(SyntaxNode node) 32foreach (var current in node.Ancestors())
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (6)
71var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 77localFunction.Body ?? (SyntaxNode)localFunction.ExpressionBody!.Expression); 228foreach (var node in root.GetAnnotatedNodes(s_delegateToReplaceAnnotation)) 235var newNode = generator.ValueReturningLambdaExpression(lambdaParameters, 290private static SyntaxNode GenerateArgument(IParameterSymbol p, string name, bool shouldUseNamedArguments = false) 296private static ImmutableArray<string> GetReservedNames(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (12)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 72var updatedDocumentRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 79var updatedDocumentRoot = await EnableNullableReferenceTypesAsync(document, cancellationToken).ConfigureAwait(false); 96private static async Task<SyntaxNode> EnableNullableReferenceTypesAsync(Document document, CancellationToken cancellationToken) 98var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 117private static (SyntaxNode root, SyntaxToken firstToken) RewriteExistingDirectives(SyntaxNode root, SyntaxToken firstToken) 134var updatedRoot = root.ReplaceNodes( 161private static async Task<SyntaxNode> DisableNullableReferenceTypesInExistingDocumentIfNecessaryAsync(Document document, SyntaxNode root, SyntaxToken firstToken, CancellationToken cancellationToken) 217private static SyntaxToken GetFirstTokenOfInterest(SyntaxNode root) 239private static bool HasLeadingNullableDirective(SyntaxNode root, [NotNullWhen(true)] out NullableDirectiveTriviaSyntax? leadingNullableDirective)
CodeRefactorings\ExtractClass\CSharpExtractClassCodeRefactoringProvider.cs (2)
39protected override async Task<SyntaxNode?> GetSelectedClassDeclarationAsync(CodeRefactoringContext context) 45protected override Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context)
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (3)
59protected override SyntaxNode GenerateTypeSyntax(ITypeSymbol symbol, bool allowVar) 65protected override bool IsFieldDeclarationSyntax(SyntaxNode node) 100protected override bool CanBeReplacedByThrowExpression(SyntaxNode syntaxNode)
CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.cs (20)
48var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 168var scope = GetScope(declarator); 169var newScope = RewriteScope(scope); 185var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 216SyntaxNode RewriteScope(SyntaxNode scope) 283private static bool MayContainSideEffects(SyntaxNode expression) 320where T : SyntaxNode 322var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 331var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 335private static SyntaxNode GetScope(VariableDeclaratorSyntax variableDeclarator) 339var scope = localDeclaration.Parent; 353private static VariableDeclaratorSyntax FindDeclarator(SyntaxNode node) 361private static SyntaxNode RemoveDeclaratorFromVariableList(VariableDeclaratorSyntax variableDeclarator, VariableDeclarationSyntax variableDeclaration) 367var scope = GetScope(variableDeclarator); 378private static SyntaxNode RemoveDeclaratorFromScope(VariableDeclaratorSyntax variableDeclarator, SyntaxNode scope) 409var newScope = scope.ReplaceToken(nextToken, newNextToken); 500private static SyntaxNode GetTopMostParentingExpression(ExpressionSyntax expression) 505var parent = node.Parent;
CodeRefactorings\MoveStaticMembers\CSharpMoveStaticMembersRefactoringProvider.cs (1)
20protected override Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context)
CodeRefactorings\MoveType\CSharpMoveTypeService.cs (1)
26protected override bool IsMemberDeclaration(SyntaxNode syntaxNode)
CodeRefactorings\NodeSelectionHelpers.cs (3)
18internal static async Task<ImmutableArray<SyntaxNode>> GetSelectedDeclarationsOrVariablesAsync(CodeRefactoringContext context) 41FieldDeclarationSyntax fieldDeclaration => fieldDeclaration.Declaration.Variables.AsImmutable<SyntaxNode>(), 42EventFieldDeclarationSyntax eventFieldDeclaration => eventFieldDeclaration.Declaration.Variables.AsImmutable<SyntaxNode>(),
CodeRefactorings\PullMemberUp\CSharpPullMemberUpCodeRefactoringProvider.cs (1)
28protected override Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context)
CodeRefactorings\SyncNamespace\CSharpChangeNamespaceService.cs (15)
45protected override async Task<ImmutableArray<(DocumentId, SyntaxNode)>> GetValidContainersFromAllLinkedDocumentsAsync( 47SyntaxNode container, 79protected override string GetDeclaredNamespace(SyntaxNode container) 90protected override SyntaxList<MemberDeclarationSyntax> GetMemberDeclarationsInContainer(SyntaxNode container) 113SyntaxNode reference, 116[NotNullWhen(returnValue: true)] out SyntaxNode? oldNode, 117[NotNullWhen(returnValue: true)] out SyntaxNode? newNode) 214[NotNullWhen(returnValue: true)] out SyntaxNode? newNode) 244var container = root.GetAnnotatedNodes(ContainerAnnotation).Single(); 344protected override async Task<SyntaxNode?> TryGetApplicableContainerFromSpanAsync(Document document, TextSpan span, CancellationToken cancellationToken) 346var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 349SyntaxNode? container = null; 368var node = compilationUnit.FindNode(span, getInnermostNodeForTie: true); 395static bool ContainsNamespaceDeclaration(SyntaxNode node) 400private static string? GetAliasQualifier(SyntaxNode? name)
CodeRefactorings\SyncNamespace\CSharpSyncNamespaceCodeRefactoringProvider.cs (1)
25protected override async Task<SyntaxNode?> TryGetApplicableInvocationNodeAsync(Document document, TextSpan span, CancellationToken cancellationToken)
CodeRefactorings\UseExplicitOrImplicitType\AbstractUseTypeCodeRefactoringProvider.cs (6)
24protected abstract TypeSyntax FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken); 35var declaration = await GetDeclarationAsync(context).ConfigureAwait(false); 71private static async Task<SyntaxNode> GetDeclarationAsync(CodeRefactoringContext context) 95var typeParent = type?.Parent; 120var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 125var newRoot = editor.GetChangedRoot();
CodeRefactorings\UseExplicitOrImplicitType\UseExplicitTypeCodeRefactoringProvider.cs (1)
29protected override TypeSyntax FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
CodeRefactorings\UseExplicitOrImplicitType\UseImplicitTypeCodeRefactoringProvider.cs (1)
29protected override TypeSyntax FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (16)
55var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 60var node = root.FindToken(textSpan.Start).Parent; 72private static Func<SyntaxNode, SyntaxNode>? GetReplacementFunc(SyntaxNode? node, SemanticModel model) 83private static bool IsFixableNode(SyntaxNode node) 94private static Func<SyntaxNode, SyntaxNode>? CombineLogicalAndOperands(BinaryExpressionSyntax logicalAnd, SemanticModel model) 151static SyntaxNode AdjustBinaryExpressionOperands(BinaryExpressionSyntax logicalAnd, ExpressionSyntax replacement) 162private static Func<SyntaxNode, SyntaxNode>? CombineWhenClauseCondition(PatternSyntax switchPattern, ExpressionSyntax condition, SemanticModel model) 503static bool IsNullCheck(SyntaxNode? exp) 602foreach (var originalNode in nodes.Reverse()) 609var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 610var currentNode = root.GetCurrentNodes(originalNode).SingleOrDefault(); 620var updatedRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\AwaitCompletionProvider.cs (7)
37protected override int GetAsyncKeywordInsertionPosition(SyntaxNode declaration) 47ParenthesizedLambdaExpressionSyntax parenthesizedLambda => (parenthesizedLambda.ReturnType as SyntaxNode ?? parenthesizedLambda.ParameterList).SpanStart, 54Solution solution, SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 151protected override SyntaxNode? GetAsyncSupportingDeclaration(SyntaxToken leftToken, int position) 158var parent = leftToken.Parent; 182protected override SyntaxNode? GetExpressionToPlaceAwaitInFrontOf(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken) 201protected override ITypeSymbol? GetTypeSymbolOfExpression(SemanticModel semanticModel, SyntaxNode potentialAwaitableExpression, CancellationToken cancellationToken)
Completion\CompletionProviders\CompletionUtilities.cs (2)
175public static SyntaxNode GetTargetCaretPositionForMethod(BaseMethodDeclarationSyntax methodDeclaration) 207public static TextSpan GetTargetSelectionSpanForInsertedMember(SyntaxNode caretTarget)
Completion\CompletionProviders\CrefCompletionProvider.cs (3)
51private Action<SyntaxNode?>? _testSpeculativeNodeCallback; 103var parentNode = token.Parent?.FirstAncestorOrSelf<DocumentationCommentTriviaSyntax>()?.ParentTrivia.Token.Parent; 382public void SetSpeculativeNodeCallback(Action<SyntaxNode?> value)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (12)
245out var expression); 289Func<TSyntaxNode, SyntaxNode?> typeSyntaxGetter, 292CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 305var typeSyntax = typeSyntaxGetter(target); 323Func<TSyntaxNode, SyntaxNode?> typeSyntaxGetter, 326CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 334Func<TSyntaxNode, SyntaxNode?> typeSyntaxGetter, 338out SyntaxNode? typeSyntax) where TSyntaxNode : SyntaxNode 360SyntaxNode typeSyntax, 550var parent = token.Parent; 700private static SyntaxNode? GetNodeDenotingTheTypeOfTupleArgument(ArgumentSyntax argumentSyntax)
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.cs (4)
49var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 75protected override SyntaxNode GetSyntax(SyntaxToken token) 77var ancestor = token.Parent; 99protected override TextSpan GetTargetSelectionSpan(SyntaxNode caretTarget)
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.ItemGetter.cs (1)
80var node = targetToken.Parent;
Completion\CompletionProviders\ExplicitInterfaceTypeCompletionProvider.cs (2)
73var potentialTypeNode = targetToken.Parent; 141private static bool IsClassOrStructOrInterfaceOrRecord(SyntaxNode node)
Completion\CompletionProviders\ExternAliasCompletionProvider.cs (1)
72var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\ImportCompletion\ExtensionMemberImportCompletionProvider.cs (2)
36protected override bool IsFinalSemicolonOfUsingOrExtern(SyntaxNode directive, SyntaxToken token) 64SyntaxNode node,
Completion\CompletionProviders\ImportCompletion\TypeImportCompletionProvider.cs (1)
47protected override bool IsFinalSemicolonOfUsingOrExtern(SyntaxNode directive, SyntaxToken token)
Completion\CompletionProviders\InternalsVisibleToCompletionProvider.cs (6)
29protected override IImmutableList<SyntaxNode> GetAssemblyScopedAttributeSyntaxNodesOfDocument(SyntaxNode documentRoot) 31var builder = (ImmutableList<SyntaxNode>.Builder?)null; 38builder ??= ImmutableList.CreateBuilder<SyntaxNode>(); 48protected override SyntaxNode? GetConstructorArgumentOfInternalsVisibleToAttribute(SyntaxNode internalsVisibleToAttribute)
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (2)
134SemanticModel semanticModel, int position, SyntaxNode invocableNode, CancellationToken cancellationToken) 207var baseList = baseType.Parent;
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (1)
124var parent = token.Parent?.Parent;
Completion\CompletionProviders\ObjectCreationCompletionProvider.cs (1)
41protected override SyntaxNode? GetObjectCreationNewExpression(SyntaxTree tree, int position, CancellationToken cancellationToken)
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Conversions.cs (1)
81var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Operators.cs (1)
138var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider.cs (3)
77private static (SyntaxToken dotLikeToken, int expressionStart) GetDotAndExpressionStart(SyntaxNode root, int position, CancellationToken cancellationToken) 106var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 185var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\OverrideCompletionProvider.cs (4)
28protected override SyntaxNode GetSyntax(SyntaxToken token) 34?? (SyntaxNode?)token.GetAncestor<MethodDeclarationSyntax>() 79var parentMember = token.Parent; 206protected override TextSpan GetTargetSelectionSpan(SyntaxNode caretTarget)
Completion\CompletionProviders\PartialMethodCompletionProvider.cs (3)
48protected override SyntaxNode GetSyntax(SyntaxToken token) 54?? (SyntaxNode?)token.GetAncestor<MethodDeclarationSyntax>() 58protected override TextSpan GetTargetSelectionSpan(SyntaxNode caretTarget)
Completion\CompletionProviders\PartialTypeCompletionProvider.cs (2)
54protected override SyntaxNode? GetPartialTypeSyntaxNode(SyntaxTree tree, int position, CancellationToken cancellationToken) 72private static bool IsPartialTypeDeclaration(SyntaxNode syntax)
Completion\CompletionProviders\SnippetCompletionProvider.cs (1)
106var root = syntaxTree.GetRoot(cancellationToken);
Completion\CompletionProviders\SymbolCompletionProvider.cs (1)
183var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\CompletionProviders\XmlDocCommentCompletionProvider.cs (1)
257private static (string? name, SyntaxList<XmlAttributeSyntax> attributes) GetElementNameAndAttributes(SyntaxNode node)
Completion\KeywordRecommenders\AssemblyKeywordRecommender.cs (2)
21var attributeList = token.GetRequiredParent(); 22var parentSyntax = attributeList.Parent;
Completion\KeywordRecommenders\BreakKeywordRecommender.cs (2)
32foreach (var v in token.GetAncestors<SyntaxNode>())
Completion\KeywordRecommenders\ContinueKeywordRecommender.cs (2)
25foreach (var v in leaf.GetAncestors<SyntaxNode>())
Completion\KeywordRecommenders\FieldKeywordRecommender.cs (1)
46for (var node = targetToken.Parent; node != null; node = node.Parent)
Completion\KeywordRecommenders\RefKeywordRecommender.cs (2)
97var parent = context.TargetToken.GetAncestor(n => n is ArgumentListSyntax); 249var parent = token.Parent;
Completion\KeywordRecommenders\WhenKeywordRecommender.cs (1)
41var expressionOrPattern = switchLabel.ChildNodes().FirstOrDefault();
ConvertAutoPropertyToFullProperty\CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (12)
48protected override (SyntaxNode newGetAccessor, SyntaxNode newSetAccessor) GetNewAccessors( 58private static (SyntaxNode newGetAccessor, SyntaxNode newSetAccessor) GetNewAccessors( 125protected override SyntaxNode ConvertPropertyToExpressionBodyIfDesired( 126CSharpCodeGenerationContextInfo info, SyntaxNode property) 153protected override SyntaxNode GetTypeBlock(SyntaxNode syntaxNode) 156protected override SyntaxNode GetInitializerValue(PropertyDeclarationSyntax property) 167var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 172var finalProperty = CreateFinalProperty(document, property, info, newGetAccessor, newSetAccessor); 173var finalRoot = root.ReplaceNode(property, finalProperty);
ConvertBetweenRegularAndVerbatimString\AbstractConvertBetweenRegularAndVerbatimStringCodeRefactoringProvider.cs (1)
89var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (4)
53protected override (SyntaxNode start, SyntaxNode end) GetForEachBody(ForEachStatementSyntax foreachStatement) 65var collectionVariable = GetCollectionVariableName( 117SyntaxGenerator generator, ForEachInfo foreachInfo, SyntaxNode collectionVariableName, SyntaxToken indexVariable, bool donotCastElement)
ConvertForToForEach\CSharpConvertForToForEachCodeRefactoringProvider.cs (1)
112protected override SyntaxNode ConvertForNode(
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
34public override bool CanImplicitlyConvert(SemanticModel semanticModel, SyntaxNode syntax, ITypeSymbol targetType)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (1)
37protected override SyntaxTriviaList GetLeadingTriviaToTransfer(SyntaxNode syntaxToRemove)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (7)
30public override SyntaxNode CreateSwitchExpressionStatement( 67public override SyntaxNode CreateSwitchStatement( 68IfStatementSyntax ifStatement, ExpressionSyntax expression, IEnumerable<SyntaxNode> sectionList) 89public override SyntaxNode AsSwitchLabelSyntax(AnalyzedSwitchLabel label, Feature feature) 122public override IEnumerable<SyntaxNode> AsSwitchSectionStatements(IOperation operation) 124var node = operation.Syntax; 129var statements = ArrayBuilder<SyntaxNode>.GetInstance();
ConvertLinq\ConvertForEachToLinqQuery\AbstractToMethodConverter.cs (2)
101void Convert(ExpressionSyntax replacingExpression, SyntaxNode nodeToRemoveIfFollowedByReturn) 143static SyntaxTrivia[] GetTriviaFromNode(SyntaxNode node)
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (3)
281var memberDeclarationSyntax = memberDeclarationSymbol.DeclaringSyntaxReferences.Single().GetSyntax(); 333protected override SyntaxNode AddLinqUsing( 336SyntaxNode root)
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (7)
223var parent = _source.WalkUpParentheses().Parent; 248SyntaxNode currentNode = _source; 419var invocationParent = invocationExpression.WalkUpParentheses().Parent; 739var memberDeclarationNode = FindParentMemberDeclarationNode(returnStatement, out var declaredSymbol); 776private SyntaxNode FindParentMemberDeclarationNode(SyntaxNode node, out ISymbol declaredSymbol) 924private static bool IsWithinImmediateLambdaOrAnonymousMethod(SyntaxNode node)
ConvertNamespace\ConvertNamespaceCodeRefactoringProvider.cs (1)
104var newRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (7)
399var currentRoot = mainDocumentEditor.GetChangedRoot(); 402var formattedRoot = Formatter.Format(currentRoot, SyntaxAnnotation.ElasticAnnotation, solution.Services, formattingOptions, cancellationToken); 414var rewrittenRoot = formattedRoot.ReplaceNode(constructor, rewrittenConstructor); 422Func<TListSyntax, IEnumerable<SyntaxNode>> getElements) 423where TListSyntax : SyntaxNode 453static string GetLeadingWhitespace(SyntaxNode node) 502TNode RewriteNestedReferences<TNode>(TNode parent) where TNode : SyntaxNode
ConvertProgram\ConvertProgramTransform_ProgramMain.cs (1)
152private static TSyntaxNode FixupComments<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (4)
40var rootWithGlobalStatements = GetRootWithGlobalStatements( 70Document document, SyntaxNode root, BaseNamespaceDeclarationSyntax namespaceDeclaration, CodeCleanupOptions options, CancellationToken cancellationToken) 98private static SyntaxNode GetRootWithGlobalStatements( 172var updated = current.WithPrependedLeadingTrivia(leadingCloseBraceTrivia);
ConvertProgram\ConvertToProgramMainCodeFixProvider.cs (1)
50var fixedRoot = await fixedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertProgram\ConvertToTopLevelStatementsCodeFixProvider.cs (1)
50var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertToExtension\ConvertToExtensionCodeRefactoringProvider.cs (2)
202var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 207var newRoot = root.ReplaceNode(classDeclaration, newDeclaration);
ConvertToExtension\ConvertToExtensionFixAllProvider.cs (3)
38var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 55var newRoot = editor.GetChangedRoot(); 60SyntaxNode root, Optional<ImmutableArray<TextSpan>> fixAllSpans)
ConvertToRawString\ConvertInterpolatedStringToRawStringCodeRefactoringProvider.cs (3)
255static SyntaxNode GetAnchorNode(ParsedDocument parsedDocument, SyntaxNode node) 275for (var current = node; current != null; current = current.Parent)
ConvertToRawString\ConvertStringToRawStringCodeRefactoringProvider.cs (3)
74var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 160var node = editor.OriginalRoot.FindNode(fixSpan);
ConvertToRawString\ConvertToRawStringHelpers.cs (1)
63public static bool IsInDirective(SyntaxNode? node)
Copilot\CSharpImplementNotImplementedExceptionFixProvider.cs (5)
59var diagnosticNode = context.Diagnostics[0].Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 87var memberReferencesBuilder = ImmutableDictionary.CreateBuilder<SyntaxNode, ImmutableArray<ReferencedSymbol>>(); 92var diagnosticNode = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 111foreach (var node in memberReferencesBuilder.Keys) 117var replacement = implementationDetails.ReplacementNode;
Debugging\CSharpProximityExpressionsService.cs (1)
56var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Debugging\DataTipInfoGetter.cs (1)
27var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Debugging\LocationInfoGetter.cs (2)
25var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 27var memberDeclaration = syntaxFactsService.GetContainingMemberDeclaration(root, position, useFullSpan: true);
DecompiledSource\CSharpDecompiledSourceService.cs (5)
57var node = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var oldRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 82var newRoot = oldRoot.WithLeadingTrivia(new[] 100var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newSyntaxRoot = DocCommentConverter.ConvertToRegularComments(syntaxRoot, docCommentFormattingService, cancellationToken);
Diagnostics\Analyzers\CSharpSimplifyTypeNamesDiagnosticAnalyzer.cs (6)
35protected override bool IsIgnoredCodeBlock(SyntaxNode codeBlock) 51protected override ImmutableArray<Diagnostic> AnalyzeCodeBlock(CodeBlockAnalysisContext context, SyntaxNode root) 67protected override ImmutableArray<Diagnostic> AnalyzeSemanticModel(SemanticModelAnalysisContext context, SyntaxNode root, TextSpanMutableIntervalTree? codeBlockIntervalTree) 78internal override bool IsCandidate(SyntaxNode node) 82SemanticModel model, SyntaxNode node, CSharpSimplifierOptions options, 102SyntaxNode replacementSyntax;
Diagnostics\Analyzers\CSharpUnboundIdentifiersDiagnosticAnalyzer.cs (1)
28protected override bool IsNameOf(SyntaxNode node)
Diagnostics\Analyzers\FileBasedPrograms\FileLevelDirectiveDiagnosticAnalyzer.cs (1)
44var root = tree.GetRoot(cancellationToken);
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.cs (2)
83var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 287private bool TrySimplify(SyntaxNode node)
DocumentationComments\CSharpDocumentationCommentSnippetService.cs (3)
154private static IEnumerable<string> GetExceptions(SyntaxNode member) 162foreach (var throwExpressionOrStatement in throwExpressionsAndStatements) 193for (SyntaxNode? current = exceptionType; current != null; current = current?.Parent)
DocumentationComments\DocCommentConverter.cs (4)
21public static SyntaxNode ConvertToRegularComments(SyntaxNode node, IDocumentationCommentFormattingService formattingService, CancellationToken cancellationToken) 35public override SyntaxNode Visit(SyntaxNode node)
DocumentHighlighting\CSharpDocumentHighlightsService.cs (1)
50var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
EditAndContinue\BreakpointSpans.cs (17)
39var root = tree.GetRoot(cancellationToken); 70public static bool TryGetClosestBreakpointSpan(SyntaxNode root, int position, int minLength, out TextSpan span) 72var node = root.FindToken(position).Parent; 113private static TextSpan CreateSpan(SyntaxNode node) 116private static TextSpan CreateSpan(SyntaxNode node, SyntaxToken token) 165private static TextSpan? TryCreateSpanForNode(SyntaxNode node, int position) 475internal static IEnumerable<SyntaxToken> GetActiveTokensForImplicitConstructorInitializer(ConstructorDeclarationSyntax constructor, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 481internal static IEnumerable<SyntaxToken> GetActiveTokensForExplicitConstructorInitializer(ConstructorInitializerSyntax constructorInitializer, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 490internal static IEnumerable<SyntaxToken> GetActiveTokensForImplicitPrimaryConstructorInitializer(TypeDeclarationSyntax typeDeclaration, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 509internal static IEnumerable<SyntaxToken> GetActiveTokensForExplicitPrimaryConstructorInitializer(PrimaryConstructorBaseTypeSyntax baseTypeSyntax, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 517internal static IEnumerable<SyntaxToken> GetActiveTokensForCopyConstructor(RecordDeclarationSyntax recordDeclaration, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 531internal static IEnumerable<SyntaxToken> GetActiveTokensForRecordParameter(ParameterSyntax parameter, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 548internal static IEnumerable<SyntaxToken> GetActiveTokensForAutoPropertyAccessor(AccessorDeclarationSyntax accessor, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 787SyntaxNode? startNodeOpt = null) 874VariableDeclaratorSyntax variableDeclarator, SyntaxTokenList modifiers, SyntaxToken semicolon, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 924where TNode : SyntaxNode 969var parent = expression.Parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (185)
69internal override bool TryFindMemberDeclaration(SyntaxNode? root, SyntaxNode node, TextSpan activeSpan, out OneOrMany<SyntaxNode> declarations) 71var current = node; 172internal override MemberBody? TryGetDeclarationBody(SyntaxNode node, ISymbol? symbol) 175internal override bool IsDeclarationWithSharedBody(SyntaxNode declaration, ISymbol member) 181internal static SyntaxNode FindStatementAndPartner( 183SyntaxNode body, 184SyntaxNode? partnerBody, 185out SyntaxNode? partnerStatement, 196SyntaxNode node; 351private static bool AreEquivalentIgnoringLambdaBodies(SyntaxNode left, SyntaxNode right) 362internal override bool IsClosureScope(SyntaxNode node) 365internal override SyntaxNode GetCapturedParameterScope(SyntaxNode methodOrLambda) 373BaseMethodDeclarationSyntax method => method.Body ?? (SyntaxNode?)method.ExpressionBody!, 381protected override LambdaBody? FindEnclosingLambdaBody(SyntaxNode encompassingAncestor, SyntaxNode node) 383var current = node; 386if (LambdaUtilities.IsLambdaBodyStatementOrExpression(current, out var body)) 397protected override Match<SyntaxNode> ComputeTopLevelMatch(SyntaxNode oldCompilationUnit, SyntaxNode newCompilationUnit) 400protected override BidirectionalMap<SyntaxNode>? ComputeParameterMap(SyntaxNode oldDeclaration, SyntaxNode newDeclaration) 402BidirectionalMap<SyntaxNode>.FromMatch(SyntaxComparer.TopLevel.ComputeMatch(oldParameterList, newParameterList)) : null; 404private static SyntaxNode? GetDeclarationParameterList(SyntaxNode declaration) 413internal static Match<SyntaxNode> ComputeBodyMatch(SyntaxNode oldBody, SyntaxNode newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 439static SyntaxNode GetMatchingRoot(SyntaxNode body) 441var parent = body.Parent!; 447var oldRoot = GetMatchingRoot(oldBody); 448var newRoot = GetMatchingRoot(newBody); 457private static IEnumerable<SyntaxNode> GetChildNodes(SyntaxNode root, SyntaxNode body) 495SyntaxNode oldBody, 496SyntaxNode newBody, 497SyntaxNode oldStatement, 498[NotNullWhen(true)] out SyntaxNode? newStatement) 519protected override bool IsNamespaceDeclaration(SyntaxNode node) 522private static bool IsTypeDeclaration(SyntaxNode node) 525protected override bool IsCompilationUnitWithGlobalStatements(SyntaxNode node) 528protected override bool IsGlobalStatement(SyntaxNode node) 531protected override IEnumerable<SyntaxNode> GetTopLevelTypeDeclarations(SyntaxNode compilationUnit) 563protected override IEnumerable<SequenceEdit> GetSyntaxSequenceEdits(ImmutableArray<SyntaxNode> oldNodes, ImmutableArray<SyntaxNode> newNodes) 566internal override SyntaxNode EmptyCompilationUnit 573protected override bool StatementLabelEquals(SyntaxNode node1, SyntaxNode node2) 579protected override bool TryGetActiveSpan(SyntaxNode node, int statementPart, int minLength, out TextSpan span) 663public static (SyntaxNode node, int part) GetFirstBodyActiveStatement(SyntaxNode memberBody) 666protected override IEnumerable<(SyntaxNode statement, int statementPart)> EnumerateNearStatements(SyntaxNode statement) 678var parent = statement.Parent; 723var node = nodeOrToken.AsNode(); 757protected override bool AreEquivalentActiveStatements(SyntaxNode oldStatement, SyntaxNode newStatement, int statementPart) 869(SyntaxNode?)oldNode.Declaration ?? oldNode.Expression!, 870(SyntaxNode?)newNode.Declaration ?? newNode.Expression!); 906internal override bool IsInterfaceDeclaration(SyntaxNode node) 909internal override bool IsRecordDeclaration(SyntaxNode node) 912internal override SyntaxNode? TryGetContainingTypeDeclaration(SyntaxNode node) 915internal override bool IsDeclarationWithInitializer(SyntaxNode declaration) 931internal override bool IsPrimaryConstructorDeclaration(SyntaxNode declaration) 986protected override SyntaxNode? GetSymbolDeclarationSyntax(ISymbol symbol, Func<ImmutableArray<SyntaxReference>, SyntaxReference?> selector, CancellationToken cancellationToken) 991var syntax = symbol switch 1011protected override ISymbol? GetDeclaredSymbol(SemanticModel model, SyntaxNode declaration, CancellationToken cancellationToken) 1026SyntaxNode? oldNode, 1027SyntaxNode? newNode, 1068SyntaxNode? oldNode, 1070SyntaxNode? newNode, 1074Match<SyntaxNode> topMatch, 1075IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 1301var node = oldNode ?? newNode; 1378SyntaxNode node, 1414private ISymbol? GetParameterContainingMemberOrType(SyntaxNode? node, SyntaxNode? otherNode, DocumentSemanticModel model, IReadOnlyDictionary<SyntaxNode, SyntaxNode> fromOtherMap, CancellationToken cancellationToken) 1419SyntaxNode? declaration; 1441static SyntaxNode GetContainingDeclaration(SyntaxNode node) 1445private static bool SupportsMove(SyntaxNode node) 1450internal override Func<SyntaxNode, bool> IsLambda 1453internal override Func<SyntaxNode, bool> IsNotLambda 1456internal override Func<SyntaxNode, IEnumerable<SyntaxToken>> DescendantTokensIgnoringLambdaBodies 1462internal override bool IsLocalFunction(SyntaxNode node) 1465internal override bool IsGenericLocalFunction(SyntaxNode node) 1468internal override bool IsNestedFunction(SyntaxNode node) 1471internal override bool TryGetLambdaBodies(SyntaxNode node, [NotNullWhen(true)] out LambdaBody? body1, out LambdaBody? body2) 1473if (LambdaUtilities.TryGetLambdaBodies(node, out var bodyNode1, out var bodyNode2)) 1485internal override IMethodSymbol GetLambdaExpressionSymbol(SemanticModel model, SyntaxNode lambdaExpression, CancellationToken cancellationToken) 1487var bodyExpression = LambdaUtilities.GetNestedFunctionBody(lambdaExpression); 1491internal override SyntaxNode? GetContainingQueryExpression(SyntaxNode node) 1494internal override bool QueryClauseLambdasTypeEquivalent(SemanticModel oldModel, SyntaxNode oldNode, SemanticModel newModel, SyntaxNode newNode, CancellationToken cancellationToken) 1595protected override TextSpan? TryGetDiagnosticSpan(SyntaxNode node, EditKind editKind) 1598internal static new TextSpan GetDiagnosticSpan(SyntaxNode node, EditKind editKind) 1601private static TextSpan? TryGetDiagnosticSpanImpl(SyntaxNode node, EditKind editKind) 1605internal static TextSpan? TryGetDiagnosticSpanImpl(SyntaxKind kind, SyntaxNode node, EditKind editKind) 1614var globalNode = 1744var startNode = parameter.Type ?? (SyntaxNode)parameter; 1940internal override TextSpan GetLambdaParameterDiagnosticSpan(SyntaxNode lambda, int ordinal) 1990protected override string? TryGetDisplayName(SyntaxNode node, EditKind editKind) 1993internal static new string? GetDisplayName(SyntaxNode node, EditKind editKind) 1996internal static string? TryGetDisplayNameImpl(SyntaxNode node, EditKind editKind) 2263protected override string GetSuspensionPointDisplayName(SyntaxNode node, EditKind editKind) 2288private readonly Match<SyntaxNode>? _match; 2289private readonly SyntaxNode? _oldNode; 2290private readonly SyntaxNode? _newNode; 2297SyntaxNode? oldNode, 2298SyntaxNode? newNode, 2300Match<SyntaxNode>? match = null, 2317private void ReportError(RudeEditKind kind, SyntaxNode? spanNode = null, SyntaxNode? displayNode = null) 2320var node = displayNode ?? _newNode ?? _oldNode; 2370private void ClassifyMove(SyntaxNode newNode) 2380private void ClassifyReorder(SyntaxNode newNode) 2401private void ClassifyInsert(SyntaxNode node) 2430private void ClassifyDelete(SyntaxNode oldNode) 2461private void ClassifyUpdate(SyntaxNode newNode) 2487Match<SyntaxNode> match, 2488Edit<SyntaxNode> edit, 2489Dictionary<SyntaxNode, EditKind> editMap) 2500internal override bool HasUnsupportedOperation(IEnumerable<SyntaxNode> nodes, [NotNullWhen(true)] out SyntaxNode? unsupportedNode, out RudeEditKind rudeEdit) 2505foreach (var node in nodes) 2524internal override void ReportInsertedMemberSymbolRudeEdits(RudeEditDiagnosticsBuilder diagnostics, ISymbol newSymbol, SyntaxNode newNode, bool insertingIntoExistingContainingType) 2586protected override List<SyntaxNode> GetExceptionHandlingAncestors(SyntaxNode node, SyntaxNode root, bool isNonLeaf) 2588var result = new List<SyntaxNode>(); 2590var current = node; 2639IEnumerable<Edit<SyntaxNode>> exceptionHandlingEdits, 2640SyntaxNode oldStatement, 2655private static bool AreExceptionClausesEquivalent(SyntaxNode oldNode, SyntaxNode newNode) 2688protected override TextSpan GetExceptionHandlingRegion(SyntaxNode node, out bool coversAllChildren) 2727internal override bool IsStateMachineMethod(SyntaxNode declaration) 2730internal override void ReportStateMachineSuspensionPointRudeEdits(DiagnosticContext diagnosticContext, SyntaxNode oldNode, SyntaxNode newNode) 2734var oldContainingStatementPart = FindContainingStatementPart(oldNode); 2735var newContainingStatementPart = FindContainingStatementPart(newNode); 2746private static SyntaxNode FindContainingStatementPart(SyntaxNode node) 2780private static bool HasNoSpilledState(SyntaxNode awaitExpression, SyntaxNode containingStatementPart) 2821private static ExpressionSyntax GetExpressionFromStatementPart(SyntaxNode statement) 2837private static bool IsSimpleAwaitAssignment(SyntaxNode node, SyntaxNode awaitExpression) 2853IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseMap, 2854SyntaxNode oldActiveStatement, 2857SyntaxNode newActiveStatement, 2875private void ReportRudeEditsForSwitchWhenClauses(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode oldActiveStatement, SyntaxNode newActiveStatement) 2932SyntaxNode oldActiveStatement, 2933SyntaxNode newActiveStatement, 2966private static CheckedStatementSyntax? TryGetCheckedStatementAncestor(SyntaxNode? node) 2987IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseMap, 2988SyntaxNode oldActiveStatement, 2989SyntaxNode oldEncompassingAncestor, 2991SyntaxNode newActiveStatement, 2992SyntaxNode newEncompassingAncestor, 3015getTypedNodes: static n => OneOrMany.OneOrNone<SyntaxNode>(n.Expression), 3046getTypedNodes: static n => OneOrMany.Create<SyntaxNode>(n.Expression!), 3061getTypedNodes: static n => OneOrMany.OneOrNone<SyntaxNode>(n.Expression), 3066static OneOrMany<SyntaxNode> GetTypedNodes(VariableDeclarationSyntax declaration) 3068? OneOrMany.Create<SyntaxNode>(initializer.Value) 3069: OneOrMany.Create(declaration.Variables.Select(static v => (SyntaxNode?)v.Initializer?.Value).WhereNotNull().ToImmutableArray());
EditAndContinue\DeclarationBody\CopyConstructorDeclarationBody.cs (8)
23public override SyntaxNode? ExplicitBody 26public override SyntaxNode? ParameterClosure 29public override SyntaxNode? MatchRoot 32public override SyntaxNode InitializerActiveStatement 38public override OneOrMany<SyntaxNode> RootNodes 41public override SyntaxNode EncompassingAncestor 50public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 53public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\CSharpLambdaBody.cs (14)
16internal sealed class CSharpLambdaBody(SyntaxNode node) : LambdaBody 18public SyntaxNode Node 24public override OneOrMany<SyntaxNode> RootNodes 27public override SyntaxNode EncompassingAncestor 39public override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 42public override DeclarationBodyMap ComputeMap(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 52public override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement) 55public override LambdaBody? TryGetPartnerLambdaBody(SyntaxNode newLambda) 58public override IEnumerable<SyntaxNode> GetExpressionsAndStatements() 61public override SyntaxNode GetLambda()
EditAndContinue\DeclarationBody\ExplicitAutoPropertyAccessorDeclarationBody.cs (5)
20public override SyntaxNode? ExplicitBody 23public override SyntaxNode? MatchRoot 26public override SyntaxNode? HeaderActiveStatement 32public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 35public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\FieldWithInitializerDeclarationBody.cs (12)
47public override SyntaxNode EncompassingAncestor 50public override IEnumerable<SyntaxToken> GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 56public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 62public override OneOrMany<SyntaxNode> RootNodes 63=> OneOrMany.Create<SyntaxNode>(InitializerExpression); 65public override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 68public override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement) 80public override SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart)
EditAndContinue\DeclarationBody\InstanceConstructorDeclarationBody.cs (13)
18public abstract SyntaxNode InitializerActiveStatement { get; } 19public abstract SyntaxNode? MatchRoot { get; } 24public abstract SyntaxNode? ExplicitBody { get; } 29public abstract SyntaxNode? ParameterClosure { get; } 37public sealed override SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart) 74public sealed override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement) 102public sealed override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 107public override DeclarationBodyMap ComputeMap(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches)
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorDeclarationBody.cs (8)
17public SyntaxNode Body 18=> (SyntaxNode?)constructor.Body ?? constructor.ExpressionBody?.Expression!; 20public sealed override SyntaxNode? ExplicitBody 23public sealed override SyntaxNode EncompassingAncestor 26public sealed override SyntaxNode? MatchRoot 29public sealed override SyntaxNode? ParameterClosure 32public override OneOrMany<SyntaxNode> RootNodes 33=> OneOrMany.Create<SyntaxNode>(constructor);
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorWithExplicitInitializerDeclarationBody.cs (3)
31public override SyntaxNode InitializerActiveStatement 43public override IEnumerable<SyntaxToken> GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 46public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorWithImplicitInitializerDeclarationBody.cs (3)
22public override SyntaxNode InitializerActiveStatement 37public override IEnumerable<SyntaxToken> GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 40public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\PrimaryConstructorDeclarationBody.cs (3)
22public sealed override SyntaxNode? ExplicitBody 25public sealed override OneOrMany<SyntaxNode> RootNodes 28public sealed override SyntaxNode? ParameterClosure
EditAndContinue\DeclarationBody\PrimaryConstructorWithExplicitInitializerDeclarationBody.cs (5)
27public override SyntaxNode InitializerActiveStatement 33public override SyntaxNode? MatchRoot 36public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 39public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 42public sealed override SyntaxNode EncompassingAncestor
EditAndContinue\DeclarationBody\PrimaryConstructorWithImplicitInitializerDeclarationBody.cs (5)
27public override SyntaxNode InitializerActiveStatement 33public override SyntaxNode? MatchRoot 36public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 39public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 42public sealed override SyntaxNode EncompassingAncestor
EditAndContinue\DeclarationBody\PropertyOrIndexerAccessorDeclarationBody.cs (13)
48public abstract SyntaxNode? ExplicitBody { get; } 53public abstract SyntaxNode? HeaderActiveStatement { get; } 57public abstract SyntaxNode? MatchRoot { get; } 59public SyntaxNode RootNode 68public sealed override OneOrMany<SyntaxNode> RootNodes 71public sealed override SyntaxNode EncompassingAncestor 80public sealed override SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart) 102public sealed override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement) 150public sealed override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches)
EditAndContinue\DeclarationBody\PropertyOrIndexerAccessorWithExplicitBodyDeclarationBody.cs (8)
27public SyntaxNode Body 28=> (SyntaxNode?)accessor.Body ?? accessor.ExpressionBody!.Expression; 30public override SyntaxNode? ExplicitBody 33public override SyntaxNode? HeaderActiveStatement 39public override SyntaxNode? MatchRoot 40=> (SyntaxNode?)accessor.Body ?? accessor.ExpressionBody; 42public sealed override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 45public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\PropertyOrIndexerWithExplicitBodyDeclarationBody.cs (5)
25public override SyntaxNode? ExplicitBody 28public override SyntaxNode? HeaderActiveStatement 34public override SyntaxNode? MatchRoot 37public sealed override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 40public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\RecordParameterDeclarationBody.cs (5)
17public override SyntaxNode? ExplicitBody 20public override SyntaxNode? HeaderActiveStatement 26public override SyntaxNode? MatchRoot 29public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 32public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\DeclarationBody\SimpleMemberBody.cs (8)
14internal sealed class SimpleMemberBody(SyntaxNode node) : AbstractSimpleMemberBody(node) 16public override SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart) 30public override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 33public override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement)
EditAndContinue\DeclarationBody\TopLevelCodeDeclarationBody.cs (12)
37public override SyntaxNode EncompassingAncestor 40public override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 43public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 52public override OneOrMany<SyntaxNode> RootNodes 53=> OneOrMany.Create(GlobalStatements.ToImmutableArray<SyntaxNode>()); 55public override Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 58public override SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart) 66public override bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement)
EditAndContinue\SyntaxComparer.cs (54)
27SyntaxNode? oldRoot, 28SyntaxNode? newRoot, 29IEnumerable<SyntaxNode>? oldRootChildren, 30IEnumerable<SyntaxNode>? newRootChildren, 36protected override bool IsLambdaBodyStatementOrExpression(SyntaxNode node) 236internal override int Classify(int kind, SyntaxNode? node, out bool isLeaf) 239internal Label Classify(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 295private static Label ClassifyStatementSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 562private static Label ClassifyTopSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 711public override bool ValuesEqual(SyntaxNode left, SyntaxNode right) 730var leftBody = GetBody(left); 731var rightBody = GetBody(right); 770private static SyntaxNode? GetBody(SyntaxNode node) 774case BaseMethodDeclarationSyntax baseMethodDeclarationSyntax: return baseMethodDeclarationSyntax.Body ?? (SyntaxNode?)baseMethodDeclarationSyntax.ExpressionBody?.Expression; 775case AccessorDeclarationSyntax accessorDeclarationSyntax: return accessorDeclarationSyntax.Body ?? (SyntaxNode?)accessorDeclarationSyntax.ExpressionBody?.Expression; 780protected override bool TryComputeWeightedDistance(SyntaxNode leftNode, SyntaxNode rightNode, out double distance) 822(SyntaxNode?)leftUsing.Expression ?? leftUsing.Declaration!, 824(SyntaxNode?)rightUsing.Expression ?? rightUsing.Declaration!, 947private static double ComputeWeightedDistanceOfNestedFunctions(SyntaxNode leftNode, SyntaxNode rightNode) 949GetNestedFunctionsParts(leftNode, out var leftParameters, out var leftAsync, out var leftBody, out var leftModifiers, out var leftReturnType, out var leftIdentifier, out var leftTypeParameters); 950GetNestedFunctionsParts(rightNode, out var rightParameters, out var rightAsync, out var rightBody, out var rightModifiers, out var rightReturnType, out var rightIdentifier, out var rightTypeParameters); 974SyntaxNode nestedFunction, 977out SyntaxNode body, 1030body = (SyntaxNode?)localFunction.Body ?? localFunction.ExpressionBody!; 1212SyntaxNode? leftHeader, 1214SyntaxNode? rightHeader, 1290foreach (var child in block.ChildNodes()) 1385SyntaxNode? left1, 1386SyntaxNode? right1, 1387SyntaxNode? left2, 1388SyntaxNode? right2, 1420private static SyntaxNodeOrToken? TryGetName(SyntaxNode node) 1518public sealed override double GetDistance(SyntaxNode oldNode, SyntaxNode newNode) 1540internal static double ComputeValueDistance(SyntaxNode? oldNode, SyntaxNode? newNode) 1569var leftNode = oldNodeOrToken.AsNode(); 1570var rightNode = newNodeOrToken.AsNode(); 1583where TSyntaxNode : SyntaxNode 1600public static double ComputeDistance(SyntaxNode? oldNode, SyntaxNode? newNode) 1639public static double ComputeDistance(IEnumerable<SyntaxNode>? oldNodes, IEnumerable<SyntaxNode>? newNodes) 1645public static IEnumerable<SequenceEdit> GetSequenceEdits(IEnumerable<SyntaxNode>? oldNodes, IEnumerable<SyntaxNode>? newNodes) 1651public static IEnumerable<SequenceEdit> GetSequenceEdits(ImmutableArray<SyntaxNode> oldNodes, ImmutableArray<SyntaxNode> newNodes) 1674private sealed class LcsNodes : LongestCommonImmutableArraySubsequence<SyntaxNode> 1678protected override bool Equals(SyntaxNode oldElement, SyntaxNode newElement)
EditAndContinue\SyntaxUtilities.cs (16)
18public static LambdaBody CreateLambdaBody(SyntaxNode node) 21public static MemberBody? TryGetDeclarationBody(SyntaxNode node, ISymbol? symbol) 75internal static MemberBody? CreateSimpleBody(SyntaxNode? body) 86public static SyntaxNode? BlockOrExpression(BlockSyntax? blockBody, ArrowExpressionClauseSyntax? expressionBody) 87=> (SyntaxNode?)blockBody ?? expressionBody?.Expression; 90public static void AssertIsBody(SyntaxNode syntax, bool allowLambda) 139public static SyntaxNode? TryGetEffectiveGetterBody(SyntaxNode declaration) 154public static SyntaxNode? TryGetEffectiveGetterBody(ArrowExpressionClauseSyntax? propertyBody, AccessorListSyntax? accessorList) 167return (SyntaxNode?)firstGetter.Body ?? firstGetter.ExpressionBody?.Expression; 170public static SyntaxTokenList? TryGetFieldOrPropertyModifiers(SyntaxNode node) 181public static bool IsParameterlessConstructor(SyntaxNode declaration) 206public static bool IsAsyncDeclaration(SyntaxNode declaration) 240public static IEnumerable<SyntaxNode> GetSuspensionPoints(SyntaxNode body) 244public static bool IsIterator(SyntaxNode body)
EmbeddedLanguages\EmbeddedLanguageUtilities.cs (1)
19var parent = stringLiteral.GetRequiredParent();
EncapsulateField\CSharpEncapsulateFieldService.cs (4)
36protected override async Task<SyntaxNode> RewriteFieldNameAndAccessibilityAsync(string originalFieldName, bool makePrivate, Document document, SyntaxAnnotation declarationAnnotation, CancellationToken cancellationToken) 38var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 65var declaration = root.GetAnnotatedNodes<SyntaxNode>(tempAnnotation).First().Parent as VariableDeclarationSyntax; 126var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ExtractInterface\CSharpExtractInterfaceService.cs (4)
32protected override async Task<SyntaxNode> GetTypeDeclarationAsync(Document document, int position, TypeDiscoveryRule typeDiscoveryRule, CancellationToken cancellationToken) 42var relevantNode = await document.TryGetRelevantNodeAsync<SyntaxNode>(span, cancellationToken).ConfigureAwait(false); 60internal override bool ShouldIncludeAccessibilityModifier(SyntaxNode typeNode)
ExtractMethod\CSharpMethodExtractor.cs (12)
34protected override SyntaxNode GetInsertionPointNode( 41var root = document.Root; 48var baseNode = outermostCapturedVariable != null 62var currentNode = baseNode; 135SyntaxNode GetInsertionPointForGlobalStatement(GlobalStatementSyntax globalStatement, MemberDeclarationSyntax memberNode) 152private bool SelectionWithin(SyntaxNode node) 162protected override async Task<TriviaResult> PreserveTriviaAsync(SyntaxNode root, CancellationToken cancellationToken) 175protected override SyntaxNode ParseTypeName(string name) 181SyntaxNode methodDefinition, 189var originalMethodDefinition = methodDefinition; 200var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 203var newRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (36)
24private readonly SyntaxNode _outmostCallSiteContainer; 26private readonly SyntaxNode _firstStatementOrFieldToReplace; 27private readonly SyntaxNode _lastStatementOrFieldToReplace; 28private readonly ImmutableArray<SyntaxNode> _statementsOrMemberOrAccessorToInsert; 31SyntaxNode outmostCallSiteContainer, 33SyntaxNode firstStatementOrFieldToReplace, 34SyntaxNode lastStatementOrFieldToReplace, 35ImmutableArray<SyntaxNode> statementsOrFieldToInsert) 51public SyntaxNode Generate() 54private SyntaxNode ContainerOfStatementsOrFieldToReplace => _firstStatementOrFieldToReplace.Parent; 56public override SyntaxNode VisitLocalDeclarationStatement(LocalDeclarationStatementSyntax node) 123public override SyntaxNode VisitBlock(BlockSyntax node) 134public override SyntaxNode VisitSwitchSection(SwitchSectionSyntax node) 146public override SyntaxNode VisitLabeledStatement(LabeledStatementSyntax node) 156public override SyntaxNode VisitElseClause(ElseClauseSyntax node) 166public override SyntaxNode VisitIfStatement(IfStatementSyntax node) 178public override SyntaxNode VisitLockStatement(LockStatementSyntax node) 189public override SyntaxNode VisitFixedStatement(FixedStatementSyntax node) 200public override SyntaxNode VisitUsingStatement(UsingStatementSyntax node) 212public override SyntaxNode VisitForEachStatement(ForEachStatementSyntax node) 223public override SyntaxNode VisitForEachVariableStatement(ForEachVariableStatementSyntax node) 234public override SyntaxNode VisitForStatement(ForStatementSyntax node) 248public override SyntaxNode VisitDoStatement(DoStatementSyntax node) 259public override SyntaxNode VisitWhileStatement(WhileStatementSyntax node) 270private TNode VisitNode<TNode>(TNode node) where TNode : SyntaxNode 291where TSyntax : SyntaxNode 342public override SyntaxNode VisitGlobalStatement(GlobalStatementSyntax node) 352public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) 362public override SyntaxNode VisitConstructorDeclaration(ConstructorDeclarationSyntax node) 373public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax node) 383public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node) 393public override SyntaxNode VisitStructDeclaration(StructDeclarationSyntax node) 403public override SyntaxNode VisitAccessorList(AccessorListSyntax node) 414public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) 426public override SyntaxNode VisitBaseList(BaseListSyntax node) 435private SyntaxNode GetUpdatedTypeDeclaration(TypeDeclarationSyntax node)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (47)
39private abstract partial class CSharpCodeGenerator : CodeGenerator<SyntaxNode, CSharpCodeGenerationOptions> 82public override OperationStatus<ImmutableArray<SyntaxNode>> GetNewMethodStatements(SyntaxNode insertionPointNode, CancellationToken cancellationToken) 86return status.With(statements.CastArray<SyntaxNode>()); 90SyntaxNode insertionPointNode, CancellationToken cancellationToken) 105statements: statements.CastArray<SyntaxNode>(), 112protected override async Task<SyntaxNode> GenerateBodyForCallSiteContainerAsync( 113SyntaxNode insertionPointNode, 114SyntaxNode container, 119var firstStatementToRemove = GetFirstStatementOrInitializerSelectedAtCallSite(); 120var lastStatementToRemove = GetLastStatementOrInitializerSelectedAtCallSite(); 135private async Task<ImmutableArray<SyntaxNode>> CreateStatementsOrInitializerToInsertAtCallSiteAsync( 136SyntaxNode insertionPointNode, CancellationToken cancellationToken) 138var selectedNode = GetFirstStatementOrInitializerSelectedAtCallSite(); 145var statement = await GetStatementOrInitializerContainingInvocationToExtractedMethodAsync(cancellationToken).ConfigureAwait(false); 160return statements.CastArray<SyntaxNode>(); 299protected override bool ShouldLocalFunctionCaptureParameter(SyntaxNode node) 302private static bool IsExpressionBodiedMember(SyntaxNode node) 305private static bool IsExpressionBodiedAccessor(SyntaxNode node) 323protected override SyntaxNode GetCallSiteContainerFromOutermostMoveInVariable() 340var ancestors = token.GetAncestors<SyntaxNode>(); 408SyntaxNode insertionPoint, CancellationToken cancellationToken) 438SyntaxNode ConvertExitPoint(SyntaxNode current) 528protected SyntaxKind UnderCheckedContext<T>() where T : SyntaxNode 697var replacements = new Dictionary<SyntaxNode, SyntaxNode>(); 702foreach (var node in declarations) 781SyntaxNode insertionPointNode, 796var lastStatement = GetLastStatementOrInitializerSelectedAtCallSite(); 797var container = lastStatement.GetAncestorsOrThis<SyntaxNode>().FirstOrDefault(n => n.IsReturnableConstruct()); 1007var root = newDocument.Root; 1008var methodDefinition = root.GetAnnotatedNodes<SyntaxNode>(MethodDefinitionAnnotation).First(); 1010SyntaxNode newMethodDefinition = methodDefinition switch 1029private static TDeclarationNode TweakNewLinesInMethod<TDeclarationNode>(TDeclarationNode method, BlockSyntax body, ArrowExpressionClauseSyntax expressionBody) where TDeclarationNode : SyntaxNode 1060var syntaxNode = originalDocument.Root.GetAnnotatedNodesAndTokens(MethodDefinitionAnnotation).FirstOrDefault().AsNode(); 1074static bool ReturnOperationBelongsToMethod(SyntaxNode returnOperationSyntax, SyntaxNode methodSyntax) 1076var enclosingMethod = returnOperationSyntax.FirstAncestorOrSelf<SyntaxNode>(n => n switch 1088SyntaxNode node, 1104var syntax = returnOperation.ReturnedValue?.Syntax ?? returnOperation.Syntax; 1125var oldRoot = await originalDocument.Document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 1126var newRoot = oldRoot.ReplaceNode(returnType, newType.GenerateTypeSyntax(allowVar: false)); 1136var scope = this.SelectionResult.GetContainingScope();
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.ExpressionCodeGenerator.cs (11)
34var containingScope = this.SelectionResult.GetContainingScope(); 43private static string GetMethodNameBasedOnExpression(string methodName, SyntaxNode expression) 115protected override SyntaxNode GetFirstStatementOrInitializerSelectedAtCallSite() 117var scope = (SyntaxNode)this.SelectionResult.GetContainingScopeOf<StatementSyntax>(); 131protected override SyntaxNode GetLastStatementOrInitializerSelectedAtCallSite() 134protected override async Task<SyntaxNode> GetStatementOrInitializerContainingInvocationToExtractedMethodAsync(CancellationToken cancellationToken) 136var enclosingStatement = GetFirstStatementOrInitializerSelectedAtCallSite(); 140var sourceNode = this.SelectionResult.GetContainingScope(); 152var newEnclosingStatement = enclosingStatement 158var updatedRoot = await updatedDocument.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.MultipleStatementsCodeGenerator.cs (5)
66private static IEnumerable<StatementSyntax> GetStatementsFromContainer(SyntaxNode node) 80protected override SyntaxNode GetFirstStatementOrInitializerSelectedAtCallSite() 83protected override SyntaxNode GetLastStatementOrInitializerSelectedAtCallSite() 86protected override Task<SyntaxNode> GetStatementOrInitializerContainingInvocationToExtractedMethodAsync(CancellationToken cancellationToken) 89return Task.FromResult<SyntaxNode>(statement.WithAdditionalAnnotations(CallSiteAnnotation));
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.SingleStatementCodeGenerator.cs (4)
37protected override SyntaxNode GetFirstStatementOrInitializerSelectedAtCallSite() 40protected override SyntaxNode GetLastStatementOrInitializerSelectedAtCallSite() 47protected override Task<SyntaxNode> GetStatementOrInitializerContainingInvocationToExtractedMethodAsync(CancellationToken cancellationToken) 50return Task.FromResult<SyntaxNode>(statement.WithAdditionalAnnotations(CallSiteAnnotation));
ExtractMethod\CSharpMethodExtractor.FormattingProvider.cs (1)
60public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation)
ExtractMethod\CSharpMethodExtractor.TriviaResult.cs (8)
23protected override AnnotationResolver GetAnnotationResolver(SyntaxNode callsite, SyntaxNode method) 34protected override TriviaResolver GetTriviaResolver(SyntaxNode method) 46SyntaxNode node, 49SyntaxNode callsite, 50SyntaxNode method) 77SyntaxNode method) 121private static (BlockSyntax body, ArrowExpressionClauseSyntax expressionBody, SyntaxToken semicolonToken) GetResolverElements(SyntaxNode method)
ExtractMethod\CSharpSelectionResult.cs (8)
37var root = await document.Document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 59protected override SyntaxNode GetNodeForDataFlowAnalysis() 61var node = base.GetNodeForDataFlowAnalysis(); 90public SyntaxNode GetInnermostStatementContainer() 93var containingScope = GetContainingScope(); 133public override bool ContainsUnsupportedExitPointsStatements(ImmutableArray<SyntaxNode> exitPoints) 136public override ImmutableArray<StatementSyntax> GetOuterReturnStatements(SyntaxNode commonRoot, ImmutableArray<SyntaxNode> exitPoints)
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (3)
33public override SyntaxNode GetContainingScope() 146public override SyntaxNode GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken) 148var container = this.GetInnermostStatementContainer();
ExtractMethod\CSharpSelectionResult.StatementResult.cs (4)
37public override SyntaxNode GetContainingScope() 51var node = GetContainingScope(); 88public override SyntaxNode GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken) 99var container = firstStatement.GetRequiredParent();
ExtractMethod\CSharpSelectionValidator.cs (13)
29var root = this.SemanticDocument.Root; 39var commonRoot = firstTokenInSelection.GetCommonRoot(lastTokenInSelection); 74var root = SemanticDocument.Root; 118foreach (var ancestor in initialSelectionInfo.CommonRoot.AncestorsAndSelf()) 131var expressionNode = finalSelectionInfo.FirstTokenInFinalSpan.GetCommonRoot(finalSelectionInfo.LastTokenInFinalSpan); 147for (var current = initialSelectionInfo.CommonRoot; current != null; current = current.Parent) 176var node = selectionInfo.FirstTokenInFinalSpan.GetCommonRoot(selectionInfo.LastTokenInFinalSpan); 184var firstValidNode = node.GetAncestors<SyntaxNode>().FirstOrDefault(n => Check(semanticModel, n, cancellationToken)); 207=> token.GetAncestors<SyntaxNode>().Any(n => CheckTopLevel(n, token.Span)); 209private static bool CheckTopLevel(SyntaxNode node, TextSpan span) 269SyntaxNode root) 283var commonNode = selectionInfo.FirstTokenInFinalSpan.GetCommonRoot(selectionInfo.LastTokenInFinalSpan);
ExtractMethod\CSharpSelectionValidator.Validator.cs (1)
17public static bool Check(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
ExtractMethod\Extensions.cs (16)
19public static StatementSyntax? GetStatementUnderContainer(this SyntaxNode node) 23for (var current = node; current is object; current = current.Parent) 35public static StatementSyntax GetParentLabeledStatementIfPossible(this SyntaxNode node) 38public static bool IsStatementContainerNode([NotNullWhen(returnValue: true)] this SyntaxNode? node) 41public static BlockSyntax? GetBlockBody(this SyntaxNode? node) 54public static bool UnderValidContext(this SyntaxNode node) 58if (!node.GetAncestorsOrThis<SyntaxNode>().Any(predicate)) 65bool predicate(SyntaxNode n) 95public static bool ContainedInValidType(this SyntaxNode node) 98foreach (var ancestor in node.AncestorsAndSelf()) 114public static bool PartOfConstantInitializerExpression(this SyntaxNode node) 120private static bool PartOfConstantInitializerExpression<T>(this SyntaxNode node, Func<T, SyntaxTokenList> modifiersGetter) where T : SyntaxNode 233public static bool HasSyntaxAnnotation(this HashSet<SyntaxAnnotation> set, SyntaxNode node) 251public static bool IsArrayInitializer([NotNullWhen(returnValue: true)] this SyntaxNode? node) 254public static bool IsExpressionInCast([NotNullWhen(returnValue: true)] this SyntaxNode? node)
Formatting\CSharpAccessibilityModifiersNewDocumentFormattingProvider.cs (2)
38var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46foreach (var declaration in typeDeclarations)
FullyQualify\CSharpFullyQualifyService.cs (3)
28protected override bool CanFullyQualify(SyntaxNode node, [NotNullWhen(true)] out SimpleNameSyntax? simpleName) 43protected override async Task<SyntaxNode> ReplaceNodeAsync(SimpleNameSyntax simpleName, string containerName, bool resultingSymbolIsType, CancellationToken cancellationToken) 52var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false);
GenerateConstructors\CSharpGenerateConstructorsCodeRefactoringProvider.cs (3)
66var body = propertyDeclaration.ExpressionBody ?? getAccessor?.ExpressionBody ?? (SyntaxNode?)getAccessor?.Body; 75private static string? GetAccessedMemberName(SyntaxNode? body)
GenerateEqualsAndGetHashCodeFromMembers\CSharpGenerateEqualsAndGetHashCodeService.cs (2)
25protected override bool TryWrapWithUnchecked(ImmutableArray<SyntaxNode> statements, out ImmutableArray<SyntaxNode> wrappedStatements)
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (5)
33protected override bool IsExplicitInterfaceGeneration(SyntaxNode node) 36protected override bool IsIdentifierNameGeneration(SyntaxNode node) 64SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, 152var localRoot = identifierName.GetAncestor<StatementSyntax>() ?? 205protected override bool TryConvertToLocalDeclaration(ITypeSymbol type, SyntaxToken identifierToken, SemanticModel semanticModel, CancellationToken cancellationToken, out SyntaxNode newRoot)
GenerateType\CSharpGenerateTypeService.cs (9)
475? genericName.TypeArgumentList.Arguments.OfType<SyntaxNode>().ToList() 476: Enumerable.Repeat<SyntaxNode>(null, state.SimpleName.Arity); 542INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken) 661var node = expression as SyntaxNode; 662SyntaxNode previousNode = null; 698private static bool IsAllContainingTypeDeclsPublic(SyntaxNode node) 713Solution updatedSolution, SyntaxNode modifiedRoot, Document document, SimpleNameSyntax simpleName, string includeUsingsOrImports, CancellationToken cancellationToken) 721SyntaxNode root = null;
GoToDefinition\CSharpGoToDefinitionSymbolService.cs (6)
29var node = token.GetRequiredParent(); 45var foundReturnableConstruct = TryFindContainingReturnableConstruct(node); 78static int? GetBreakOrContinueTargetPosition(SemanticModel semanticModel, SyntaxNode node, bool isBreak) 91for (var current = node; current is not null && current != corresponding.Syntax; current = current.Parent) 104static SyntaxNode? TryFindContainingReturnableConstruct(SyntaxNode? node)
Highlighting\KeywordHighlighters\AsyncAwaitHighlighter.cs (10)
27private static readonly ObjectPool<Stack<SyntaxNode>> s_stackPool 28= SharedPools.Default<Stack<SyntaxNode>>(); 33protected override bool IsHighlightableNode(SyntaxNode node) 36protected override void AddHighlightsForNode(SyntaxNode node, List<TextSpan> highlights, CancellationToken cancellationToken) 38foreach (var current in WalkChildren(node)) 45private static IEnumerable<SyntaxNode> WalkChildren(SyntaxNode node) 51while (stack.TryPop(out var current)) 59if (child.AsNode(out var childNode)) 70private static bool HighlightRelatedKeywords(SyntaxNode node, List<TextSpan> spans)
Highlighting\KeywordHighlighters\LoopHighlighter.cs (4)
35protected override bool IsHighlightableNode(SyntaxNode node) 39SyntaxNode node, List<TextSpan> spans, CancellationToken cancellationToken) 81private static void HighlightRelatedKeywords(SyntaxNode node, List<TextSpan> spans, 104foreach (var child in node.ChildNodes())
Highlighting\KeywordHighlighters\ReturnStatementHighlighter.cs (3)
33var parent = returnStatement 34.GetAncestorsOrThis<SyntaxNode>() 48private static void HighlightRelatedKeywords(SyntaxNode node, List<TextSpan> spans)
Highlighting\KeywordHighlighters\SwitchStatementHighlighter.cs (2)
59private static void HighlightRelatedKeywords(SyntaxNode node, List<TextSpan> spans, 93if (!childNodeOrToken.AsNode(out var child))
Highlighting\KeywordHighlighters\YieldStatementHighlighter.cs (3)
33var parent = yieldStatement 34.GetAncestorsOrThis<SyntaxNode>() 48private static void HighlightRelatedKeywords(SyntaxNode node, List<TextSpan> spans)
ImplementInterface\AbstractChangeImplementationCodeRefactoringProvider.cs (9)
45protected abstract SyntaxNode ChangeImplementation(SyntaxGenerator generator, SyntaxNode currentDecl, ISymbol implMember, ISymbol interfaceMember); 129private static async Task<(SyntaxNode?, ExplicitInterfaceSpecifierSyntax?, SyntaxToken)> GetContainerAsync(CodeRefactoringContext context) 133var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 156private static (SyntaxNode? declaration, ExplicitInterfaceSpecifierSyntax?, SyntaxToken) GetContainer(SyntaxToken token) 158for (var node = token.Parent; node != null; node = node.Parent) 165_ => default((SyntaxNode member, ExplicitInterfaceSpecifierSyntax?, SyntaxToken)), 231var documentToImplDeclarations = new OrderedMultiDictionary<Document, (SyntaxNode, ISymbol impl, SetWithInsertionOrder<ISymbol> interfaceMembers)>(); 241var decl = GetContainer(declToken).declaration;
ImplementInterface\CSharpImplementExplicitlyCodeRefactoringProvider.cs (5)
67var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 92var identifierName = location.FindNode(getInnermostNodeForTie: true, cancellationToken); 96var node = syntaxFacts.IsNameOfSimpleMemberAccessExpression(identifierName) || syntaxFacts.IsNameOfMemberBindingExpression(identifierName) 143protected override SyntaxNode ChangeImplementation(SyntaxGenerator generator, SyntaxNode decl, ISymbol implMember, ISymbol interfaceMember)
ImplementInterface\CSharpImplementImplicitlyCodeRefactoringProvider.cs (4)
48protected override SyntaxNode ChangeImplementation(SyntaxGenerator generator, SyntaxNode decl, ISymbol _1, ISymbol _2) 51private static SyntaxNode WithoutExplicitImpl(SyntaxNode decl)
InheritanceMargin\CSharpInheritanceMarginService.cs (4)
28protected override ImmutableArray<SyntaxNode> GetMembers(IEnumerable<SyntaxNode> nodesToSearch) 32using var _ = PooledObjects.ArrayBuilder<SyntaxNode>.GetInstance(out var builder); 65protected override SyntaxToken GetDeclarationToken(SyntaxNode declarationNode)
InitializeParameter\CSharpAddParameterCheckCodeRefactoringProvider.cs (4)
31protected override bool IsFunctionDeclaration(SyntaxNode node) 34protected override SyntaxNode GetBody(SyntaxNode functionDeclaration) 40protected override bool CanOffer(SyntaxNode body)
InitializeParameter\CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs (5)
25protected override bool IsFunctionDeclaration(SyntaxNode node) 39protected override SyntaxNode GetBody(SyntaxNode functionDeclaration) 42protected override SyntaxNode RemoveThrowNotImplemented(SyntaxNode node)
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider_Update.cs (5)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 39var trackedRoot = root.TrackNodes(typeDeclaration); 46var currentRoot = await currentDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135static (ISymbol? symbol, SyntaxNode? syntax, CodeGenerationContext context) GetAddContext<TSymbol>( 146var syntax = syntaxReference.GetSyntax(cancellationToken);
InlineHints\CSharpInlineParameterNameHintsService.cs (5)
29SyntaxNode node, 30ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> buffer, 45ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> buffer, 61ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> buffer, 98protected override bool IsIndexer(SyntaxNode node, IParameterSymbol parameter)
InlineHints\CSharpInlineTypeHintsService.cs (1)
23SyntaxNode node,
IntroduceParameter\CSharpIntroduceParameterCodeRefactoringProvider.cs (5)
25protected override SyntaxNode GenerateExpressionFromOptionalParameter(IParameterSymbol parameterSymbol) 28protected override SyntaxNode? GetLocalDeclarationFromDeclarator(SyntaxNode variableDecl) 34protected override SyntaxNode UpdateArgumentListSyntax(SyntaxNode argumentList, SeparatedSyntaxList<ArgumentSyntax> arguments)
IntroduceUsingStatement\CSharpIntroduceUsingStatementCodeRefactoringProvider.cs (4)
41protected override bool CanRefactorToContainBlockStatements(SyntaxNode parent) 52protected override SyntaxNode WithStatements(SyntaxNode parentOfStatementsToSurround, SyntaxList<StatementSyntax> statements) 55parentOfStatementsToSurround is BlockSyntax block ? block.WithStatements(statements) as SyntaxNode :
IntroduceVariable\CSharpIntroduceVariableService_IntroduceField.cs (1)
70var newRoot = document.Root.ReplaceNode(oldTypeDeclaration, finalTypeDeclaration);
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (19)
39var containerToGenerateInto = globalStatement != null 242var oldParentingNode = oldBody.GetRequiredParent(); 261var newRoot = document.Root.ReplaceNode(oldParentingNode, WithBlockBody(oldParentingNode, newBody).WithTriviaFrom(oldParentingNode)); 265private static SyntaxNode WithBlockBody(SyntaxNode node, BlockSyntax body) 298SyntaxNode scope = compilationUnit; 321var replacement = editor.Generator.AddParentheses(newLocalName, includeElasticTrivia: false); 368SyntaxNode scope = block; 380var root = document.Root; 383SyntaxNode innermostCommonBlock; 395root = root.TrackNodes(allAffectedStatements.Concat(new SyntaxNode[] { expression, statement })); 414var newInnerMostBlock = Rewrite( 418var finalInnerMostBlock = WithStatements(newInnerMostBlock, statements); 420var newRoot = root.ReplaceNode(innermostCommonBlock, finalInnerMostBlock); 439private static int GetFirstStatementAffectedIndex(SyntaxNode innermostCommonBlock, ISet<ExpressionSyntax> matches, int firstStatementAffectedIndex) 530private static bool IsBlockLike(SyntaxNode node) => node is BlockSyntax or SwitchSectionSyntax; 532private static SyntaxList<StatementSyntax> GetStatements(SyntaxNode blockLike) 540private static SyntaxNode WithStatements(SyntaxNode blockLike, SyntaxList<StatementSyntax> statements)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceQueryLocal.cs (13)
22private static bool IsAnyQueryClause(SyntaxNode node) 40var innermostClauses = new HashSet<SyntaxNode>( 41matches.Select(expr => expr.GetAncestorsOrThis<SyntaxNode>().First(IsAnyQueryClause))); 57var allAffectedClauses = new HashSet<SyntaxNode>(matches.SelectMany(expr => expr.GetAncestorsOrThis<SyntaxNode>().Where(IsAnyQueryClause))); 62var firstClauseAffectedInQuery = oldClauses.First(allAffectedClauses.Contains); 70var newRoot = document.Root.ReplaceNode(oldInnerMostCommonQuery, finalQuery); 83var oldClause = expression.GetAncestors<SyntaxNode>().First(IsAnyQueryClause); 84var newClause = Rewrite( 90var newRoot = document.Root.ReplaceNode(oldQuery, newQuery); 96SyntaxNode oldClause, 97SyntaxNode newClause,
IntroduceVariable\CSharpIntroduceVariableService.cs (3)
62for (SyntaxNode? node = expression; node != null; node = node.Parent) 131protected override IEnumerable<SyntaxNode> GetContainingExecutableBlocks(ExpressionSyntax expression) 148SyntaxNode replacementNode,
IntroduceVariable\CSharpIntroduceVariableService.Rewriter.cs (12)
20private readonly SyntaxNode _replacementNode; 23private Rewriter(SyntaxNode replacementNode, ISet<ExpressionSyntax> matches) 29public override SyntaxNode? Visit(SyntaxNode? node) 42public override SyntaxNode? VisitAnonymousObjectMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax node) 59public override SyntaxNode? VisitArgument(ArgumentSyntax node) 77public override SyntaxNode? VisitParenthesizedExpression(ParenthesizedExpressionSyntax node) 79var newNode = base.VisitParenthesizedExpression(node); 83var innerExpression = parenthesizedExpression.OpenParenToken.GetNextToken().GetRequiredParent(); 93public static SyntaxNode Visit(SyntaxNode node, SyntaxNode replacementNode, ISet<ExpressionSyntax> matches)
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (11)
44protected override SyntaxNode GetCondition(IfStatementSyntax ifNode) 47protected override SyntaxNode GetCondition(IfDirectiveTriviaSyntax ifNode) 53protected override bool IsStatementContainer(SyntaxNode node) 56protected override bool IsNoOpSyntaxNode(SyntaxNode node) 59protected override bool IsExecutableStatement(SyntaxNode node) 74protected override bool CanControlFlowOut(SyntaxNode node) 93protected override SyntaxList<StatementSyntax> GetStatements(SyntaxNode node) 101protected override SyntaxKind? GetJumpStatementKind(SyntaxNode node) 143SyntaxNode condition, 231protected override SyntaxNode WithStatements(SyntaxNode node, IEnumerable<StatementSyntax> statements)
LanguageServices\CSharpSymbolDisplayService.SymbolDescriptionBuilder.cs (4)
200var root = SemanticModel.SyntaxTree.GetRoot(CancellationToken); 316private async Task<T?> GetFirstDeclarationAsync<T>(ISymbol symbol) where T : SyntaxNode 320var syntax = await syntaxRef.GetSyntaxAsync(CancellationToken).ConfigureAwait(false); 351var syntax = method.DeclaringSyntaxReferences.FirstOrDefault(r => r.SyntaxTree == semanticModel.SyntaxTree)?.GetSyntax();
LineSeparators\CSharpLineSeparatorService.cs (19)
39var node = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 42var blocks = node.Traverse<SyntaxNode>(textSpan, IsSeparableContainer); 44foreach (var block in blocks) 69private static bool IsSeparableBlock(SyntaxNode node) 95private static bool IsSeparableContainer(SyntaxNode node) 98private static bool IsBadType(SyntaxNode node) 112private static bool IsBadEnum(SyntaxNode node) 126private static bool IsBadMethod(SyntaxNode node) 141private static bool IsBadProperty(SyntaxNode node) 144private static bool IsBadEvent(SyntaxNode node) 147private static bool IsBadIndexer(SyntaxNode node) 159private static bool IsBadConstructor(SyntaxNode node) 174private static bool IsBadDestructor(SyntaxNode node) 189private static bool IsBadOperator(SyntaxNode node) 204private static bool IsBadConversionOperator(SyntaxNode node) 219private static bool IsBadNode(SyntaxNode node) 258private static void ProcessNodeList<T>(SyntaxList<T> children, ArrayBuilder<TextSpan> spans, CancellationToken cancellationToken) where T : SyntaxNode 311private static void AddLineSeparatorSpanForNode(SyntaxNode node, ArrayBuilder<TextSpan> spans, CancellationToken cancellationToken) 345private static TextSpan GetLineSeparatorSpanForNode(SyntaxNode node)
MetadataAsSource\CSharpMetadataAsSourceService.cs (9)
45var oldRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46var newRoot = oldRoot.WithPrependedLeadingTrivia( 63var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 65var newSyntaxRoot = DocCommentConverter.ConvertToRegularComments(syntaxRoot, docCommentFormattingService, cancellationToken); 110var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 118var newRoot = AddNullableRegions(root, cancellationToken); 124private static (bool oblivious, bool annotatedOrNotAnnotated) GetNullableAnnotations(SyntaxNode node) 130private static bool HasAnnotation(SyntaxNode node, SyntaxAnnotation annotation) 150where TSyntax : SyntaxNode
MetadataAsSource\FormattingRule.cs (3)
33SyntaxNode previousMember = FormattingRangeHelper.GetEnclosingMember(previousToken); 34SyntaxNode nextMember = FormattingRangeHelper.GetEnclosingMember(currentToken); 60public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation)
MoveToNamespace\CSharpMoveToNamespaceService.cs (2)
20protected override BaseTypeDeclarationSyntax? GetNamedTypeDeclarationSyntax(SyntaxNode node) 28protected override string GetNamespaceName(SyntaxNode container)
NavigationBar\CSharpNavigationBarItemService.cs (9)
140using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToVisit); 144while (nodesToVisit.TryPop(out var node)) 161foreach (var child in node.ChildNodes()) 167private static INamedTypeSymbol? GetType(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 204var referenceNode = syntaxReference.GetSyntax(cancellationToken); 217Solution solution, SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 224foreach (var localFunction in localFunctions) 271var declaringNode = reference.GetSyntax(); 293var declaringNode = reference.GetSyntax();
Organizing\CSharpOrganizingService.cs (1)
27var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Organizing\CSharpOrganizingService.Rewriter.cs (5)
19private readonly Func<SyntaxNode, IEnumerable<ISyntaxOrganizer>> _nodeToOrganizersGetter = treeOrganizer.GetNodeToOrganizers(organizers.ToList()); 23public override SyntaxNode DefaultVisit(SyntaxNode node) 29public override SyntaxNode Visit(SyntaxNode node)
Organizing\Organizers\MemberDeclarationsOrganizer.cs (3)
42IList<TSyntaxNode> finalList) where TSyntaxNode : SyntaxNode 73private static void FixupOriginalFirstNode<TSyntaxNode>(IList<TSyntaxNode> originalList, IList<TSyntaxNode> finalList) where TSyntaxNode : SyntaxNode 94IList<TSyntaxNode> finalList) where TSyntaxNode : SyntaxNode
QuickInfo\CSharpDiagnosticAnalyzerQuickInfoProvider.cs (1)
44var errorCodeNode = token.Parent switch
QuickInfo\CSharpSemanticQuickInfoProvider.cs (7)
39protected override bool GetBindableNodeForTokenIndicatingLambda(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found) 59protected override bool GetBindableNodeForTokenIndicatingPossibleIndexerAccess(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found) 95var node = token.Parent; 117var nameSyntax = invocation.Expression switch 119MemberAccessExpressionSyntax memberAccess => (SyntaxNode)memberAccess.Name, 183SyntaxNode node, 268static TypeInfo GetTypeInfo(SemanticModel semanticModel, ISymbol symbol, SyntaxNode node, CancellationToken cancellationToken)
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (3)
59var parent = token.Parent!; 88private static bool IsScopeBlock(SyntaxNode node) 92private static void MarkInterestedSpanNearbyScopeBlock(SyntaxNode block, SyntaxToken openBrace, ref int spanStart, ref int spanEnd)
RawStringLiteral\CSharpRawStringLiteralOnAutoInsertService.cs (3)
58var root = document.GetRequiredSyntaxRootSynchronously(cancellationToken); 110var root = document.GetRequiredSyntaxRootSynchronously(cancellationToken); 154var root = document.GetRequiredSyntaxRootSynchronously(cancellationToken);
RemoveUnusedVariable\CSharpRemoveUnusedVariableCodeFixProvider.cs (6)
34protected override SyntaxNode GetNodeToRemoveOrReplace(SyntaxNode node) 39var parent = node.Parent; 53protected override void RemoveOrReplaceNode(SyntaxEditor editor, SyntaxNode node, IBlockFactsService blockFacts) 66protected override SeparatedSyntaxList<SyntaxNode> GetVariables(LocalDeclarationStatementSyntax localDeclarationStatement) 69protected override bool ShouldOfferFixForLocalDeclaration(IBlockFactsService blockFacts, SyntaxNode node)
Rename\CSharpRenameIssuesService.cs (1)
58var parent = token.Parent;
ReplaceDocCommentTextWithTag\CSharpReplaceDocCommentTextWithTagCodeRefactoringProvider.cs (1)
32protected override SyntaxNode ParseExpression(string text)
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (5)
36public void RemoveSetMethod(SyntaxEditor editor, SyntaxNode setMethodDeclaration) 54var newProperty = ConvertMethodsToProperty( 62public static SyntaxNode ConvertMethodsToProperty( 284where TNode : SyntaxNode 295public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node)
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.ConvertValueToParamRewriter.cs (2)
24public override SyntaxNode VisitXmlElementStartTag(XmlElementStartTagSyntax node) 33public override SyntaxNode VisitXmlElementEndTag(XmlElementEndTagSyntax node)
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.ConvertValueToReturnsRewriter.cs (2)
24public override SyntaxNode VisitXmlElementStartTag(XmlElementStartTagSyntax node) 29public override SyntaxNode VisitXmlElementEndTag(XmlElementEndTagSyntax node)
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (13)
35public override async Task<ImmutableArray<SyntaxNode>> GetReplacementMembersAsync( 38SyntaxNode propertyDeclarationNode, 59private static ImmutableArray<SyntaxNode> ConvertPropertyToMembers( 70using var result = TemporaryArray<SyntaxNode>.Empty; 103private static SyntaxNode GetSetMethod( 166private static SyntaxNode GetGetMethod( 224var fieldReference = GetFieldReference(generator, propertyBackingField); 253var structure = trivia.GetStructure(); 254var rewritten = rewriter.Visit(structure); 300public override SyntaxNode GetPropertyNodeToReplace(SyntaxNode propertyDeclaration) 309protected override NameMemberCrefSyntax CreateCrefSyntax(NameMemberCrefSyntax originalCref, SyntaxToken identifierToken, SyntaxNode? parameterType) 329SyntaxNode compoundAssignment, ExpressionSyntax readExpression)
ReverseForStatement\CSharpReverseForStatementCodeRefactoringProvider.cs (1)
269var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
SignatureHelp\AbstractGenericNameSignatureHelpProvider.cs (3)
32SyntaxNode root, int position, 41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 100private SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, CancellationToken cancellationToken)
SignatureHelp\AttributeSignatureHelpProvider.cs (3)
40SyntaxNode root, 74var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 115private SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, TextSpan currentSpan, CancellationToken cancellationToken)
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (7)
43private static bool TryGetElementAccessExpression(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 133private static SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, TextSpan currentSpan, CancellationToken cancellationToken) 299internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 334internal static TextSpan GetTextSpan(SyntaxNode expression, SyntaxToken openBracket) 340internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 377internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
SignatureHelp\GenericNameFullyWrittenSignatureHelpProvider.cs (1)
22SyntaxNode root, int position,
SignatureHelp\GenericNamePartiallyWrittenSignatureHelpProvider.cs (1)
21protected override bool TryGetGenericIdentifier(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, out SyntaxToken genericIdentifier, out SyntaxToken lessThanToken)
SignatureHelp\InitializerExpressionSignatureHelpProvider.cs (3)
35SyntaxNode root, 57var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 77private SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, TextSpan currentSpan, CancellationToken cancellationToken)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.cs (1)
54var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
SignatureHelp\PrimaryConstructorBaseTypeSignatureHelpProvider.cs (3)
44SyntaxNode root, 71var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 107private SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, TextSpan currentSpan, CancellationToken cancellationToken)
SignatureHelp\SignatureHelpUtilities.cs (3)
100internal static bool IsTriggerParenOrComma<TSyntaxNode>(SyntaxToken token, ImmutableArray<char> triggerCharacters) where TSyntaxNode : SyntaxNode 110var parent = parenthesizedExpr.Parent; 111var grandParent = parent.Parent;
SignatureHelp\TupleConstructionSignatureHelpProvider.cs (9)
38private SignatureHelpState? GetCurrentArgumentState(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, TextSpan currentSpan, CancellationToken cancellationToken) 64private bool GetOuterMostTupleExpressionInSpan(SyntaxNode root, int position, 83private bool GetOuterMostParenthesizedExpressionInSpan(SyntaxNode root, int position, 108var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 124private IEnumerable<INamedTypeSymbol>? FindNearestTupleConstructionWithInferrableType(SyntaxNode root, SemanticModel semanticModel, int position, SignatureHelpTriggerInfo triggerInfo, 149private SignatureHelpItems? CreateItems(int position, SyntaxNode root, ISyntaxFactsService syntaxFacts, 150SyntaxNode targetExpression, SemanticModel semanticModel, IEnumerable<INamedTypeSymbol> tupleTypes, CancellationToken cancellationToken) 201private bool TryGetTupleExpression(SignatureHelpTriggerReason triggerReason, SyntaxNode root, int position, 218private bool TryGetParenthesizedExpression(SignatureHelpTriggerReason triggerReason, SyntaxNode root, int position,
SignatureHelp\WithElementSignatureHelpProvider.cs (1)
53var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
SimplifyThisOrMe\CSharpSimplifyThisOrMeCodeFixProvider.cs (3)
25protected override SyntaxNode Rewrite(SyntaxNode root, ISet<MemberAccessExpressionSyntax> memberAccessNodes) 32public override SyntaxNode? VisitMemberAccessExpression(MemberAccessExpressionSyntax node)
SimplifyTypeNames\SimplifyTypeNamesCodeFixProvider.cs (3)
43protected override SyntaxNode AddSimplificationAnnotationTo(SyntaxNode expressionSyntax) 49var annotatedexpressionSyntax = expressionSyntax.WithAdditionalAnnotations(
Snippets\AbstractCSharpAutoPropertySnippetProvider.cs (2)
90protected override PropertyDeclarationSyntax? FindAddedSnippetSyntaxNode(SyntaxNode root, int position) 92var node = root.FindNode(TextSpan.FromBounds(position, position));
Snippets\AbstractCSharpForLoopSnippetProvider.cs (5)
39protected abstract ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression); 41protected abstract ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression); 52foreach (var node in snippetExpressionNode.Declaration!.DescendantNodesAndSelf().Reverse()) 84(TypeSyntax iteratorType, SyntaxNode? inlineExpression) GetLoopHeaderParts() 86var inlineExpression = inlineExpressionInfo?.Node.WithoutLeadingTrivia();
Snippets\AbstractCSharpTypeSnippetProvider.cs (4)
92protected override TTypeDeclarationSyntax? FindAddedSnippetSyntaxNode(SyntaxNode root, int position) 94var node = root.FindNode(TextSpan.FromBounds(position, position)); 100var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 108var newRoot = root.ReplaceNode(typeDeclaration, newTypeDeclaration.WithAdditionalAnnotations(FindSnippetAnnotation));
Snippets\CSharpConstructorSnippetProvider.cs (1)
71var constructorDeclaration = generator.ConstructorDeclaration(
Snippets\CSharpForLoopSnippetProvider.cs (2)
29protected override ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression) 32protected override ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression)
Snippets\CSharpIntMainSnippetProvider.cs (2)
52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 61var updatedRoot = root.ReplaceNode(returnStatement, updatedReturnStatement);
Snippets\CSharpReversedForLoopSnippetProvider.cs (3)
29protected override ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression) 31var subtractFrom = inlineExpression?.WithoutLeadingTrivia() ?? generator.IdentifierName("length"); 35protected override ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression)
Snippets\CSharpSnippetFunctionService.cs (1)
34var expressionNode = token.GetAncestor(n => n.Span == switchExpressionSpan);
Snippets\CSharpSnippetHelpers.cs (4)
19where TTargetNode : SyntaxNode 47where TTargetNode : SyntaxNode 49var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 58var newRoot = root.ReplaceNode(targetNode, updatedTargetStatement);
SolutionCrawler\CSharpDocumentDifferenceService.cs (1)
19protected override bool IsContainedInMemberBody(SyntaxNode node, TextSpan span)
SolutionExplorer\CSharpSolutionExplorerSymbolTreeItemProvider.cs (2)
413private static bool HasDescendentLocalFunctions(SyntaxNode node) => GetLocalFunctions(node).Any(); 415private static ImmutableArray<LocalFunctionStatementSyntax> GetLocalFunctions(SyntaxNode node)
SpellCheck\CSharpSpellcheckCodeFixProvider.cs (1)
52protected override bool DescendIntoChildren(SyntaxNode arg)
SplitOrMergeIfStatements\CSharpIfLikeStatementGenerator.cs (33)
29public bool IsIfOrElseIf(SyntaxNode node) => node is IfStatementSyntax; 31public bool IsCondition(SyntaxNode expression, out SyntaxNode ifOrElseIf) 43public bool IsElseIfClause(SyntaxNode node, out SyntaxNode parentIfOrElseIf) 55public bool HasElseIfClause(SyntaxNode ifOrElseIf, out SyntaxNode elseIfClause) 68public SyntaxNode GetCondition(SyntaxNode ifOrElseIf) 74public SyntaxNode GetRootIfStatement(SyntaxNode ifOrElseIf) 86public ImmutableArray<SyntaxNode> GetElseIfAndElseClauses(SyntaxNode ifOrElseIf) 90var builder = ImmutableArray.CreateBuilder<SyntaxNode>(); 106public SyntaxNode WithCondition(SyntaxNode ifOrElseIf, SyntaxNode condition) 112public SyntaxNode WithStatementInBlock(SyntaxNode ifOrElseIf, SyntaxNode statement) 118public SyntaxNode WithStatementsOf(SyntaxNode ifOrElseIf, SyntaxNode otherIfOrElseIf) 125public SyntaxNode WithElseIfAndElseClausesOf(SyntaxNode ifStatement, SyntaxNode otherIfStatement) 128public SyntaxNode ToIfStatement(SyntaxNode ifOrElseIf) 131public SyntaxNode ToElseIfClause(SyntaxNode ifOrElseIf) 134public void InsertElseIfClause(SyntaxEditor editor, SyntaxNode afterIfOrElseIf, SyntaxNode elseIfClause) 156public void RemoveElseIfClause(SyntaxEditor editor, SyntaxNode elseIfClause)
SplitOrMergeIfStatements\CSharpMergeConsecutiveIfStatementsCodeRefactoringProvider.cs (2)
27protected override bool IsApplicableSpan(SyntaxNode node, TextSpan span, out SyntaxNode ifOrElseIf)
SplitOrMergeIfStatements\CSharpMergeNestedIfStatementsCodeRefactoringProvider.cs (2)
27protected override bool IsApplicableSpan(SyntaxNode node, TextSpan span, out SyntaxNode ifOrElseIf)
SplitStringLiteral\InterpolatedStringSplitter.cs (1)
30protected override SyntaxNode GetNodeToReplace() => _interpolatedStringExpression;
SplitStringLiteral\SimpleStringSplitter.cs (1)
36protected override SyntaxNode GetNodeToReplace() => _token.Parent;
SplitStringLiteral\StringSplitter.cs (10)
81protected abstract SyntaxNode GetNodeToReplace(); 85public bool TrySplit([NotNullWhen(true)] out SyntaxNode? newRoot, out int newPosition) 87var nodeToReplace = GetNodeToReplace(); 107private (SyntaxNode root, int caretPosition) SplitString() 111var nodeToReplace = GetNodeToReplace(); 112var newRoot = Document.Root.ReplaceNode(nodeToReplace, splitString); 113var rightExpression = newRoot.GetAnnotatedNodes(RightNodeAnnotation).Single(); 116var newRightExpression = rightExpression.WithLeadingTrivia(SyntaxFactory.ElasticWhitespace(indentString)); 117var newRoot2 = newRoot.ReplaceNode(rightExpression, newRightExpression); 122private string GetIndentString(SyntaxNode newRoot)
src\984dec8966cb7923\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
231where T : SyntaxNode 289public override SyntaxKind DefaultVisit(SyntaxNode node)
src\cef93d2425d77fca\CSharpAddParenthesesAroundConditionalExpressionInInterpolatedStringCodeFixProvider.cs (5)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 66var syntaxRoot = await documentWithOpenParenthesis.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 67var nodeAtInsertPosition = syntaxRoot.FindNode(new TextSpan(openParenthesisPosition, 0)); 117var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120var newRoot = root.ReplaceNode(parenthesizedExpression, parenthesizedExpressionWithClosingParen);
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (6)
48var statement = context.Node; 123private static bool ContainsInterleavedDirective(SyntaxNode statement, StatementSyntax embeddedStatement, CancellationToken cancellationToken) 151private static bool IsConsideredMultiLine(SyntaxNode statement, SyntaxNode embeddedStatement) 236private static bool RequiresBracesToMatchContext(SyntaxNode statement) 264private static IfStatementSyntax GetOutermostIfStatementOfSequence(SyntaxNode ifStatementOrElseClause)
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs (1)
46var switchStatement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertTypeofToNameof\CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
23var node = context.Operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (11)
101var invocationOrCreation = argumentList.Parent; 178var enclosingBlockOfLocalStatement = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(localStatement); 191var outArgumentScope = GetOutArgumentScope(argumentExpression); 236var reportNode = localDeclaration.Variables.Count == 1 237? (SyntaxNode)localDeclaration 252SyntaxNode enclosingBlock, 275private static SyntaxNode? GetOutArgumentScope(SyntaxNode argumentExpression) 277for (var current = argumentExpression; current != null; current = current.Parent) 334SyntaxNode enclosingBlockOfLocalStatement, 346foreach (var descendentNode in enclosingBlockOfLocalStatement.DescendantNodes())
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
228var parentBlock = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(ifStatement);
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeLocalFunctionStatic\MakeLocalFunctionStaticHelper.cs (1)
32var node = calledLocationFunction.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax();
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (2)
68var declaration = reference.GetSyntax(cancellationToken); 192var declaration = methodReference.GetSyntax(cancellationToken);
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 60if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementDiagnosticAnalyzer.cs (4)
40using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 44private void Recurse(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, ArrayBuilder<SyntaxNode> stack) 49var root = context.GetAnalysisRoot(findInTrivia: false); 57var current = stack.Last();
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveStatementPlacement\CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (2)
40protected override bool IsBlockLikeStatement(SyntaxNode node) 43protected override Location GetDiagnosticLocation(SyntaxNode block)
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConstructorInitializerPlacement\ConstructorInitializerPlacementDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 64if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementDiagnosticAnalyzer.cs (5)
42using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 45while (stack.TryPop(out var node)) 67if (child.AsNode(out var childNode)) 92var parent = statement.Parent; 115var blockParent = parent.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\OrderModifiers\CSharpOrderModifiersDiagnosticAnalyzer.cs (2)
32SyntaxNode root) 38var node = child.AsNode();
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (6)
30protected override bool CanMemberAccessBeQualified(ISymbol containingSymbol, SyntaxNode node) 53private static bool IsInPropertyOrFieldInitialization(ISymbol containingSymbol, SyntaxNode node) 61private static bool IsInPropertyInitialization(SyntaxNode declarationSyntax, SyntaxNode node) 64private static bool IsInFieldInitialization(SyntaxNode declarationSyntax, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
30var node = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryAsyncModifier\CSharpMakeMethodSynchronousDiagnosticAnalyzer.cs (15)
27protected abstract bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken); 47var root = syntaxTree.GetRoot(cancellationToken); 48using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 49using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var currentMethodStack); 52while (stack.TryPop(out var current)) 65if (child.AsNode(out var childNode)) 71static bool IsMethodLike(SyntaxNode current) 74static bool HasAsyncModifier(SyntaxNode methodLike) 77static SyntaxToken GetAsyncModifier(SyntaxNode methodLike) 97void CheckForNoAwaitExpressions(SyntaxNode methodLike) 104while (currentMethodStack.TryPop(out var current)) 120if (child.AsNode(out var childNode)) 134static bool IsAwait(SyntaxNode node) 154protected override bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken) 178protected override bool ShouldAnalyze(SemanticModel semanticModel, SyntaxNode methodLike, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (5)
40protected override ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<UsingDirectiveSyntax> unnecessaryImports) 41=> ImmutableArray<SyntaxNode>.CastUp(unnecessaryImports); 49protected override SyntaxToken? TryGetLastToken(SyntaxNode node) 54IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken) 58foreach (var node in nodes.Select(n => n.GetAncestors().First(n => n is BaseNamespaceDeclarationSyntax or CompilationUnitSyntax)).Distinct())
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (3)
187var outermostBody = invokedExpression.AncestorsAndSelf().LastOrDefault( 243SyntaxNode? node1, 245SyntaxNode? node2,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveRedundantNullableDirectiveDiagnosticAnalyzer.cs (3)
52var root = context.GetAnalysisRoot(findInTrivia: true); 73if (current.AsNode(out var childNode)) 93var directive = trivia.GetStructure()!;
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (3)
50private static bool IsIgnoredCodeBlock(SyntaxNode codeBlock) 269var root = context.GetAnalysisRoot(findInTrivia: true); 290var root = context.GetAnalysisRoot(findInTrivia: true);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\NullableImpactingSpanWalker.cs (2)
45private bool IsIgnored(SyntaxNode node) 123public override void DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (1)
25protected override bool ContainsPragmaDirective(SyntaxNode root)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessarySuppressions\UnnecessaryNullableWarningSuppressionsUtilities.cs (17)
29var nodeToCheck = GetNodeToCheck(postfixUnary); 53var originalRoot = originalTree.GetRoot(cancellationToken); 55foreach (var existingNode in originalRoot.DescendantNodes()) 82var originalRoot = originalTree.GetRoot(cancellationToken); 89var updateRoot = updatedTree.GetRoot(cancellationToken); 95using var _1 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var inGlobalStatements); 96using var _2 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var inFieldsOrProperties); 97using var _3 = ArrayBuilder<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)>.GetInstance(out var remainder); 101var rewritten = updateRoot.GetAnnotatedNodes(annotation).Single(); 102var nodeToCheck = GetNodeToCheck(rewritten); 165IEnumerable<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)> nodes, 166Func<SyntaxNode, ImmutableArray<Diagnostic>> computeDiagnostics) 170var rewrittenAncestor = ancestorGroup.Key; 178IEnumerable<(PostfixUnaryExpressionSyntax suppression, SyntaxNode rewrittenAncestor)> group, 191private static SyntaxNode? GetNodeToCheck(SyntaxNode updatedNode) 207var ancestor = updatedNode.Ancestors().FirstOrDefault(
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierDiagnosticAnalyzer.cs (2)
39using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var unnecessaryNodes); 42foreach (var declaration in unnecessaryNodes)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryUnsafeModifier\UnnecessaryUnsafeModifierUtilities.cs (20)
25private static bool ShouldAnalyzeNode(SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 39ArrayBuilder<SyntaxNode> result, 43var originalRoot = originalTree.GetRoot(cancellationToken); 45using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToCheck); 47foreach (var existingNode in originalRoot.DescendantNodes()) 78IEnumerable<SyntaxNode> nodesToCheck, 79ArrayBuilder<SyntaxNode> result, 82using var _2 = PooledDictionary<SyntaxNode, SyntaxAnnotation>.GetInstance(out var nodeToAnnotation); 83foreach (var node in nodesToCheck) 91IEnumerable<SyntaxNode> nodesToCheck, 92PooledDictionary<SyntaxNode, SyntaxAnnotation> nodeToAnnotation, 93ArrayBuilder<SyntaxNode> result, 97var originalRoot = originalTree.GetRoot(cancellationToken); 104var updateRoot = updatedTree.GetRoot(cancellationToken); 112var newNode = updateRoot.GetAnnotatedNodes(annotation).Single(); 122private static SyntaxNode WithoutUnsafeModifier(SyntaxNode node) 130private static SyntaxTokenList GetNewModifierList(SyntaxNode node) 133private static SyntaxTokenList GetModifiers(SyntaxNode node) 141public static SyntaxToken GetUnsafeModifier(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (4)
57var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 70public static StatementSyntax? TryGetContainingStatement(SyntaxNode node) 79SemanticModelAnalysisContext context, SyntaxNode root, TextSpan sourceSpan) 81var node = root.FindNode(sourceSpan);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedMembers\CSharpRemoveUnusedMembersDiagnosticAnalyzer.cs (2)
49protected override SyntaxNode GetParentIfSoleDeclarator(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (3)
35protected override bool IsIfConditionalDirective(SyntaxNode node) 38protected override bool ReturnsThrow(SyntaxNode? node) 69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
19protected override SyntaxNode GetPreservedInterpolationExpressionSyntax(IOperation operation)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (8)
49ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 51SyntaxNode codeBlock, 129SyntaxNode location, 139SyntaxNode location, 190var declaration = getMethod.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 230protected override SyntaxNode GetFieldNode( 245var syntax = accessor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 246foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
34protected override SyntaxNode GetDeclarationNode(VariableDeclaratorSyntax declarator)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (2)
162using var _ = ArrayBuilder<CollectionMatch<SyntaxNode>>.GetInstance(out var matches); 252ImmutableArray<CollectionMatch<SyntaxNode>> Matches,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (4)
97var parent = topMostExpression.GetRequiredParent(); 498bool AddLocalToProcess(SyntaxNode declarator) 679var initializerParent = originalInitializer.GetRequiredParent(); 712var parent = initializer.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (3)
35protected override bool IsComplexElementInitializer(SyntaxNode expression, out int initializerElementCount) 76ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 77ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (2)
54ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 67static IEnumerable<CollectionElementSyntax> GetMatchElements(ImmutableArray<CollectionMatch<SyntaxNode>> preMatches)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (5)
110var searchScope = localDeclaration.Parent is GlobalStatementSyntax globalStatement 140SyntaxNode searchScope, 200SyntaxNode container, CancellationToken cancellationToken) 244SemanticModel semanticModel, SyntaxNode searchScope, ILocalSymbol local, 285SemanticModel semanticModel, SyntaxNode container, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\Helpers\UseExpressionBodyHelper.cs (8)
25public abstract BlockSyntax? GetBody(SyntaxNode declaration); 26public abstract ArrowExpressionClauseSyntax? GetExpressionBody(SyntaxNode declaration); 27public abstract bool IsRelevantDeclarationNode(SyntaxNode node); 29public abstract bool CanOfferUseExpressionBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, CancellationToken cancellationToken); 30public abstract bool CanOfferUseBlockBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, out bool fixesError, [NotNullWhen(true)] out ArrowExpressionClauseSyntax? expressionBody); 31public abstract SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody, CancellationToken cancellationToken); 33public abstract Location GetDiagnosticLocation(SyntaxNode declaration);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\Helpers\UseExpressionBodyHelper`1.cs (10)
35where TDeclaration : SyntaxNode 54public override BlockSyntax? GetBody(SyntaxNode declaration) 57public override ArrowExpressionClauseSyntax? GetExpressionBody(SyntaxNode declaration) 60public override bool IsRelevantDeclarationNode(SyntaxNode node) 63public override bool CanOfferUseExpressionBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, CancellationToken cancellationToken) 66public override bool CanOfferUseBlockBody(CodeStyleOption2<ExpressionBodyPreference> preference, SyntaxNode declaration, bool forAnalyzer, out bool fixesError, [NotNullWhen(true)] out ArrowExpressionClauseSyntax? expressionBody) 69public sealed override SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody, CancellationToken cancellationToken) 72public override Location GetDiagnosticLocation(SyntaxNode declaration) 122SyntaxNode declaration, ExpressionBodyPreference conversionPreference, CancellationToken cancellationToken,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBody\UseExpressionBodyDiagnosticAnalyzer.cs (2)
58var grandparent = context.Node.GetRequiredParent().GetRequiredParent(); 90CSharpCodeGenerationOptions options, SyntaxNode declaration, SyntaxNodeAnalysisContext context, UseExpressionBodyHelper helper, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseImplicitOrExplicitType\CSharpTypeStyleDiagnosticAnalyzerBase.cs (1)
47var declarationStatement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var syntax = operation.Syntax;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsDiagnosticAnalyzer.cs (1)
49var statement = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers_FlagVariable.cs (4)
172for (var current = targetLoop.Parent; current != null; current = current.Parent) 363private static SyntaxNode? GetNearestBreakOrContinueTarget(SyntaxNode node, bool isBreak) 365for (var current = node.Parent; current != null; current = current.Parent)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers.cs (6)
179private static bool CrossesFinally(SyntaxNode jump, SyntaxNode target) 181for (var current = jump; current != null && current != target; current = current.Parent) 190private static bool CrossesInnerLoopOrSwitch(SyntaxNode jump, SyntaxNode target, bool includeSwitch) 192for (var current = jump.Parent; current != null && current != target; current = current.Parent)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (3)
93SyntaxNode container; 242SemanticModel semanticModel, INamedTypeSymbol? expressionTypeOpt, ISymbol local, SyntaxNode container, 250foreach (var descendentNode in container.DescendantNodes())
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNameofInNullableAttribute\CSharpUseNameofInNullableAttributeDiagnosticAnalyzer.cs (1)
114var container = attributeList?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (9)
25private readonly SyntaxNode _enclosingBlock; 35SyntaxNode enclosingBlock, 62SyntaxNode enclosingBlock, 108foreach (var current in _comparison.Ancestors()) 253foreach (var node in _enclosingBlock.DescendantNodesAndSelf()) 280private bool CheckLoop(SyntaxNode statement, StatementSyntax body, bool defAssignedWhenTrue) 347private bool IsAccessedOutOfScope(SyntaxNode scope) 357foreach (var descendentNode in _enclosingBlock.DescendantNodes()) 389private bool LocalFlowsIn(SyntaxNode statementOrExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (9)
56var node = syntaxContext.Node; 74BinaryExpressionSyntax binaryExpression => (binaryExpression.Left, (SyntaxNode)binaryExpression.Right), 112var enclosingBlock = localStatement.Parent; 169foreach (var descendentNode in enclosingBlock.DescendantNodes()) 201var comparisonEnclosingBlock = comparison.AncestorsAndSelf().FirstOrDefault(n => n is BlockSyntax); 210foreach (var descendentNode in enclosingBlock.DescendantNodes()) 231foreach (var descendentNode in enclosingBlock.DescendantNodes()) 279SyntaxNode operand, 336private static ExpressionSyntax? GetNullCheckOperand(ExpressionSyntax left, SyntaxKind comparisonKind, SyntaxNode right)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (5)
95var ifStatementScope = ifStatement.Parent.IsKind(SyntaxKind.Block) 210SyntaxNode scope, VariableDeclaratorSyntax variable) 214using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 217while (stack.TryPop(out var current)) 235if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
62var node = context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (7)
88[NotNullWhen(true)] out SyntaxNode? nodeToRemove, 391var body = primaryConstructorDeclaration.ExpressionBody ?? (SyntaxNode?)primaryConstructorDeclaration.Body; 416using var _2 = ArrayBuilder<(IParameterSymbol parameter, SyntaxNode assignedMemberDeclaration, bool parameterIsWrittenTo)>.GetInstance(out var orderedParameterAssignments); 440var lastAssignedMemberDeclaration = group.First().assignedMemberDeclaration; 467ArrayBuilder<(IParameterSymbol parameter, SyntaxNode assignedMemberDeclaration, bool parameterIsWrittenTo)>? orderedParameterAssignments, 495if (!IsViableMemberToAssignTo(namedType, member, out _, out var assignedMemberDeclaration, cancellationToken))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (3)
88var parentBlockLike = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(outermostUsing); 134SyntaxNode parentBlockLike, 177SyntaxNode parentBlockLike,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (3)
117private void ReportParameterArrayDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, ImmutableArray<IOperation> elements, NotificationOption2 notificationOption, ArrayCreationOperationLocation operationLocation) 129private void ReportArrayCreationDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, NotificationOption2 notificationOption) 137private void ReportDiagnostic(OperationAnalysisContext context, SyntaxNode syntaxNode, NotificationOption2 notificationOption, Location location, ArrayCreationOperationLocation operationLocation)
src\roslyn\src\Analyzers\CSharp\Analyzers\ValidateFormatString\CSharpValidateFormatStringDiagnosticAnalyzer.cs (4)
21protected override SyntaxNode? TryGetMatchingNamedArgument( 22SeparatedSyntaxList<SyntaxNode> arguments, 36protected override SyntaxNode GetArgumentExpression(SyntaxNode syntaxNode)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddAccessibilityModifiers\CSharpAddAccessibilityModifiersCodeFixProvider.cs (2)
18protected override SyntaxNode MapToDeclarator(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddBraces\CSharpAddBracesCodeFixProvider.cs (2)
34var root = editor.OriginalRoot; 37var statement = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (2)
15private sealed class ArgumentFixer : Fixer<ArgumentSyntax, ArgumentListSyntax, SyntaxNode> 31var newInvocation = newArgumentList.Parent!;
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (5)
40protected override void GetPartsOfCastOrConversionExpression(ExpressionSyntax expression, out SyntaxNode type, out ExpressionSyntax castedExpression) 53SyntaxNode root, 72&& argumentList.Parent is SyntaxNode invocationNode) 89protected override (SyntaxNode finalTarget, SyntaxNode finalReplacement) Cast(
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddInheritdoc\AddInheritdocCodeFixProvider.cs (3)
40var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var node = root.FindNode(diagnostic.Location.SourceSpan); 75var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (3)
49protected override ITypeSymbol GetArgumentType(SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken) 57SyntaxNode node, 62var constructorDeclaration = constructorInitializer.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (25)
32var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46protected abstract void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location); 48private static (SyntaxNode container, SyntaxNode exprOrStatement) GetContainer(SyntaxNode root, TextSpan span) 50var location = root.FindNode(span); 53var container = GetContainer(location); 63private static bool IsValidLocation(SyntaxNode location) 80private static SyntaxNode? GetContainer(SyntaxNode node) 82for (var current = node; current != null; current = current.Parent) 94private static async Task<MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>> GetUnassignedParametersAsync( 97var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 104var result = new MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol>)>(); 107var container = group.Key; 117foreach (var exprOrStatement in distinctExprsOrStatements) 140foreach (var container in unassignedParameters.Keys.OrderByDescending(n => n.Span.Start)) 148SyntaxEditor editor, SyntaxNode container, 149MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 152protected static ImmutableArray<SyntaxNode> GenerateAssignmentStatements( 155var result = ArrayBuilder<SyntaxNode>.GetInstance();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAboveReturnCodeFixProvider.cs (8)
26protected override void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location) 32SyntaxEditor editor, SyntaxNode container, 33MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 44SyntaxEditor editor, SyntaxNode exprOrStatement, ImmutableArray<SyntaxNode> statements) 56var parent = exprOrStatement.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (6)
24protected override void TryRegisterFix(CodeFixContext context, Document document, SyntaxNode container, SyntaxNode location) 51SyntaxEditor editor, SyntaxNode container, 52MultiDictionary<SyntaxNode, (SyntaxNode exprOrStatement, ImmutableArray<IParameterSymbol> unassignedParameters)>.ValueSet values, 62var updatedContainer = generator.WithStatements(
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (9)
81private static (SyntaxNode root, TextSpan semicolonSpan) ReplaceWithFileScopedNamespace( 85var updatedRoot = document.Root.ReplaceNode( 113var root = document.Root; 119(SyntaxNode stringNode, int closeTerminatorIndentationLength) lastRawStringLiteralData = default; 135SyntaxNode stringNode; 199var root = document.Root; 214SyntaxTree tree, SyntaxNode root, string indentation, TextLine textLine, CancellationToken cancellationToken) 245var updatedRoot = ReplaceWithBlockScopedNamespace(parsedDocument, fileScopedNamespace, options.NewLine, options.NewLines, annotation); 259private static SyntaxNode ReplaceWithBlockScopedNamespace(
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
298public override ExpressionSyntax DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToAsync\CSharpConvertToAsyncMethodCodeFixProvider.cs (7)
34SyntaxNode node, 45protected override async Task<(SyntaxTree syntaxTree, SyntaxNode root)?> GetRootInOtherSyntaxTreeAsync( 46SyntaxNode node, 55var oldRoot = await methodDeclaration.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 56var newRoot = oldRoot.ReplaceNode(methodDeclaration, ConvertToAsyncFunction(methodDeclaration)); 61SyntaxNode node, 65var invocationExpression = node.ChildNodes().FirstOrDefault(n => n.IsKind(SyntaxKind.InvocationExpression));
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
697private static SyntaxTriviaList? GetExteriorTrivia(SyntaxNode declaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\CSharpConvertToRecordCodeFixProvider.cs (1)
36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertTypeOfToNameOf\CSharpConvertTypeOfToNameOfCodeFixProvider.cs (3)
27protected override SyntaxNode ConvertToUnboundGeneric(ParseOptions options, SyntaxNode nameOfSyntax) 32protected override SyntaxNode GetSymbolTypeExpression(SemanticModel model, MemberAccessExpressionSyntax node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
61var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\DocumentationComments\CSharpAddDocCommentNodesCodeFixProvider.cs (2)
40protected override SyntaxNode? TryGetDocCommentNode(SyntaxTriviaList leadingTrivia) 46var nodeStructure = node.GetStructure()!;
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixIncorrectConstraint\CSharpFixIncorrectConstraintCodeFixProvider.cs (1)
86var newType = generator.TypeExpression(compilation.GetSpecialType(
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (4)
66var node = location.FindNode(getInnermostNodeForTie: true, cancellationToken); 67var returnedValue = node is ReturnStatementSyntax returnStatement ? returnStatement.Expression : node; 134private static (TypeSyntax type, bool isAsync) TryGetDeclarationTypeToFix(SyntaxNode node) 138static (TypeSyntax type, bool isAsync) TryGetReturnTypeToFix(SyntaxNode containingMember)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (7)
31protected override bool IsSimpleNameGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 34protected override bool IsConstructorInitializerGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 37protected override bool IsImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 42SyntaxNode node, 80SyntaxNode node, 112SyntaxNode node, 147SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\GenerateConstructorCodeFixProvider.cs (4)
41Document document, SyntaxNode node, CancellationToken cancellationToken) 47protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 50protected override SyntaxNode? GetTargetNode(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsCodeFixProvider.cs (1)
28protected override SyntaxToken? TryGetTypeName(SyntaxNode typeDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsService.cs (1)
35if (helpers.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, out var typeDeclaration) ||
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (1)
22protected override bool IsIdentifierNameGeneration(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\GenerateEnumMemberCodeFixProvider.cs (2)
31protected override Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 37protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (4)
34protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 46protected override SyntaxNode? GetTargetNode(SyntaxNode node) 58Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (4)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var deconstruction = token.GetAncestors<SyntaxNode>() 58SyntaxNode target;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (4)
53protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 65protected override SyntaxNode? GetTargetNode(SyntaxNode node) 81Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (6)
27protected override bool IsImplicitConversionGeneration(SyntaxNode node) 35protected override bool IsExplicitConversionGeneration(SyntaxNode node) 55SyntaxNode expression, 81SyntaxNode expression, 107SyntaxNode expression, 166SyntaxNode expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (1)
38public override ImmutableArray<IParameterSymbol> TryMakeParameters(SemanticModel semanticModel, SyntaxNode target, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (3)
28protected override bool IsExplicitInterfaceGeneration(SyntaxNode node) 31protected override bool IsSimpleNameGeneration(SyntaxNode node) 48SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateVariable\CSharpGenerateVariableCodeFixProvider.cs (4)
36protected override bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic) 39protected override SyntaxNode? GetTargetNode(SyntaxNode node) 48Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.AddNewKeywordAction.cs (4)
23Document document, SyntaxNode node, CancellationToken cancellationToken) 25var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 31private static SyntaxNode GetNewNode(SyntaxNode node, Dictionary<int, int>? preferredOrder)
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.cs (9)
32private static SyntaxNode? GetOriginalNode(SyntaxNode root, Diagnostic diagnostic) 37var originalNode = token.GetAncestor<PropertyDeclarationSyntax>() ?? 39(SyntaxNode?)token.GetAncestor<FieldDeclarationSyntax>(); 45var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 47var originalNode = GetOriginalNode(root, context.Diagnostics.First()); 63var root = editor.OriginalRoot; 66var originalNode = GetOriginalNode(root, diagnostic); 70var newNode = GetNewNode(originalNode, modifierOrder);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (7)
36protected override bool IsTypeInInterfaceBaseList(SyntaxNode? type) 39protected override void AddInterfaceTypes(TypeDeclarationSyntax typeDeclaration, ArrayBuilder<SyntaxNode> result) 49Document document, SemanticModel model, SyntaxNode node, CancellationToken cancellationToken, 50[NotNullWhen(true)] out SyntaxNode? classOrStructDecl, 94protected override SyntaxNode AddCommentInsideIfStatement(SyntaxNode ifStatement, SyntaxTriviaList trivia) 101protected override SyntaxNode CreateFinalizer(
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (14)
62var originalRoot = editor.OriginalRoot; 69static t => (t.invocationOrCreation, ImmutableArray.Create<SyntaxNode>(t.identifier, t.declarator)), 78private static (VariableDeclaratorSyntax declarator, IdentifierNameSyntax identifier, SyntaxNode invocationOrCreation) FindDiagnosticNodes( 94private static SyntaxNode ReplaceIdentifierWithInlineDeclaration( 97SyntaxNode currentRoot, VariableDeclaratorSyntax declarator, 98IdentifierNameSyntax identifier, SyntaxNode currentNode, 118var block = CSharpBlockFacts.Instance.GetImmediateParentExecutableBlockForStatement(localDeclarationStatement); 324SyntaxNode nodeToReplace, 340var topmostContainer = GetTopmostContainer(nodeToReplace); 349var updatedTopmostContainer = topmostContainer.ReplaceNode( 360var updatedInvocationOrCreation = updatedTopmostContainer.GetAnnotatedNodes(annotation).Single(); 373private static SyntaxNode GetTopmostContainer(SyntaxNode expression) 384int position, SyntaxNode topmostContainer,
src\roslyn\src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
146private static T AppendTriviaWithoutEndOfLines<T>(T newStatement, IfStatementSyntax ifStatement) where T : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (6)
45protected override async Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken) 103SyntaxNode node, SemanticModel model, CancellationToken cancellationToken, 211SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 214var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpChangeToIEnumerableCodeFixProvider.cs (2)
36protected override async Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeAnonymousFunctionStatic\CSharpMakeAnonymousFunctionStaticCodeFixProvider.cs (1)
42var anonymousFunction = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeFieldReadonly\CSharpMakeFieldReadonlyCodeFixProvider.cs (1)
20protected override SyntaxNode? GetInitializerNode(VariableDeclaratorSyntax declaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (7)
32var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64var referenceNode = root.FindNode(location.Location.SourceSpan); 135var referenceNode = root.FindNode(referenceSpan); 150var localFunctionBodyOperation = semanticModel.GetOperation(localFunction.Body ?? (SyntaxNode)localFunction.ExpressionBody!.Expression, cancellationToken); 199public static SyntaxNode AddStaticModifier(SyntaxNode localFunction, SyntaxGenerator generator)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixProvider.cs (1)
34foreach (var localFunction in localFunctions)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\PassInCapturedVariablesAsArgumentsCodeFixProvider.cs (1)
66var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMemberRequired\CSharpMakeMemberRequiredCodeFixProvider.cs (4)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 43var node = root.FindNode(span); 111var root = editor.OriginalRoot; 118var memberDeclarator = root.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMemberStatic\CSharpMakeMemberStaticCodeFixProvider.cs (2)
23protected override bool TryGetMemberDeclaration(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? memberDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodAsynchronous\CSharpMakeMethodAsynchronousCodeFixProvider.cs (4)
49var root = diagnostic.Location.SourceTree.GetRoot(cancellationToken); 67protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 74protected override SyntaxNode FixMethodSignature( 78SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodSynchronous\CSharpMakeMethodSynchronousCodeFixProvider.cs (5)
30protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 33protected override SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTaskTypes knownTypes) 44private static SyntaxNode FixMethod(IMethodSymbol methodSymbol, MethodDeclarationSyntax method, KnownTaskTypes knownTypes) 50private static SyntaxNode FixLocalFunction(IMethodSymbol methodSymbol, LocalFunctionStatementSyntax localFunction, KnownTaskTypes knownTypes)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeRefStruct\MakeRefStructCodeFixProvider.cs (3)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 74var newRoot = root.ReplaceNode(structDeclaration, newStruct);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStatementAsynchronous\CSharpMakeStatementAsynchronousCodeFixProvider.cs (9)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 38var constructToFix = TryGetStatementToFix(node); 53var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 54var statementToFix = TryGetStatementToFix(node); 62private static void MakeStatementAsynchronous(SyntaxEditor editor, SyntaxNode statementToFix) 64SyntaxNode newStatement; 94private static SyntaxNode? TryGetStatementToFix(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructFieldsWritable\CSharpMakeStructFieldsWritableCodeFixProvider.cs (1)
41var diagnosticNode = diagnostic.Location.FindNode(cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyCodeFixProvider.cs (2)
43foreach (var declaration in declarations.OrderByDescending(t => t.SpanStart)) 99TNode UpdateReadOnlyModifier<TNode>(TNode node, bool add) where TNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeStructReadOnly\CSharpMakeStructReadOnlyCodeFixProvider.cs (1)
41foreach (var typeDeclaration in typeDeclarations.OrderByDescending(t => t.SpanStart))
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeTypeAbstract\CSharpMakeTypeAbstractCodeFixProvider.cs (1)
22protected override bool IsValidRefactoringContext(SyntaxNode? node, [NotNullWhen(true)] out TypeDeclarationSyntax? typeDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MisplacedUsingDirectives\MisplacedUsingDirectivesCodeFixProvider.cs (6)
62var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 175usingDirective => (SyntaxNode)usingDirective, 187private static async Task<SyntaxNode> ExpandUsingDirectiveAsync(Document document, UsingDirectiveSyntax usingDirective, CancellationToken cancellationToken) 321private static SyntaxList<MemberDeclarationSyntax> GetMembers(SyntaxNode node) 329private static TSyntaxNode RemoveLeadingBlankLinesFromFirstMember<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 367private static TSyntaxNode EnsureLeadingBlankLineBeforeFirstMember<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementCodeFixProvider.cs (3)
49var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 55var newRoot = root.ReplaceTokens(tokenToToken.Keys, (t1, _) => tokenToToken[t1]); 61SyntaxNode root, SourceText text,
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConstructorInitializerPlacement\ConstructorInitializerPlacementCodeFixProvider.cs (2)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 82var newRoot = root.ReplaceTokens(replacementMap.Keys, (original, _) => replacementMap[original]);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementCodeFixProvider.cs (6)
47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 68var root = editor.OriginalRoot; 69var node = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan); 88var updatedStatement = AddLeadingTrivia(currentBadStatement, endOfLineTrivia); 127private static SyntaxNode AddLeadingTrivia(SyntaxNode node, SyntaxTrivia trivia)
src\roslyn\src\Analyzers\CSharp\CodeFixes\Nullable\CSharpDeclareAsNullableCodeFixProvider.cs (11)
46var node = context.Diagnostics.First().Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 56private static string GetEquivalenceKey(SyntaxNode node) 86var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 94var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 99Document document, SemanticModel model, SyntaxEditor editor, SyntaxNode node, HashSet<TypeSyntax> alreadyHandled, CancellationToken cancellationToken) 111Document document, SemanticModel? model, SyntaxNode node, CancellationToken cancellationToken) 118var containingMember = node.GetAncestors().FirstOrDefault( 175var syntax = local.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 186var syntax = field.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 203var syntax = property.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 314private static bool IsExpressionSupported(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\QualifyMemberAccess\CSharpQualifyMemberAccessCodeFixProvider.cs (1)
23var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (7)
30protected override bool IsAsyncSupportingFunctionSyntax(SyntaxNode node) 33protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody) 51protected override SyntaxNode RemoveAsyncModifier(SyntaxGenerator generator, SyntaxNode methodLikeNode) 63private static SyntaxNode AnnotateBlock(SyntaxGenerator generator, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\RemoveAsyncModifierHelpers.cs (5)
12internal static SyntaxNode WithoutAsyncModifier(MethodDeclarationSyntax method, TypeSyntax returnType) 18internal static SyntaxNode WithoutAsyncModifier(LocalFunctionStatementSyntax localFunction, TypeSyntax returnType) 24internal static SyntaxNode WithoutAsyncModifier(ParenthesizedLambdaExpressionSyntax lambda) 27internal static SyntaxNode WithoutAsyncModifier(SimpleLambdaExpressionSyntax lambda) 30internal static SyntaxNode WithoutAsyncModifier(AnonymousMethodExpressionSyntax method)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (5)
59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 66var node = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 70var updatedNode = negate 74var isNode = updatedNode.DescendantNodesAndSelf().First( 86var isWithoutSuppression = updatedNode.ReplaceNode(suppression, withoutSuppression);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveInKeyword\RemoveInKeywordCodeFixProvider.cs (2)
35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveNewModifier\RemoveNewModifierCodeFixProvider.cs (2)
33var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 62var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnneccessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierCodeFixProvider.cs (3)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52var root = editor.OriginalRoot; 66var node = root.FindNode(span, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryDiscardDesignation\CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (1)
41var discard = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveCodeFixProvider.cs (1)
85var node = token.GetRequiredParent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryParenthesesCodeFixProvider.cs (2)
18: AbstractRemoveUnnecessaryParenthesesCodeFixProvider<SyntaxNode> 20protected override bool CanRemoveParentheses(SyntaxNode current, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (2)
42var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 86var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnreachableCode\CSharpRemoveUnreachableCodeCodeFixProvider.cs (1)
78static void RemoveStatement(SyntaxEditor editor, SyntaxNode statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedLocalFunction\CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (1)
38var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedMembers\CSharpRemoveUnusedMembersCodeFixProvider.cs (1)
26protected override void AdjustAndAddAppropriateDeclaratorsToRemove(HashSet<FieldDeclarationSyntax> fieldDeclarators, HashSet<SyntaxNode> declarators)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (15)
44protected override SyntaxNode? TryUpdateNameForFlaggedNode(SyntaxNode node, SyntaxToken newName) 91protected override SyntaxNode? TryUpdateParentOfUpdatedNode(SyntaxNode parent, SyntaxNode newNameNode, SyntaxEditor editor, ISyntaxFacts syntaxFacts, SemanticModel semanticModel) 141protected override SyntaxNode ComputeReplacementNode(SyntaxNode originalOldNode, SyntaxNode changedOldNode, SyntaxNode proposedReplacementNode) 183protected override SyntaxNode GetReplacementNodeForCompoundAssignment( 184SyntaxNode originalCompoundAssignment, 185SyntaxNode newAssignmentTarget, 241protected override SyntaxNode GetReplacementNodeForVarPattern(SyntaxNode originalVarPattern, SyntaxNode newNameNode)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (9)
40var syntaxRoot = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 65Document document, TextSpan span, SyntaxNode newExpression, CancellationToken cancellationToken) 67var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 72var newRoot = syntaxRoot.ReplaceNode(defaultLiteral, newExpression.WithTriviaFrom(defaultLiteral)); 76private static (SyntaxNode newExpression, string displayText) GetReplacementExpressionAndText( 102var newLiteral = generator.LiteralExpression(constant.Value); 107var defaultExpression = generator.DefaultExpression(type); 114(SyntaxNode newExpression, string displayText) GenerateMemberAccess(string memberName) 116var memberAccess = generator.MemberAccessExpression(generator.TypeExpression(type), memberName);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (4)
44protected override PropertyDeclarationSyntax GetPropertyDeclaration(SyntaxNode node) 56protected override SyntaxNode GetNodeToRemove(VariableDeclaratorSyntax declarator) 80protected override async Task<SyntaxNode> UpdatePropertyAsync( 222SyntaxNode propertyDeclaration)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\UseAutoPropertyRewriter.cs (2)
21public override SyntaxNode? VisitMemberAccessExpression(MemberAccessExpressionSyntax node) 41public override SyntaxNode? VisitIdentifierName(IdentifierNameSyntax node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (3)
22SemanticModel semanticModel, SyntaxNode expressionToCoalesce, 23SyntaxNode leftAssignmentPart, SyntaxNode rightAssignmentPart,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (9)
44where TMatchNode : SyntaxNode 109var updatedRoot = document.Root.ReplaceNode( 608string? preferredIndentation) where TNode : SyntaxNode 634SyntaxNode GetAnchorNode(SyntaxNode node) 656for (var current = node; current != null; current = current.Parent) 719string preferredIndentation) where TNode : SyntaxNode 825foreach (var component in GetElementComponents(node)) 839static IEnumerable<SyntaxNode> GetElementComponents(TMatchNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (2)
43var originalRoot = editor.OriginalRoot; 96static bool IsOnSingleLine(SourceText sourceText, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderCodeFixProvider.cs (6)
58var root = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 96static AnalysisResult TrackAnalysisResult(SyntaxNode root, AnalysisResult analysisResult) 100analysisResult.Matches.SelectAsArray(m => new CollectionMatch<SyntaxNode>(root.GetCurrentNode(m.Node)!, m.UseSpread, m.UseKeyValue)), 111using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToTrack); 113var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120var newRoot = root.TrackNodes(nodesToTrack);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyCodeFixProvider.cs (2)
25: AbstractUseCollectionExpressionCodeFixProvider<SyntaxNode>( 36SyntaxNode diagnosticNode,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionExpression.cs (2)
23ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 24ImmutableArray<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionInitializer.cs (3)
26ImmutableArray<CollectionMatch<SyntaxNode>> matches) 38UseInitializerHelpers.AddExistingItems<CollectionMatch<SyntaxNode>, ExpressionSyntax>( 72where TNode : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (4)
37protected override async Task<(SyntaxNode, SyntaxNode)> GetReplacementNodesAsync( 41ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 42ImmutableArray<CollectionMatch<SyntaxNode>> postMatches,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
50var coalesceOrIfStatement = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 90var coalesce = coalesceOrIfStatement;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (1)
49List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (3)
55private SyntaxNode UpdateRoot( 58SyntaxNode root, 59SyntaxNode node,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDefaultLiteral\CSharpUseDefaultLiteralCodeFixProvider.cs (1)
48var originalRoot = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
98var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitTypeForConst\UseExplicitTypeForConstCodeFixProvider.cs (3)
39var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 67var newRoot = root.ReplaceNode(variableDeclaration.Type, type.GenerateTypeSyntax(allowVar: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBody\UseExpressionBodyCodeFixProvider.cs (2)
81var declaration = declarationLocation.FindNode(getInnermostNodeForTie: true, cancellationToken); 84var updatedDeclaration = helper.Update(semanticModel, declaration, useExpressionBody, cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitlyTypedLambdaExpression\CSharpUseImplicitObjectCreationCodeFixProvider.cs (2)
60private static SyntaxNode FixOne(SyntaxNode root, ParenthesizedLambdaExpressionSyntax explicitLambda)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitObjectCreation\CSharpUseImplicitObjectCreationCodeFixProvider.cs (2)
69private static SyntaxNode FixOne(SyntaxNode root, ObjectCreationExpressionSyntax objectCreation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (7)
52var root = editor.OriginalRoot; 56var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 63SyntaxNode node, CancellationToken cancellationToken) 65var declarationContext = node.Parent; 141SyntaxNode declarationSyntax, 164SyntaxNode declarationSyntax, 246private static ITypeSymbol GetConvertedType(SemanticModel semanticModel, SyntaxNode typeSyntax, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseImplicitTypeCodeFixProvider.cs (1)
43var root = editor.OriginalRoot;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
41var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (2)
62private static SyntaxNode UpdateInvocation( 63SemanticModel semanticModel, SyntaxNode currentRoot,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseInferredMemberName\CSharpUseInferredMemberNameCodeFixProvider.cs (1)
18protected override void LanguageSpecificRemoveSuggestedNode(SyntaxEditor editor, SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (5)
33private static SyntaxNode CreateEqualsNullCheck(ExpressionSyntax argument) 36private static SyntaxNode CreateIsNullCheck(ExpressionSyntax argument) 39private static SyntaxNode CreateIsNotNullCheck(ExpressionSyntax argument) 58protected override SyntaxNode CreateNullCheck(ExpressionSyntax argument, bool isUnconstrainedGeneric) 63protected override SyntaxNode CreateNotNullCheck(ExpressionSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (2)
42var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 43SyntaxNode replacement = node switch
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsCodeFixProvider.cs (8)
128var scope = GetLabelScope(labelDeclaration, cancellationToken); 157var deadNodes = pattern.AssignmentAndBreakSites.Select(static site => (SyntaxNode)site.Assignment) 158.Concat(pattern.GuardStatements.Select(static guard => (SyntaxNode)guard)) 159.Concat(pattern.ResetStatements.Select(static reset => (SyntaxNode)reset)); 161deadNodes = deadNodes.Concat([(SyntaxNode)declaration]); 164.Select(static site => (SyntaxNode)site.Break) 210private static SyntaxNode GetLabelScope(SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (7)
63var nodesToTrack = new HashSet<SyntaxNode>(); 84var root = editor.OriginalRoot; 85var currentRoot = root.TrackNodes(nodesToTrack); 154private static SyntaxNode ReplaceAnonymousWithLocalFunction( 155SolutionServices services, SyntaxNode currentRoot, 179private static SyntaxNode ReplaceReferences( 180Document document, SyntaxNode currentRoot,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNameofInAttribute\CSharpUseNameofInAttributeCodeFixProvider.cs (1)
42var expression = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
41protected override SyntaxNode PostProcessElseIf(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\UseInitializerHelpers.cs (1)
41where TElementSyntax : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (1)
78var expression = editor.OriginalRoot.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (1)
48var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (4)
43using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var statementParentScopes); 58foreach (var parentScope in statementParentScopes) 97var rightSideOfComparison = comparison is BinaryExpressionSyntax binaryExpression 98? (SyntaxNode)binaryExpression.Right
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpUseNotPatternCodeFixProvider.cs (1)
56var negated = editor.Generator.Negate(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider_DocComments.cs (3)
34private static SyntaxTrivia GetDocComment(SyntaxNode node) 69ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)> removedMembers) 167ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)> removedMembers,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (14)
311SyntaxNode TryQualify( 326SyntaxNode CreateDottedName( 342Func<TListSyntax, IEnumerable<SyntaxNode>> getElements) 343where TListSyntax : SyntaxNode 373static string GetLeadingWhitespace(SyntaxNode node) 474var declaration = member.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 483SyntaxNode UpdateDeclaration(SyntaxNode declaration, AssignmentExpressionSyntax assignmentExpression, ExpressionStatementSyntax? expressionStatement) 510async ValueTask<ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)>> RemoveMembersAsync() 512var removedMembers = ImmutableDictionary<ISymbol, (MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove)>.Empty; 554(ISymbol? member, MemberDeclarationSyntax memberNode, SyntaxNode nodeToRemove) GetMemberToRemove(string memberName) 558if (IsViableMemberToAssignTo(namedType, member, out var memberNode, out var nodeToRemove, cancellationToken)) 574using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var nodesToReplace); 612foreach (var nodeToReplace in group)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSimpleUsingStatement\UseSimpleUsingStatementCodeFixProvider.cs (7)
52var root = editor.OriginalRoot; 53var updatedRoot = root.ReplaceNodes( 60private static SyntaxNode RewriteBlock( 61SyntaxNode originalBlockLike, 62SyntaxNode currentBlockLike, 96private static SyntaxNode WithStatements( 97SyntaxNode currentBlockLike,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
96var lockTypeExpression = generator
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseThrowExpression\UseThrowExpressionCodeFixProvider.cs (5)
43var root = editor.OriginalRoot; 47var ifStatement = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan); 48var throwStatementExpression = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 49var assignmentValue = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 50var assignmentExpressionStatement = root.FindNode(diagnostic.AdditionalLocations[3].SourceSpan);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUnboundGenericTypeInNameOf\CSharpUseUnboundGenericTypeInNameOfCodeFixProvider.cs (1)
57where TSyntax : SyntaxNode
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (4)
55var node = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 95var node = location.FindNode(getInnermostNodeForTie: true, cancellationToken); 151private static SyntaxNode CreateArgumentListWithUtf8String(BaseArgumentListSyntax argumentList, Location location, string stringValue, bool isConvertedToReadOnlySpan) 182private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan)
src\roslyn\src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (23)
34SyntaxNode node, 56SyntaxNode node, 57Func<SyntaxNode, int?, bool> shouldSkip, 92builder.Add(new DeclarationInfo(name, ImmutableArray<SyntaxNode>.Empty, declaredSymbol)); 109using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 132using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 149using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 160using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 173using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 193using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 204using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 206using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 246using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 270using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 286using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var blocks); 302using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 334using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var codeBlocks); 348using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var attributes); 362private static void AddAttributes(SyntaxList<AttributeListSyntax> attributeLists, ArrayBuilder<SyntaxNode> builder) 373private static void AddParameterListInitializersAndAttributes(BaseParameterListSyntax parameterList, ArrayBuilder<SyntaxNode> builder) 384private static void AddParameterInitializersAndAttributes(ParameterSyntax parameter, ArrayBuilder<SyntaxNode> builder) 390private static void AddTypeParameterListAttributes(TypeParameterListSyntax typeParameterList, ArrayBuilder<SyntaxNode> builder) 413executableCodeBlocks: ImmutableArray.Create<SyntaxNode>(expressionBody),
src\roslyn\src\Compilers\CSharp\Portable\Syntax\LambdaUtilities.cs (28)
20public static bool IsLambda(SyntaxNode node) 48public static bool IsNotLambda(SyntaxNode node) => !IsLambda(node); 53public static SyntaxNode GetLambda(SyntaxNode lambdaBody) 56var lambda = lambdaBody.Parent; 73internal static SyntaxNode? TryGetCorrespondingLambdaBody(SyntaxNode oldBody, SyntaxNode newLambda) 125public static SyntaxNode GetNestedFunctionBody(SyntaxNode nestedFunction) 133public static bool IsNotLambdaBody(SyntaxNode node) 141public static bool IsLambdaBody(SyntaxNode node, bool allowReducedLambdas = false) 143var parent = node?.Parent; 231var containingQueryOrContinuation = selectOrGroupClause.Parent.Parent; 271public static bool IsLambdaBodyStatementOrExpression(SyntaxNode node) 276public static bool IsLambdaBodyStatementOrExpression(SyntaxNode node, out SyntaxNode lambdaBody) 285public static bool TryGetLambdaBodies(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? lambdaBody1, out SyntaxNode? lambdaBody2) 362public static bool AreEquivalentIgnoringLambdaBodies(SyntaxNode oldNode, SyntaxNode newNode) 368public static IEnumerable<SyntaxToken> DescendantTokensIgnoringLambdaBodies(SyntaxNode node) 374internal static bool IsQueryPairLambda(SyntaxNode syntax) 388internal static bool IsClosureScope(SyntaxNode node) 480internal static int GetDeclaratorPosition(SyntaxNode node) 486private static SyntaxNode? GetLocalFunctionBody(LocalFunctionStatementSyntax localFunctionStatementSyntax) 487=> (SyntaxNode?)localFunctionStatementSyntax.Body ?? localFunctionStatementSyntax.ExpressionBody?.Expression;
src\roslyn\src\Compilers\CSharp\Portable\Syntax\SyntaxBindingUtilities.cs (2)
13public static bool BindsToResumableStateMachineState(SyntaxNode node) 20public static bool BindsToTryStatement(SyntaxNode node)
StringIndentation\CSharpStringIndentationService.cs (4)
32var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 36using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodeStack); 39while (nodeStack.TryPop(out var node)) 61if (child.AsNode(out var childNode))
Structure\CSharpStructureHelpers.cs (14)
83public static SyntaxToken GetLastInlineMethodBlockToken(SyntaxNode node) 210SyntaxNode node, 232static bool TryGetLeadingCollapsibleSpan(SyntaxNode node, out BlockSpan span) 266static SyntaxToken GetEndToken(SyntaxNode node) 286static SyntaxToken GetHintTextEndToken(SyntaxNode node) 323SyntaxNode node, string bannerText, bool autoCollapse, 335SyntaxNode node, SyntaxToken syntaxToken, bool compressEmptyLines, 345SyntaxNode node, SyntaxToken startToken, 372private static TextSpan GetHintSpan(SyntaxNode node, int endPos) 390SyntaxNode node, SyntaxToken startToken, 401SyntaxNode node, bool autoCollapse, string type, bool isCollapsible) 414SyntaxNode node, SyntaxToken syntaxToken, bool compressEmptyLines, 428SyntaxNode node, SyntaxToken startToken, SyntaxToken endToken, bool compressEmptyLines, 443IEnumerable<SyntaxNode> syntaxList, bool compressEmptyLines, bool autoCollapse,
Structure\Providers\ArrowExpressionClauseStructureProvider.cs (1)
25var parent = node.GetRequiredParent();
Structure\Providers\BlockSyntaxStructureProvider.cs (4)
28var parent = node.GetRequiredParent(); 152private static bool IsNonBlockStatement(SyntaxNode node) 157var parent = node.GetRequiredParent(); 206private static string? GetType(SyntaxNode? parent)
Structure\Providers\CompilationUnitStructureProvider.cs (1)
27var externsAndUsings = new List<SyntaxNode>();
Structure\Providers\FileScopedNamespaceDeclarationStructureProvider.cs (1)
28var externsAndUsings = Enumerable.Union<SyntaxNode>(fileScopedNamespaceDeclaration.Externs, fileScopedNamespaceDeclaration.Usings).ToImmutableArray();
Structure\Providers\NamespaceDeclarationStructureProvider.cs (1)
38var externsAndUsings = Enumerable.Union<SyntaxNode>(namespaceDeclaration.Externs, namespaceDeclaration.Usings)
Testing\CSharpTestMethodFinder.cs (1)
21protected override bool DescendIntoChildren(SyntaxNode node)
UseExpressionBody\UseExpressionBodyCodeRefactoringProvider.cs (30)
65var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 66var node = root.FindNode(textSpan); 83var declaration = TryGetDeclaration(helper, text, node, position); 93private static SyntaxNode? TryGetDeclaration( 94UseExpressionBodyHelper helper, SourceText text, SyntaxNode node, int position) 96var declaration = GetDeclaration(node, helper); 114CodeRefactoringContext context, SyntaxNode root, SyntaxNode declaration, 150private static SyntaxNode? GetDeclaration(SyntaxNode node, UseExpressionBodyHelper helper) 152for (var current = node; current != null; current = current.Parent) 162Document document, SyntaxNode root, SyntaxNode declaration, 167var newRoot = GetUpdatedRoot(semanticModel, root, declaration, helper, useExpressionBody, cancellationToken); 171private static SyntaxNode GetUpdatedRoot( 172SemanticModel semanticModel, SyntaxNode root, SyntaxNode declaration, 175var updatedDeclaration = helper.Update(semanticModel, declaration, useExpressionBody, cancellationToken); 177var parent = declaration is AccessorDeclarationSyntax 181var updatedParent = parent.ReplaceNode(declaration, updatedDeclaration) 197var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 204static IEnumerable<SyntaxNode> GetDeclarationsToFix( 206SyntaxNode root, 215var spanNode = root.FindNode(span); 217foreach (var node in spanNode.DescendantNodesAndSelf()) 237SyntaxNode root, 238ImmutableArray<SyntaxNode> declarationsToFix, 244var currentRoot = root.TrackNodes(declarationsToFix); 247foreach (var declaration in declarationsToFix.Reverse()) 253var currentDeclaration = currentRoot.GetCurrentNodes(declaration).Single();
UseExpressionBodyForLambda\UseExpressionBodyForLambdaCodeRefactoringProvider.cs (3)
169var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 195Document document, SyntaxNode root, LambdaExpressionSyntax declaration, CancellationToken cancellationToken) 202var newRoot = root.ReplaceNode(declaration, updatedDeclaration);
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (4)
24where TSyntax : SyntaxNode 25where TSyntaxList : SyntaxNode 29protected sealed override SyntaxNode? GetReceiver(SyntaxNode argument)
UsePatternMatching\CSharpIsAndCastCheckWithoutNameCodeFixProvider.cs (1)
57var updatedRoot = updatedSemanticModel.SyntaxTree.GetRoot(cancellationToken);
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (9)
115var container = GetContainer(isExpression); 168void AddMatches(SyntaxNode node) 192if (child.AsNode(out var childNode)) 202var root = updatedSemanticModel.SyntaxTree.GetRoot(cancellationToken); 204var currentNode = root.GetAnnotatedNodes(s_referenceAnnotation).Single(); 215var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 241var changedRoot = editor.GetChangedRoot(); 252private static SyntaxNode? GetContainer(BinaryExpressionSyntax isExpression) 254for (SyntaxNode? current = isExpression; current != null; current = current.Parent)
Wrapping\SeparatedSyntaxList\AbstractCSharpSeparatedSyntaxListWrapper.cs (2)
12where TListSyntax : SyntaxNode 13where TListItemSyntax : SyntaxNode
Wrapping\SeparatedSyntaxList\CSharpArgumentWrapper.cs (4)
47protected override BaseArgumentListSyntax? TryGetApplicableList(SyntaxNode node) 59SyntaxNode root, 61SyntaxNode declaration, 106for (var current = token.Parent; current != listSyntax; current = current?.Parent)
Wrapping\SeparatedSyntaxList\CSharpCollectionExpressionWrapper.cs (3)
44protected override CollectionExpressionSyntax? TryGetApplicableList(SyntaxNode node) 47protected override bool PositionIsApplicable(SyntaxNode root, int position, SyntaxNode declaration, bool containsSyntaxError, CollectionExpressionSyntax listSyntax)
Wrapping\SeparatedSyntaxList\CSharpInitializerExpressionWrapper.cs (3)
44protected override InitializerExpressionSyntax? TryGetApplicableList(SyntaxNode node) 47protected override bool PositionIsApplicable(SyntaxNode root, int position, SyntaxNode declaration, bool containsSyntaxError, InitializerExpressionSyntax listSyntax)
Wrapping\SeparatedSyntaxList\CSharpParameterWrapper.cs (3)
46protected override BaseParameterListSyntax? TryGetApplicableList(SyntaxNode node) 50SyntaxNode root, int position, SyntaxNode declaration, bool containsSyntaxError, BaseParameterListSyntax listSyntax)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (364)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpEnumStorageShouldBeInt32.Fixer.cs (2)
18protected override SyntaxNode? GetTargetNode(SyntaxNode node)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpIdentifiersShouldNotContainUnderscores.Fixer.cs (2)
34protected override SyntaxNode GetDeclarationNode(SyntaxNode node)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpPassSystemUriObjectsInsteadOfStrings.cs (2)
17protected override SyntaxNode? GetInvocationExpression(SyntaxNode invocationNode)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpStaticHolderTypes.Fixer.cs (1)
29SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpAvoidDeadConditionalCode.cs (1)
14protected override bool IsSwitchArmExpressionWithWhenClause(SyntaxNode node)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpMakeTypesInternal.cs (1)
15protected override SyntaxToken? GetIdentifier(SyntaxNode type) => type switch
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpMakeTypesInternal.Fixer.cs (3)
18protected override SyntaxNode MakeInternal(SyntaxNode node) => 27private static SyntaxNode MakeMemberInternal(MemberDeclarationSyntax type)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpUseCrossPlatformIntrinsicsFixer.cs (11)
20protected override SyntaxNode ReplaceNode(SyntaxNode currentNode, SyntaxGenerator generator, RuleKind ruleKind) 32protected override SyntaxNode ReplaceWithBinaryOperator(SyntaxNode currentNode, SyntaxGenerator generator, bool isCommutative, Func<SyntaxNode, SyntaxNode, SyntaxNode?> binaryOpFunc) 56protected override SyntaxNode ReplaceWithUnaryOperator(SyntaxNode currentNode, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode?> unaryOpFunc)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpAvoidDuplicateElementInitializationFixer.cs (3)
38var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 56SyntaxNode root, 60var newRoot = root.ReplaceNode(objectInitializer, objectInitializer.WithExpressions(newElementInitializers));
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpAvoidMultipleEnumerationsAnalyzer.cs (1)
13protected override bool IsExpressionOfForEachStatement(SyntaxNode syntax)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpDoNotInitializeUnnecessarily.Fixer.cs (1)
38SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpMarkMembersAsStatic.Fixer.cs (4)
19protected override IEnumerable<SyntaxNode>? GetTypeArguments(SyntaxNode node) 22protected override SyntaxNode? GetExpressionOfInvocation(SyntaxNode invocation)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpUseLiteralsWhereAppropriate.Fixer.cs (6)
19protected override SyntaxNode? GetFieldDeclaration(SyntaxNode syntaxNode) 21SyntaxNode? currentNode = syntaxNode; 48protected override SyntaxTokenList GetModifiers(SyntaxNode fieldSyntax) 54protected override SyntaxNode WithModifiers(SyntaxNode fieldSyntax, SyntaxTokenList modifiers)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.FixAllProvider.cs (2)
35SyntaxNode root = await document.GetRequiredSyntaxRootAsync(fixAllContext.CancellationToken).ConfigureAwait(false); 42SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan);
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (8)
38SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 40SyntaxNode enclosingNode = root.FindNode(context.Span); 74private static async Task<Document> UseDisabledMarshallingEquivalentAsync(SyntaxNode node, Document document, CancellationToken ct) 88private static bool TryRewriteMethodCall(SyntaxNode node, DocumentEditor editor, IdentifierGenerator pointerIdentifierGenerator, bool addRenameAnnotation, CancellationToken ct) 146SyntaxNode replacementNode; 166var pointerCast = editor.Generator.CastExpression( 206private static void AddUnsafeModifierToEnclosingMethod(DocumentEditor editor, SyntaxNode syntax) 213static BaseMethodDeclarationSyntax? FindEnclosingMethod(SyntaxNode syntax)
Microsoft.NetCore.Analyzers\InteropServices\CSharpDynamicInterfaceCastableImplementation.Fixer.cs (23)
24SyntaxNode declaration, 34var generatedMembers = new List<SyntaxNode>(); 41var implementation = member.Kind switch 52generator.NameExpression(member.ContainingType)) is not SyntaxNode privateImplementation) 67SyntaxNode? GenerateMethodImplementation(IMethodSymbol method) 76var methodDeclaration = generator.MethodDeclaration(method); 81SyntaxNode GeneratePropertyImplementation(IPropertySymbol property) 83var propertyDeclaration = property.IsIndexer 107private static SyntaxNode AddSetAccessor( 109SyntaxNode declaration, 111SyntaxNode[] defaultMethodBodyStatements, 127SyntaxNode? oldInitAccessor = null; 154private static SyntaxNode? GenerateEventImplementation( 157SyntaxNode[] defaultMethodBodyStatements) 159var eventDeclaration = generator.CustomEventDeclaration(evt); 162if (generator.GetAccessor(eventDeclaration, DeclarationKind.AddAccessor) is not SyntaxNode addAccessor || 163generator.GetAccessor(eventDeclaration, DeclarationKind.RemoveAccessor) is not SyntaxNode removeAccessor) 179protected override async Task MakeMemberDeclaredOnImplementationTypeStaticAsync(SyntaxNode declaration, Document document, SyntaxEditor editor, CancellationToken cancellationToken) 181var root = editor.OriginalRoot; 224var referenceNode = root.FindNode(location.Location.SourceSpan); 270var updatedMethod = generator.WithModifiers(node, DeclarationModifiers.From(symbol) 307protected override bool CodeFixSupportsDeclaration(SyntaxNode declaration) 314public override SyntaxNode VisitThisExpression(ThisExpressionSyntax node)
Microsoft.NetCore.Analyzers\InteropServices\CSharpSpecifyMarshalingForPInvokeStringArguments.Fixer.cs (5)
19protected override bool IsAttribute(SyntaxNode node) 24protected override SyntaxNode FindNamedArgument(IReadOnlyList<SyntaxNode> arguments, string argumentName) 29protected override bool IsDeclareStatement(SyntaxNode node) 34protected override void FixDeclareStatement(SyntaxEditor editor, SyntaxNode node)
Microsoft.NetCore.Analyzers\Performance\CSharpCollapseMultiplePathOperations.Fixer.cs (2)
28var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 29var node = root.FindNode(context.Span, getInnermostNodeForTie: true);
Microsoft.NetCore.Analyzers\Performance\CSharpConstantExpectedAnalyzer.cs (3)
48public override Location? GetMaxLocation(SyntaxNode attributeSyntax) => GetArgumentLocation(attributeSyntax, _constantExpectedMaxIdentifier); 50public override Location? GetMinLocation(SyntaxNode attributeSyntax) => GetArgumentLocation(attributeSyntax, _constantExpectedMinIdentifier); 52private static Location? GetArgumentLocation(SyntaxNode attributeNode, IdentifierNameSyntax targetNameSyntax)
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotGuardCall.Fixer.cs (5)
22protected override bool SyntaxSupportedByFixer(SyntaxNode conditionalSyntax, SyntaxNode childStatementSyntax) 39protected override bool IsInElseBranch(SyntaxNode childStatementSyntax) 42protected override SyntaxNode ReplaceConditionWithChild(SyntaxNode currentConditional, bool guardedCallInElse, SyntaxGenerator generator)
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotUseCountWhenAnyCanBeUsed.Fixer.cs (5)
31SyntaxNode node, 34[NotNullWhen(returnValue: true)] out SyntaxNode? expression, 35[NotNullWhen(returnValue: true)] out IEnumerable<SyntaxNode>? arguments) 121[NotNullWhen(returnValue: true)] out SyntaxNode? expression, 122[NotNullWhen(returnValue: true)] out IEnumerable<SyntaxNode>? arguments)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferDictionaryTryMethodsOverContainsKeyGuardFixer.cs (18)
36SyntaxNode root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 81private static bool TryGetContainsKeyInvocation(Diagnostic diagnostic, SyntaxNode root, out InvocationExpressionSyntax containsKeyInvocation, out MemberAccessExpressionSyntax containsKeyAccess) 100private static bool TryGetTryGetValueFix(Diagnostic diagnostic, SyntaxNode root, SemanticModel model, CancellationToken cancellationToken, out TryGetValueFix fix) 109var dictionaryAccessors = ImmutableArray.CreateBuilder<SyntaxNode>(); 111SyntaxNode? changedValueNode = null; 116SyntaxNode? typeNode = null; 119var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true); 231foreach (var dictionaryAccess in fix.DictionaryAccessors) 268private static bool TryGetTryAddFix(Diagnostic diagnostic, SyntaxNode root, out TryAddFix fix) 277var dictionaryAdd = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan, getInnermostNodeForTie: true); 298var tryAddValueAccess = generator.MemberAccessExpression(fix.ContainsKeyAccess.Expression, TryAdd); 300var tryAddInvocation = generator.InvocationExpression(tryAddValueAccess, dictionaryAddArguments[0], dictionaryAddArguments[1]); 311var invocationWithTrivia = tryAddInvocation.WithTriviaFrom(ifStatement); 333var negatedTryAddInvocation = generator.LogicalNotExpression(tryAddInvocation); 355ImmutableArray<SyntaxNode> dictionaryAccessors, 357SyntaxNode? changedValueNode, 378public ImmutableArray<SyntaxNode> DictionaryAccessors { get; } 382public SyntaxNode? ChangedValueNode { get; }
Microsoft.NetCore.Analyzers\Performance\CSharpPreferHashDataOverComputeHash.Fixer.cs (12)
34protected override SyntaxNode GetHashDataSyntaxNode(PreferHashDataOverComputeHashAnalyzer.ComputeType computeType, string? namespacePrefix, string hashTypeName, SyntaxNode computeHashNode) 116protected override SyntaxNode FixHashCreateNode(SyntaxNode root, SyntaxNode createNode) 118var currentCreateNode = root.GetCurrentNode(createNode)!; 146private SyntaxNode MoveStatementsOutOfUsingStatementWithFormatting(SyntaxNode root, UsingStatementSyntax usingStatement) 177var parent = usingStatement.Parent!; 190var newParent = parent.TrackNodes(usingStatement); 204protected override string? GetQualifiedPrefixNamespaces(SyntaxNode computeHashNode, SyntaxNode? createNode)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferIsEmptyOverCount.Fixer.cs (5)
19protected override SyntaxNode? GetObjectExpressionFromOperation(SyntaxNode node, string operationKey) 21SyntaxNode? countNode = null; 48SyntaxNode equalsMemberAccess = invocationExpression2.Expression; 85SyntaxNode? objectNode = null;
Microsoft.NetCore.Analyzers\Performance\CSharpPreferLengthCountIsEmptyOverAny.Fixer.cs (8)
18protected override SyntaxNode? GetNodeToReplace(SyntaxNode node) 28protected override SyntaxNode? ReplaceAnyWithIsEmpty(SyntaxNode currentNode) 52protected override SyntaxNode? ReplaceAnyWithPropertyCheck(SyntaxNode currentNode, string propertyName) 73private static bool TrySplit(SyntaxNode currentNode, out bool isNegated, [NotNullWhen(true)] out ExpressionSyntax? expression) 76SyntaxNode operand = isNegated ? ((PrefixUnaryExpressionSyntax)currentNode).Operand : currentNode;
Microsoft.NetCore.Analyzers\Performance\CSharpRecommendCaseInsensitiveStringComparisonFixer.cs (10)
21protected override IEnumerable<SyntaxNode> GetNewArgumentsForInvocation(SyntaxGenerator generator, 23string? leftOffendingMethod, string? rightOffendingMethod, out SyntaxNode? mainInvocationInstance) 51List<SyntaxNode> arguments = new(); 56SyntaxNode newArgumentNode; 61SyntaxNode actualArgumentNode = arg.Syntax; 110SyntaxNode stringComparisonArgument = GetNewStringComparisonArgument(generator, stringComparisonType, caseChangingApproachValue, isAnyArgumentNamed); 117protected override IEnumerable<SyntaxNode> GetNewArgumentsForBinary(SyntaxGenerator generator, SyntaxNode rightNode, SyntaxNode typeMemberAccess) => 118new List<SyntaxNode>()
Microsoft.NetCore.Analyzers\Performance\CSharpUseAsSpanInsteadOfRangeIndexer.Fixer.cs (4)
22SyntaxNode node, 23out SyntaxNode toReplace, 24[NotNullWhen(true)] out SyntaxNode? target, 25[NotNullWhen(true)] out IEnumerable<SyntaxNode>? arguments)
Microsoft.NetCore.Analyzers\Performance\CSharpUsePropertyInsteadOfCountMethodWhenAvailable.Fixer.cs (3)
31SyntaxNode invocationNode, 32[NotNullWhen(returnValue: true)] out SyntaxNode? memberAccessNode, 33[NotNullWhen(returnValue: true)] out SyntaxNode? nameNode)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.cs (5)
25protected override bool IsConstantByteOrCharArrayVariableDeclaratorSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length) 45protected override bool IsConstantByteOrCharReadOnlySpanPropertyDeclarationSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length) 57protected override bool IsConstantByteOrCharArrayCreationSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length) 182protected override bool ArrayFieldUsesAreLikelyReadOnly(SyntaxNode syntax) 196foreach (var node in member.DescendantNodes())
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (9)
24protected override async ValueTask<(SyntaxNode TypeDeclaration, INamedTypeSymbol? TypeSymbol, bool IsRealType)> GetTypeSymbolAsync(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 26SyntaxNode? typeDeclarationOrCompilationUnit = node.FirstAncestorOrSelf<TypeDeclarationSyntax>(); 35protected override SyntaxNode ReplaceSearchValuesFieldName(SyntaxNode node) 48protected override SyntaxNode GetDeclaratorInitializer(SyntaxNode syntax) 68protected override SyntaxNode? TryReplaceArrayCreationWithInlineLiteralExpression(IOperation operation) 151private static bool ContainsAnyComments(SyntaxNode node)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSpanClearInsteadOfFIll.Fixer.cs (2)
20protected override SyntaxNode? GetInvocationTarget(SyntaxNode? node)
Microsoft.NetCore.Analyzers\Performance\CSharpUseStartsWithInsteadOfIndexOfComparisonWithZero.Fixer.cs (14)
19protected override SyntaxNode? GetIndexOfInvocation(SyntaxNode comparison) 29protected override SyntaxNode GetInstance(SyntaxNode invocation) 32protected override SyntaxNode[] GetArguments(SyntaxNode invocation) 35protected override SyntaxNode GetArgumentExpression(SyntaxNode argument) 38protected override SyntaxNode AppendElasticMarker(SyntaxNode replacement) 41protected override SyntaxNode HandleCharStringComparisonOverload(SyntaxGenerator generator, SyntaxNode instance, SyntaxNode[] arguments, bool shouldNegate) 55private static (ArgumentSyntax Argument, int Index) GetCharacterArgumentAndIndex(SyntaxNode[] arguments)
Microsoft.NetCore.Analyzers\Performance\CSharpUseStringContainsCharOverloadWithSingleCharactersFixer.cs (2)
16protected override bool TryGetArgumentName(SyntaxNode violatingNode, out string argumentName) 31protected override bool TryGetLiteralValueFromNode(SyntaxNode violatingNode, out char charLiteral)
Microsoft.NetCore.Analyzers\Performance\CSharpUseStringMethodCharOverloadWithSingleCharacters.cs (2)
14protected override SyntaxNode? GetArgumentList(SyntaxNode argumentNode)
Microsoft.NetCore.Analyzers\Performance\CSharpUseStringMethodCharOverloadWithSingleCharacters.Fixer.cs (6)
21protected override bool TryGetChar(SemanticModel model, SyntaxNode argumentListNode, out char c) 61protected override ImmutableArray<SyntaxNode> GetArguments(SyntaxNode argumentListNode) 62=> ((ArgumentListSyntax)argumentListNode).Arguments.Cast<SyntaxNode>().ToImmutableArray(); 64protected override SyntaxNode CreateArgumentList(IEnumerable<SyntaxNode> arguments)
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidRedundantRegexIsMatchBeforeMatch.Fixer.cs (12)
52SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 81private static bool TryGetFix(SyntaxNode root, SemanticModel model, Diagnostic diagnostic, CancellationToken cancellationToken, out Fix fix) 93if (root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode isMatchNode) 105if (root.FindNode(matchLocation.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode matchNode) 142SyntaxNode matchNode, 211SyntaxNode matchNode, 323private static bool IsMatchNode(ExpressionSyntax expression, SyntaxNode matchNode) 325SyntaxNode core = expression; 416private static bool ContainsIdentifierReference(SyntaxNode node, string variableName) 486private static bool HasConflictingName(SyntaxNode node, string variableName) 488foreach (var descendant in node.DescendantNodes()) 581SyntaxNode current = ifStatement;
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidZeroLengthArrayAllocations.cs (2)
18protected override bool IsAttributeSyntax(SyntaxNode node) 23protected override bool IsCollectionExpressionSyntax(SyntaxNode node)
Microsoft.NetCore.Analyzers\Runtime\CSharpDetectPreviewFeatureAnalyzer.cs (23)
30protected override SyntaxNode? GetPreviewSyntaxNodeForFieldsOrEvents(ISymbol fieldOrEventSymbol, ISymbol previewSymbol) 36SyntaxNode? definition = fieldOrEventReference.GetSyntax(); 54if (TryMatchGenericSyntaxNodeWithGivenSymbol(genericName, previewSymbol, out SyntaxNode? previewNode)) 80protected override SyntaxNode? GetPreviewParameterSyntaxNodeForMethod(IMethodSymbol methodSymbol, ISymbol parameterSymbol) 86SyntaxNode methodDefinition = syntaxReference.GetSyntax(); 101if (TryMatchGenericSyntaxNodeWithGivenSymbol(genericName, parameterSymbol, out SyntaxNode? previewNode)) 114protected override SyntaxNode? GetPreviewReturnTypeSyntaxNodeForMethodOrProperty(ISymbol methodOrPropertySymbol, ISymbol previewReturnTypeSymbol) 120SyntaxNode methodOrPropertyDefinition = syntaxReference.GetSyntax(); 131if (TryMatchGenericSyntaxNodeWithGivenSymbol(genericName, previewReturnTypeSymbol, out SyntaxNode? previewNode)) 147if (TryMatchGenericSyntaxNodeWithGivenSymbol(genericName, previewReturnTypeSymbol, out SyntaxNode? previewNode)) 158private static bool TryMatchGenericSyntaxNodeWithGivenSymbol(GenericNameSyntax genericName, ISymbol previewReturnTypeSymbol, [NotNullWhen(true)] out SyntaxNode? syntaxNode) 189protected override SyntaxNode? GetConstraintSyntaxNodeForTypeConstrainedByPreviewTypes(ISymbol typeOrMethodSymbol, ISymbol previewInterfaceConstraintSymbol) 195SyntaxNode typeOrMethodDefinition = syntaxReference.GetSyntax(); 200if (TryGetConstraintClauseNode(constraintClauses, previewInterfaceConstraintSymbol, out SyntaxNode? ret)) 208if (TryGetConstraintClauseNode(constraintClauses, previewInterfaceConstraintSymbol, out SyntaxNode? ret)) 218private static bool TryGetConstraintClauseNode(SyntaxList<TypeParameterConstraintClauseSyntax> constraintClauses, ISymbol previewInterfaceConstraintSymbol, [NotNullWhen(true)] out SyntaxNode? syntaxNode) 231if (TryMatchGenericSyntaxNodeWithGivenSymbol(generic, previewInterfaceConstraintSymbol, out SyntaxNode? previewConstraint)) 251protected override SyntaxNode? GetPreviewInterfaceNodeForTypeImplementingPreviewInterface(ISymbol typeSymbol, ISymbol previewInterfaceSymbol) 253SyntaxNode? ret = null; 258SyntaxNode typeSymbolDefinition = syntaxReference.GetSyntax(); 271private static bool TryGetPreviewInterfaceNodeForTypeImplementingPreviewInterface(SeparatedSyntaxList<BaseTypeSyntax> baseListTypes, ISymbol previewInterfaceSymbol, out SyntaxNode? previewInterfaceNode) 286if (TryMatchGenericSyntaxNodeWithGivenSymbol(generic, previewInterfaceSymbol, out SyntaxNode? previewConstraint)) 304protected override SyntaxNode? GetPreviewImplementsClauseSyntaxNodeForMethodOrProperty(ISymbol methodOrPropertySymbol, ISymbol previewSymbol)
Microsoft.NetCore.Analyzers\Runtime\CSharpDoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectlyFixer.cs (2)
15private protected sealed override SyntaxNode? AdjustSyntaxNode(SyntaxNode? syntaxNode)
Microsoft.NetCore.Analyzers\Runtime\CSharpDoNotUseStackallocInLoops.cs (2)
29for (SyntaxNode? node = ctx.Node; node != null; node = node.Parent) 74static bool ShouldWarn(IOperation? op, SyntaxNode node)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Analyzer.cs (2)
17protected override SyntaxNode? GetInvocationMethodNameNode(SyntaxNode invocationNode)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Fixer.cs (10)
25SyntaxNode node, 46protected override SyntaxNode GetConditionalOperationInvocationExpression(SyntaxNode invocationNode) 52SyntaxNode invocationNode, 53[NotNullWhen(returnValue: true)] out SyntaxNode? expression, 68protected override SyntaxNode GetTypeSyntaxForArray(IArrayTypeSymbol type) 73protected override IEnumerable<SyntaxNode> GetExpressions(ImmutableArray<ArgumentSyntax> newArguments) 78protected override SyntaxNode GetArrayCreationExpression(SyntaxGenerator generator, SyntaxNode typeSyntax, IEnumerable<SyntaxNode> expressions)
Microsoft.NetCore.Analyzers\Runtime\CSharpMarkAllNonSerializableFields.Fixer.cs (3)
15protected override SyntaxNode? GetFieldDeclarationNode(SyntaxNode node) 17SyntaxNode? fieldNode = node;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferAsSpanOverSubstring.Fixer.cs (2)
18private protected override void ReplaceNonConditionalInvocationMethodName(SyntaxEditor editor, SyntaxNode memberInvocation, string newName) 26private protected override void ReplaceNamedArgumentName(SyntaxEditor editor, SyntaxNode invocation, string oldArgumentName, string newArgumentName)
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferDictionaryContainsMethods.Fixer.cs (5)
17protected override string? GetPropertyName(SyntaxNode invocation) 20protected override SyntaxNode? Rewrite(SyntaxNode invocation, string methodName, SyntaxGenerator generator) 27var containsMemberAccess = generator.MemberAccessExpression(keysOrValuesMemberAccess.Expression, methodName); 31private static MemberAccessExpressionSyntax? GetKeysOrValuesMemberAccess(SyntaxNode node)
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferReadOnlySpanPropertiesOverReadOnlyArrayFields.Fixer.cs (6)
78var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 384ImmutableArray<(SyntaxNode Original, SyntaxNode Replacement)> AsSpanReplacements)> GetFixInfoAsync( 385SyntaxNode root, 422var replacements = ImmutableArray.CreateBuilder<(SyntaxNode Original, SyntaxNode Replacement)>(diagnostic.AdditionalLocations.Count);
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferStreamAsyncMemoryOverloads.Fixer.cs (11)
18protected override SyntaxNode? GetArgumentByPositionOrName(IInvocationOperation invocation, int index, string name, out bool isNamed) 58protected override bool IsPassingZeroAndBufferLength(SemanticModel model, SyntaxNode bufferValueNode, SyntaxNode offsetValueNode, SyntaxNode countValueNode) 86protected override SyntaxNode GetNodeWithNullability(IInvocationOperation invocation) 98protected override SyntaxNode GetNamedArgument(SyntaxGenerator generator, SyntaxNode node, bool isNamed, string newName) 102SyntaxNode actualNode = node; 115protected override SyntaxNode GetNamedMemberInvocation(SyntaxGenerator generator, SyntaxNode node, string memberName) 117SyntaxNode actualNode = node;
Microsoft.NetCore.Analyzers\Runtime\CSharpPreventNumericIntPtrUIntPtrBehavioralChanges.cs (4)
23var parent = operation.Parent?.Syntax; 48SyntaxNode definition = reference.GetSyntax(); 71protected override bool IsAliasUsed(SyntaxNode syntax) 85private static TypeSyntax? GetType(SyntaxNode syntax) =>
Microsoft.NetCore.Analyzers\Runtime\CSharpSpecifyCultureForToLowerAndToUpper.cs (1)
16protected override Location GetMethodNameLocation(SyntaxNode node)
Microsoft.NetCore.Analyzers\Runtime\CSharpSpecifyCultureForToLowerAndToUpper.Fixer.cs (10)
19protected override bool ShouldFix(SyntaxNode node) 25protected override SyntaxNode? GetNodeToSpecifyCurrentCultureOn(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken) 37protected override SyntaxNode SpecifyCurrentCulture(SyntaxNode currentNode, SyntaxNode currentCultureArgument, SyntaxGenerator generator) 44protected override SyntaxNode? GetMemberAccessToMakeInvariant(SyntaxNode node) 54protected override SyntaxNode UseInvariantVersion(SyntaxNode currentMemberAccess, SyntaxGenerator generator)
Microsoft.NetCore.Analyzers\Runtime\CSharpTestForEmptyStringsUsingStringLength.Fixer.cs (12)
19protected override SyntaxNode GetExpression(SyntaxNode node) 23protected override bool IsEqualsOperator(SyntaxNode node) 27protected override bool IsNotEqualsOperator(SyntaxNode node) 32protected override SyntaxNode GetLeftOperand(SyntaxNode binaryExpressionSyntax) 37protected override SyntaxNode GetRightOperand(SyntaxNode binaryExpressionSyntax) 42protected override bool IsFixableBinaryExpression(SyntaxNode node) 47protected override bool IsFixableInvocationExpression(SyntaxNode node) 52protected override SyntaxNode? GetInvocationTarget(SyntaxNode node)
Microsoft.NetCore.Analyzers\Runtime\CSharpTestForNaNCorrectly.Fixer.cs (8)
19protected override SyntaxNode GetBinaryExpression(SyntaxNode node) 24protected override bool IsEqualsOperator(SyntaxNode node) 29protected override bool IsNotEqualsOperator(SyntaxNode node) 34protected override SyntaxNode GetLeftOperand(SyntaxNode binaryExpressionSyntax) 39protected override SyntaxNode GetRightOperand(SyntaxNode binaryExpressionSyntax)
Microsoft.NetCore.Analyzers\Runtime\CSharpUseOrdinalStringComparison.cs (1)
16protected override Location GetMethodNameLocation(SyntaxNode invocationNode)
Microsoft.NetCore.Analyzers\Runtime\CSharpUseOrdinalStringComparison.Fixer.cs (8)
19protected override bool IsInArgumentContext(SyntaxNode node) 25protected override void FixArgument(SyntaxNode argument, SyntaxEditor editor) 43protected override bool IsInIdentifierNameContext(SyntaxNode node) 49protected override SyntaxNode? GetInvocation(SyntaxNode identifier) 54protected override SyntaxNode AddArgument(SyntaxNode invocation, SyntaxNode argument)
Microsoft.NetCore.Analyzers\Runtime\CSharpUseSpanBasedStringConcat.Fixer.cs (3)
17private protected override SyntaxNode ReplaceInvocationMethodName(SyntaxGenerator generator, SyntaxNode invocationSyntax, string newName) 21var newNameSyntax = generator.IdentifierName(newName).WithTriviaFrom(oldNameSyntax);
Microsoft.NetCore.Analyzers\Usage\CSharpDoNotCompareSpanToNull.Fixer.cs (2)
16protected override SyntaxNode? MakeIsEmptyCheck(SyntaxNode comparison)
Microsoft.NetCore.Analyzers\Usage\CSharpDoNotPassNonNullableValueToArgumentNullExceptionThrowIfNullFixer.cs (5)
16protected override void ReplaceWithNullableStructCheck(InvocationExpressionSyntax invocation, SyntaxNode statement, SyntaxEditor editor) 20var condition = generator.LogicalNotExpression(generator.MemberAccessExpression(nullableStructExpression, HasValue)); 21var nameOfExpression = generator.NameOfExpression(nullableStructExpression); 22var argumentNullException = generator.ObjectCreationExpression(generator.IdentifierName(ArgumentNullException), nameOfExpression); 23var throwExpression = generator.ThrowStatement(argumentNullException);
Microsoft.NetCore.Analyzers\Usage\CSharpImplementGenericMathInterfacesCorrectly.cs (3)
14protected override SyntaxNode? FindTheTypeArgumentOfTheInterfaceFromTypeDeclaration(ISymbol typeSymbol, ISymbol theInterfaceSymbol) 18SyntaxNode typeDefinition = syntaxReference.GetSyntax(); 30private static SyntaxNode? FindTypeArgumentFromBaseInterfaceList(SeparatedSyntaxList<BaseTypeSyntax> baseListTypes, ISymbol anInterfaceSymbol)
Microsoft.NetCore.Analyzers\Usage\CSharpMissingShebangInFileBasedProgram.cs (2)
37var root = context.Tree.GetRoot(context.CancellationToken); 57var structure = trivia.GetStructure();
Microsoft.NetCore.Analyzers\Usage\CSharpMissingShebangInFileBasedProgram.Fixer.cs (2)
20var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 35var newRoot = root.ReplaceToken(firstToken, newFirstToken)
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.cs (2)
20protected sealed override bool TryGetModifiedInvocationSyntax(RuntimeTypeInvocationContext invocationContext, [NotNullWhen(true)] out SyntaxNode? modifiedInvocationSyntax) 28internal static SyntaxNode? GetModifiedInvocationSyntax(RuntimeTypeInvocationContext invocationContext)
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.Fixer.cs (1)
33var modifiedInvocationSyntax = CSharpPreferGenericOverloadsAnalyzer.GetModifiedInvocationSyntax(invocationContext);
Microsoft.NetCore.Analyzers\Usage\CSharpPreferQuotedFileBasedProgramDirective.cs (1)
21var root = context.Tree.GetRoot(context.CancellationToken);
Microsoft.NetCore.Analyzers\Usage\CSharpPreferQuotedFileBasedProgramDirective.Fixer.cs (1)
19var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);
Microsoft.NetCore.Analyzers\Usage\CSharpUseVolatileReadWriteFixer.cs (5)
17protected override ImmutableArray<SyntaxNode> GetArguments(SyntaxNode invocationSyntax) 18=> ImmutableArray.CreateRange<SyntaxNode>(((InvocationExpressionSyntax)invocationSyntax).ArgumentList.Arguments); 20protected override SyntaxNode WithParameterName(SyntaxNode argumentSyntax, string parameterName)
Microsoft.NetCore.Analyzers\Usage\FileBasedProgramDirectiveQuoting.cs (1)
40var structure = trivia.GetStructure();
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler.CSharp\Extensions\SyntaxGeneratorExtensions.cs (17)
16public static SyntaxNode CreateBinaryExpression(this SyntaxGenerator generator, SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right) 19public static SyntaxNode ExclusiveOrExpression(this SyntaxGenerator generator, SyntaxNode left, SyntaxNode right) 22public static SyntaxNode LeftShiftExpression(this SyntaxGenerator generator, SyntaxNode left, SyntaxNode right) 25public static SyntaxNode RightShiftExpression(this SyntaxGenerator generator, SyntaxNode left, SyntaxNode right) 28public static SyntaxNode? UnsignedRightShiftExpression(this SyntaxGenerator generator, SyntaxNode left, SyntaxNode right) 38public static SyntaxNode Parenthesize(this SyntaxGenerator generator, SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) => expressionOrPattern switch
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler.CSharp\Extensions\SyntaxNodeExtensions.cs (4)
16public static SyntaxNode WalkDownParentheses(this SyntaxNode node) 18SyntaxNode current = node; 19while (current.IsKind(SyntaxKind.ParenthesizedExpression) && current.ChildNodes().FirstOrDefault() is SyntaxNode expression)
Microsoft.CodeAnalysis.CSharp.Workspaces (1841)
CaseCorrection\CSharpCaseCorrectionService.cs (1)
28SyntaxNode root,
Classification\ClassificationHelpers.cs (3)
302private static string? GetClassificationTypeForConstructorOrDestructorParent(SyntaxNode parentNode) 318var parent = identifierSyntax.Parent; 328var parentNode = token.Parent;
Classification\SyntaxClassification\CSharpSyntaxClassificationService.cs (1)
47public override void AddSyntacticClassifications(SyntaxNode root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
Classification\SyntaxClassification\DiscardSyntaxClassifier.cs (1)
21SyntaxNode syntax,
Classification\SyntaxClassification\DocCommentCodeBlockClassifier.cs (2)
34SyntaxNode syntax, 81if (current.AsNode(out var currentNode))
Classification\SyntaxClassification\FunctionPointerUnmanagedCallingConventionClassifier.cs (1)
21SyntaxNode syntax,
Classification\SyntaxClassification\NameSyntaxClassifier.cs (2)
24SyntaxNode syntax, 41protected override bool IsParentAnAttribute(SyntaxNode node)
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.cs (2)
27SyntaxNode syntax, 54private static TextSpan GetOperatorTokenSpan(SyntaxNode syntax)
Classification\SyntaxClassification\UsingDirectiveSyntaxClassifier.cs (1)
19SyntaxNode syntax,
Classification\Worker_DocumentationComments.cs (1)
286static bool IsSeeElement(SyntaxNode? node)
Classification\Worker.cs (5)
46SyntaxNode node, TextSpan textSpan, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken) 80private void ClassifyNode(SyntaxNode node) 82using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 88while (stack.TryPop(out var current)) 96if (child.AsNode(out var childNode))
CodeCleanup\CSharpCodeCleanerService.cs (1)
19protected override ImmutableArray<TextSpan> GetSpansToAvoid(SyntaxNode root)
CodeGeneration\CSharpSyntaxGenerator.cs (620)
65internal override SyntaxTrivia Trivia(SyntaxNode node) 75internal override SyntaxNode DocumentationCommentTrivia(IEnumerable<SyntaxNode> nodes, SyntaxTriviaList trailingTrivia, string endOfLineString) 88internal override SyntaxNode? DocumentationCommentTriviaWithUpdatedContent(SyntaxTrivia trivia, IEnumerable<SyntaxNode> content) 101public override SyntaxNode CompilationUnit(IEnumerable<SyntaxNode> declarations) 108private SyntaxList<UsingDirectiveSyntax> AsUsingDirectives(IEnumerable<SyntaxNode> declarations) 115private SyntaxNode? AsUsingDirective(SyntaxNode node) 125private static SyntaxList<MemberDeclarationSyntax> AsNamespaceMembers(IEnumerable<SyntaxNode> declarations) 132private static SyntaxNode? AsNamespaceMember(SyntaxNode declaration) 151public override SyntaxNode NamespaceImportDeclaration(SyntaxNode name) 154public override SyntaxNode AliasImportDeclaration(string aliasIdentifierName, SyntaxNode name) 157public override SyntaxNode NamespaceDeclaration(SyntaxNode name, IEnumerable<SyntaxNode> declarations) 166public override SyntaxNode FieldDeclaration( 168SyntaxNode type, 171SyntaxNode? initializer) 187private protected override SyntaxNode ParameterDeclaration( 188string name, SyntaxNode? type, SyntaxNode? initializer, RefKind refKind, bool isExtension, bool isParams, bool isScoped) 221private protected override SyntaxNode MethodDeclaration( 223IEnumerable<SyntaxNode>? parameters, 224IEnumerable<SyntaxNode>? typeParameters, 225SyntaxNode? returnType, 228IEnumerable<SyntaxNode>? statements) 258public override SyntaxNode OperatorDeclaration(OperatorKind kind, IEnumerable<SyntaxNode>? parameters = null, SyntaxNode? returnType = null, Accessibility accessibility = Accessibility.NotApplicable, DeclarationModifiers modifiers = default, IEnumerable<SyntaxNode>? statements = null) 263private protected override SyntaxNode OperatorDeclaration(string operatorName, bool isImplicitConversion, IEnumerable<SyntaxNode>? parameters = null, SyntaxNode? returnType = null, Accessibility accessibility = Accessibility.NotApplicable, DeclarationModifiers modifiers = default, IEnumerable<SyntaxNode>? statements = null) 351private static ParameterListSyntax AsParameterList(IEnumerable<SyntaxNode>? parameters) 358public override SyntaxNode ConstructorDeclaration( 360IEnumerable<SyntaxNode>? parameters, 363IEnumerable<SyntaxNode>? baseConstructorArguments, 364IEnumerable<SyntaxNode>? statements) 375private protected override SyntaxNode DestructorDeclaration(IMethodSymbol destructorMethod) 378public override SyntaxNode PropertyDeclaration( 380SyntaxNode type, 383IEnumerable<SyntaxNode>? getAccessorStatements, 384IEnumerable<SyntaxNode>? setAccessorStatements) 386SyntaxNode? getAccessor = null; 387SyntaxNode? setAccessor = null; 398private protected override SyntaxNode PropertyDeclaration( 400SyntaxNode type, 401SyntaxNode? getAccessor, 402SyntaxNode? setAccessor, 424public override SyntaxNode GetAccessorDeclaration(Accessibility accessibility, IEnumerable<SyntaxNode>? statements) 427private protected override SyntaxNode SetAccessorDeclaration(Accessibility accessibility, bool isInitOnly, IEnumerable<SyntaxNode>? statements) 431SyntaxKind kind, Accessibility accessibility, IEnumerable<SyntaxNode>? statements) 445public override SyntaxNode WithAccessorDeclarations(SyntaxNode declaration, IEnumerable<SyntaxNode> accessorDeclarations) 461private static AccessorListSyntax CreateAccessorList(AccessorListSyntax? accessorList, IEnumerable<SyntaxNode> accessorDeclarations) 469public override SyntaxNode IndexerDeclaration( 470IEnumerable<SyntaxNode> parameters, 471SyntaxNode type, 474IEnumerable<SyntaxNode>? getAccessorStatements, 475IEnumerable<SyntaxNode>? setAccessorStatements) 516private static BracketedParameterListSyntax AsBracketedParameterList(IEnumerable<SyntaxNode> parameters) 523private static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, IEnumerable<SyntaxNode>? statements) 537public override SyntaxNode EventDeclaration( 539SyntaxNode type, 551public override SyntaxNode CustomEventDeclaration( 553SyntaxNode type, 556IEnumerable<SyntaxNode>? parameters, 557IEnumerable<SyntaxNode>? addAccessorStatements, 558IEnumerable<SyntaxNode>? removeAccessorStatements) 584public override SyntaxNode? AsPublicInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceTypeName, string? interfaceMemberName) 601public override SyntaxNode? AsPrivateInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceTypeName, string? interfaceMemberName) 617private SyntaxNode WithoutConstraints(SyntaxNode declaration) 630private static SyntaxNode WithInterfaceSpecifier(SyntaxNode declaration, ExplicitInterfaceSpecifierSyntax? specifier) 642private SyntaxNode AsImplementation(SyntaxNode declaration, Accessibility requiredAccess) 650private static SyntaxNode WithBodies(SyntaxNode declaration) 692private protected override SyntaxNode ClassDeclaration( 695IEnumerable<SyntaxNode>? typeParameters, 698SyntaxNode? baseType, 699IEnumerable<SyntaxNode>? interfaceTypes, 700IEnumerable<SyntaxNode>? members) 724private SyntaxList<MemberDeclarationSyntax> AsClassMembers(string className, IEnumerable<SyntaxNode>? members) 731private MemberDeclarationSyntax? AsClassMember(SyntaxNode node, string className) 748private protected override SyntaxNode StructDeclaration( 751IEnumerable<SyntaxNode>? typeParameters, 754IEnumerable<SyntaxNode>? interfaceTypes, 755IEnumerable<SyntaxNode>? members) 771private protected override SyntaxNode InterfaceDeclaration( 773IEnumerable<SyntaxNode>? typeParameters, 775IEnumerable<SyntaxNode>? interfaceTypes = null, 776IEnumerable<SyntaxNode>? members = null) 794private SyntaxList<MemberDeclarationSyntax> AsInterfaceMembers(IEnumerable<SyntaxNode>? members) 801internal override SyntaxNode AsInterfaceMember(SyntaxNode m) 870public override SyntaxNode EnumDeclaration( 874IEnumerable<SyntaxNode>? members) 879internal override SyntaxNode EnumDeclaration(string name, SyntaxNode? underlyingType, Accessibility accessibility = Accessibility.NotApplicable, DeclarationModifiers modifiers = default, IEnumerable<SyntaxNode>? members = null) 889public override SyntaxNode EnumMember(string name, SyntaxNode? expression) 897private EnumMemberDeclarationSyntax AsEnumMember(SyntaxNode node) 919private SeparatedSyntaxList<EnumMemberDeclarationSyntax> AsEnumMembers(IEnumerable<SyntaxNode>? members) 922private protected override SyntaxNode DelegateDeclaration( 924IEnumerable<SyntaxNode>? parameters, 925IEnumerable<SyntaxNode>? typeParameters, 926SyntaxNode? returnType, 940public override SyntaxNode Attribute(SyntaxNode name, IEnumerable<SyntaxNode>? attributeArguments) 943public override SyntaxNode AttributeArgument(string? name, SyntaxNode expression) 950private static AttributeArgumentListSyntax? AsAttributeArgumentList(IEnumerable<SyntaxNode>? arguments) 953private static AttributeArgumentSyntax AsAttributeArgument(SyntaxNode node) 982private static SyntaxList<AttributeListSyntax> AsAttributeLists(IEnumerable<SyntaxNode> attributes) 987private static AttributeListSyntax AsAttributeList(SyntaxNode node) 992private static readonly ConditionalWeakTable<SyntaxNode, IReadOnlyList<SyntaxNode>> s_declAttributes = new(); 994public override IReadOnlyList<SyntaxNode> GetAttributes(SyntaxNode declaration) 1005private static readonly ConditionalWeakTable<SyntaxNode, IReadOnlyList<SyntaxNode>> s_declReturnAttributes = new(); 1007public override IReadOnlyList<SyntaxNode> GetReturnAttributes(SyntaxNode declaration) 1021public override SyntaxNode InsertAttributes(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributes) 1024private SyntaxNode InsertAttributesInternal(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributes) 1045public override SyntaxNode InsertReturnAttributes(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributes) 1059private SyntaxNode InsertReturnAttributesInternal(SyntaxNode d, int index, IEnumerable<SyntaxNode> attributes) 1080private static IEnumerable<AttributeListSyntax> AsReturnAttributes(IEnumerable<SyntaxNode> attributes) 1091private static SyntaxList<AttributeListSyntax> WithRequiredTargetSpecifier(SyntaxList<AttributeListSyntax> attributes, SyntaxNode declaration) 1101public override IReadOnlyList<SyntaxNode> GetAttributeArguments(SyntaxNode attributeDeclaration) 1126public override SyntaxNode InsertAttributeArguments(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributeArguments) 1129private static SyntaxNode InsertAttributeArgumentsInternal(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributeArguments) 1149private static AttributeArgumentListSyntax? GetAttributeArgumentList(SyntaxNode declaration) 1169private static SyntaxNode WithAttributeArgumentList(SyntaxNode declaration, AttributeArgumentListSyntax? argList) 1189internal static SyntaxList<AttributeListSyntax> GetAttributeLists(SyntaxNode declaration) 1200private static SyntaxNode WithAttributeLists(SyntaxNode declaration, SyntaxList<AttributeListSyntax> attributeLists) 1213internal override SyntaxNode? GetPrimaryConstructorParameterList(SyntaxNode declaration) 1216internal override ImmutableArray<SyntaxNode> GetTypeInheritance(SyntaxNode declaration) 1219: ImmutableArray<SyntaxNode>.Empty; 1221public override IReadOnlyList<SyntaxNode> GetNamespaceImports(SyntaxNode declaration) 1229public override SyntaxNode InsertNamespaceImports(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> imports) 1231var result = PreserveTrivia(declaration, d => InsertNamespaceImportsInternal(d, index, imports)); 1236private SyntaxNode InsertNamespaceImportsInternal(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> imports) 1248public override IReadOnlyList<SyntaxNode> GetMembers(SyntaxNode declaration) 1258private static ImmutableArray<SyntaxNode> Flatten(IEnumerable<SyntaxNode> declarations) 1260var builder = ArrayBuilder<SyntaxNode>.GetInstance(); 1262foreach (var declaration in declarations) 1303static void FlattenDeclaration(ArrayBuilder<SyntaxNode> builder, SyntaxNode declaration, VariableDeclarationSyntax variableDeclaration) 1316private static int GetDeclarationCount(SyntaxNode declaration) 1327private static SyntaxNode EnsureTypeDeclarationHasBody(SyntaxNode declaration) 1340public override SyntaxNode InsertMembers(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> members) 1368private IEnumerable<MemberDeclarationSyntax>? AsMembersOf(SyntaxNode declaration, IEnumerable<SyntaxNode>? members) 1371private SyntaxNode? AsMemberOf(SyntaxNode declaration, SyntaxNode member) 1382private static bool CanHaveAccessibility(SyntaxNode declaration) 1390public override Accessibility GetAccessibility(SyntaxNode declaration) 1399public override SyntaxNode WithAccessibility(SyntaxNode declaration, Accessibility accessibility) 1608public override DeclarationModifiers GetModifiers(SyntaxNode declaration) 1615private static SyntaxTokenList GetModifierTokens(SyntaxNode declaration) 1621private SyntaxNode WithModifiersInternal(SyntaxNode declaration, DeclarationModifiers modifiers) 1662private static SyntaxNode SetModifierTokens(SyntaxNode declaration, SyntaxTokenList modifiers) 1740private protected override SyntaxNode TypeParameter(string name) 1743private protected override SyntaxNode TypeParameter(ITypeParameterSymbol typeParameter) 1756private static TypeParameterListSyntax? AsTypeParameterList(IEnumerable<SyntaxNode>? typeParameterNodes) 1765private protected override SyntaxNode WithTypeParameters(SyntaxNode declaration, IEnumerable<SyntaxNode> typeParameters) 1778internal override SyntaxNode WithExplicitInterfaceImplementations( 1779SyntaxNode declaration, 1803private static SyntaxNode RemoveDefaultValue(ParameterSyntax parameter, bool removeDefaults) 1821private protected override SyntaxNode WithTypeConstraint( 1822SyntaxNode declaration, string typeParameterName, SpecialTypeConstraintKind kinds, bool isUnmanagedType, IEnumerable<SyntaxNode>? types) 1831private protected override SyntaxNode WithDefaultConstraint(SyntaxNode declaration, string typeParameterName) 1843IEnumerable<SyntaxNode>? types) 1889public override DeclarationKind GetDeclarationKind(SyntaxNode declaration) 2044private static bool ParentIsFieldDeclaration([NotNullWhen(true)] SyntaxNode? node) 2047private static bool ParentIsEventFieldDeclaration([NotNullWhen(true)] SyntaxNode? node) 2050private static bool ParentIsLocalDeclarationStatement([NotNullWhen(true)] SyntaxNode? node) 2053public override string GetName(SyntaxNode declaration) 2075public override SyntaxNode WithName(SyntaxNode declaration, string name) 2078private SyntaxNode WithNameInternal(SyntaxNode declaration, string name) 2115public override SyntaxNode? GetType(SyntaxNode declaration) 2154public override SyntaxNode WithType(SyntaxNode declaration, SyntaxNode type) 2157private static SyntaxNode WithTypeInternal(SyntaxNode declaration, SyntaxNode type) 2173private SyntaxNode Isolate(SyntaxNode declaration, Func<SyntaxNode, SyntaxNode> editor) 2176private SyntaxNode AsIsolatedDeclaration(SyntaxNode declaration) 2212private static SyntaxNode WithVariable(SyntaxNode declaration, VariableDeclaratorSyntax variable) 2223private static VariableDeclarationSyntax? GetVariableDeclaration(SyntaxNode declaration) 2232private static SyntaxNode WithVariableDeclaration(SyntaxNode declaration, VariableDeclarationSyntax variables) 2241private static SyntaxNode GetFullDeclaration(SyntaxNode declaration) 2272private SyntaxNode? AsNodeLike(SyntaxNode existingNode, SyntaxNode newNode) 2282var container = GetDeclaration(existingNode.Parent); 2297public override IReadOnlyList<SyntaxNode> GetParameters(SyntaxNode declaration) 2307public override SyntaxNode InsertParameters(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> parameters) 2320public override IReadOnlyList<SyntaxNode> GetSwitchSections(SyntaxNode switchStatement) 2326public override SyntaxNode InsertSwitchSections(SyntaxNode switchStatement, int index, IEnumerable<SyntaxNode> switchSections) 2350public override SyntaxNode? Visit(SyntaxNode? node) 2373internal override SyntaxNode? GetParameterListNode(SyntaxNode declaration) 2376private static SyntaxNode WithParameterList(SyntaxNode declaration, BaseParameterListSyntax list) 2422public override SyntaxNode? GetExpression(SyntaxNode declaration) 2472public override SyntaxNode WithExpression(SyntaxNode declaration, SyntaxNode expression) 2475private static SyntaxNode WithExpressionInternal(SyntaxNode declaration, SyntaxNode expression) 2548private static EqualsValueClauseSyntax? GetEqualsValue(SyntaxNode declaration) 2588private static SyntaxNode WithEqualsValue(SyntaxNode declaration, EqualsValueClauseSyntax? initializer) 2628public override IReadOnlyList<SyntaxNode> GetStatements(SyntaxNode declaration) 2650public override SyntaxNode WithStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 2675public override IReadOnlyList<SyntaxNode> GetAccessors(SyntaxNode declaration) 2681public override SyntaxNode InsertAccessors(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> accessors) 2702internal static AccessorListSyntax? GetAccessorList(SyntaxNode declaration) 2705private static bool CanHaveAccessors(SyntaxNode declaration) 2714private static SyntaxNode WithAccessorList(SyntaxNode declaration, AccessorListSyntax accessorList) 2721private static AccessorListSyntax AsAccessorList(IEnumerable<SyntaxNode> nodes, SyntaxKind parentKind) 2724private static AccessorDeclarationSyntax? AsAccessor(SyntaxNode node, SyntaxKind parentKind) 2752private static AccessorDeclarationSyntax? GetAccessor(SyntaxNode declaration, SyntaxKind kind) 2758private SyntaxNode WithAccessor(SyntaxNode declaration, SyntaxKind kind, AccessorDeclarationSyntax accessor) 2761private SyntaxNode WithAccessor(SyntaxNode declaration, AccessorListSyntax? accessorList, SyntaxKind kind, AccessorDeclarationSyntax? accessor) 2779public override IReadOnlyList<SyntaxNode> GetGetAccessorStatements(SyntaxNode declaration) 2785public override IReadOnlyList<SyntaxNode> GetSetAccessorStatements(SyntaxNode declaration) 2791public override SyntaxNode WithGetAccessorStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 2794public override SyntaxNode WithSetAccessorStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 2797private SyntaxNode WithAccessorStatements(SyntaxNode declaration, SyntaxKind kind, IEnumerable<SyntaxNode> statements) 2811public override IReadOnlyList<SyntaxNode> GetBaseAndInterfaceTypes(SyntaxNode declaration) 2824public override SyntaxNode AddBaseType(SyntaxNode declaration, SyntaxNode baseType) 2838public override SyntaxNode AddInterfaceType(SyntaxNode declaration, SyntaxNode interfaceType) 2852private static SyntaxNode AddBaseList(SyntaxNode declaration, BaseListSyntax baseList) 2854var newDecl = WithBaseList(declaration, baseList); 2860private static BaseListSyntax? GetBaseList(SyntaxNode declaration) 2865private static SyntaxNode WithBaseList(SyntaxNode declaration, BaseListSyntax baseList) 2874public override SyntaxNode ReplaceNode(SyntaxNode root, SyntaxNode declaration, SyntaxNode? newDeclaration) 2889var newFullDecl = AsIsolatedDeclaration(newDeclaration); 2890var fullDecl = GetFullDeclaration(declaration); 2898var newSubDecl = GetSubDeclarations(newFullDecl)[0]; 2922private static bool AreInlineReplaceableSubDeclarations(SyntaxNode decl1, SyntaxNode decl2) 2938private static bool AreSimilarExceptForSubDeclarations(SyntaxNode? decl1, SyntaxNode? decl2) 2987private IEnumerable<SyntaxNode> SplitAndReplace(SyntaxNode multiPartDeclaration, int index, IEnumerable<SyntaxNode> newDeclarations) 2993var newNodes = new List<SyntaxNode>(); 3017public override SyntaxNode InsertNodesBefore(SyntaxNode root, SyntaxNode declaration, IEnumerable<SyntaxNode> newDeclarations) 3036private SyntaxNode InsertNodesBeforeInternal(SyntaxNode root, SyntaxNode declaration, IEnumerable<SyntaxNode> newDeclarations) 3038var fullDecl = GetFullDeclaration(declaration); 3056public override SyntaxNode InsertNodesAfter(SyntaxNode root, SyntaxNode declaration, IEnumerable<SyntaxNode> newDeclarations) 3075private SyntaxNode InsertNodesAfterInternal(SyntaxNode root, SyntaxNode declaration, IEnumerable<SyntaxNode> newDeclarations) 3077var fullDecl = GetFullDeclaration(declaration); 3096private IEnumerable<SyntaxNode> SplitAndInsert(SyntaxNode multiPartDeclaration, int index, IEnumerable<SyntaxNode> newDeclarations) 3099var newNodes = new List<SyntaxNode> 3108private SyntaxNode WithSubDeclarationsRemoved(SyntaxNode declaration, int index, int count) 3111private static IReadOnlyList<SyntaxNode> GetSubDeclarations(SyntaxNode declaration) 3122public override SyntaxNode RemoveNode(SyntaxNode root, SyntaxNode node) 3125public override SyntaxNode RemoveNode(SyntaxNode root, SyntaxNode node, SyntaxRemoveOptions options) 3146private SyntaxNode RemoveNodeInternal(SyntaxNode root, SyntaxNode declaration, SyntaxRemoveOptions options) 3172var full = GetFullDeclaration(declaration); 3191var parent = declaration.Parent; 3210private static SyntaxNode ShiftTrivia(SyntaxNode root, SyntaxNode node) 3216var newNode = node.WithTrailingTrivia(node.GetTrailingTrivia().AddRange(previousToken.TrailingTrivia)); 3234public override SyntaxNode AddEventHandler(SyntaxNode @event, SyntaxNode handler) 3237public override SyntaxNode RemoveEventHandler(SyntaxNode @event, SyntaxNode handler) 3240public override SyntaxNode AwaitExpression(SyntaxNode expression) 3243public override SyntaxNode NameOfExpression(SyntaxNode expression) 3246public override SyntaxNode ReturnStatement(SyntaxNode? expression = null) 3249public override SyntaxNode ThrowStatement(SyntaxNode? expression = null) 3252public override SyntaxNode ThrowExpression(SyntaxNode expression) 3255public override SyntaxNode IfStatement(SyntaxNode condition, IEnumerable<SyntaxNode> trueStatements, IEnumerable<SyntaxNode>? falseStatements = null) 3277IEnumerable<SyntaxNode>? statements = null, 3294private static SyntaxList<StatementSyntax> AsStatementList(IEnumerable<SyntaxNode>? nodes) 3297private static StatementSyntax AsStatement(SyntaxNode node) 3307public override SyntaxNode ExpressionStatement(SyntaxNode expression) 3310public override SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull) 3313public override SyntaxNode MemberBindingExpression(SyntaxNode name) 3316public override SyntaxNode ElementBindingExpression(IEnumerable<SyntaxNode> arguments) 3320private static SeparatedSyntaxList<ExpressionSyntax> AsExpressionList(IEnumerable<SyntaxNode> expressions) 3323public override SyntaxNode ArrayCreationExpression(SyntaxNode elementType, SyntaxNode size) 3329public override SyntaxNode ArrayCreationExpression(SyntaxNode elementType, IEnumerable<SyntaxNode> elements) 3337public override SyntaxNode ObjectCreationExpression(SyntaxNode type, IEnumerable<SyntaxNode> arguments) 3340internal override SyntaxNode ObjectCreationExpression(SyntaxNode type, SyntaxToken openParen, SeparatedSyntaxList<SyntaxNode> arguments, SyntaxToken closeParen) 3346private static ArgumentListSyntax CreateArgumentList(IEnumerable<SyntaxNode> arguments) 3349private static SeparatedSyntaxList<ArgumentSyntax> CreateArguments(IEnumerable<SyntaxNode> arguments) 3352private static ArgumentSyntax AsArgument(SyntaxNode argOrExpression) 3355public override SyntaxNode InvocationExpression(SyntaxNode expression, IEnumerable<SyntaxNode> arguments) 3358public override SyntaxNode ElementAccessExpression(SyntaxNode expression, IEnumerable<SyntaxNode> arguments) 3364private static SyntaxNode ParenthesizeNonSimple(SyntaxNode expression) 3367public override SyntaxNode IsTypeExpression(SyntaxNode expression, SyntaxNode type) 3370public override SyntaxNode TypeOfExpression(SyntaxNode type) 3373public override SyntaxNode TryCastExpression(SyntaxNode expression, SyntaxNode type) 3376public override SyntaxNode AssignmentStatement(SyntaxNode left, SyntaxNode right) 3379private static SyntaxNode CreateBinaryExpression(SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right) 3382public override SyntaxNode ValueEqualsExpression(SyntaxNode left, SyntaxNode right) 3385public override SyntaxNode ReferenceEqualsExpression(SyntaxNode left, SyntaxNode right) 3388public override SyntaxNode ValueNotEqualsExpression(SyntaxNode left, SyntaxNode right) 3391public override SyntaxNode ReferenceNotEqualsExpression(SyntaxNode left, SyntaxNode right) 3394public override SyntaxNode LessThanExpression(SyntaxNode left, SyntaxNode right) 3397public override SyntaxNode LessThanOrEqualExpression(SyntaxNode left, SyntaxNode right) 3400public override SyntaxNode GreaterThanExpression(SyntaxNode left, SyntaxNode right) 3403public override SyntaxNode GreaterThanOrEqualExpression(SyntaxNode left, SyntaxNode right) 3406public override SyntaxNode NegateExpression(SyntaxNode expression) 3409public override SyntaxNode AddExpression(SyntaxNode left, SyntaxNode right) 3412public override SyntaxNode SubtractExpression(SyntaxNode left, SyntaxNode right) 3415public override SyntaxNode MultiplyExpression(SyntaxNode left, SyntaxNode right) 3418public override SyntaxNode DivideExpression(SyntaxNode left, SyntaxNode right) 3421public override SyntaxNode ModuloExpression(SyntaxNode left, SyntaxNode right) 3424public override SyntaxNode BitwiseAndExpression(SyntaxNode left, SyntaxNode right) 3427public override SyntaxNode BitwiseNotExpression(SyntaxNode operand) 3430public override SyntaxNode LogicalAndExpression(SyntaxNode left, SyntaxNode right) 3433public override SyntaxNode LogicalOrExpression(SyntaxNode left, SyntaxNode right) 3436public override SyntaxNode LogicalNotExpression(SyntaxNode expression) 3441public override SyntaxNode ConditionalExpression(SyntaxNode condition, SyntaxNode whenTrue, SyntaxNode whenFalse) 3444public override SyntaxNode CoalesceExpression(SyntaxNode left, SyntaxNode right) 3447public override SyntaxNode ThisExpression() 3450public override SyntaxNode BaseExpression() 3453public override SyntaxNode TypedConstantExpression(TypedConstant value) 3456private protected override SyntaxNode GenerateExpression(ITypeSymbol? type, object? value, bool canUseFieldReference) 3459public override SyntaxNode GenericName(string identifier, IEnumerable<SyntaxNode> typeArguments) 3462internal override SyntaxNode GenericName(SyntaxToken identifier, IEnumerable<SyntaxNode> typeArguments) 3466public override SyntaxNode WithTypeArguments(SyntaxNode expression, IEnumerable<SyntaxNode> typeArguments) 3496public override SyntaxNode QualifiedName(SyntaxNode left, SyntaxNode right) 3499internal override SyntaxNode GlobalAliasedName(SyntaxNode name) 3504public override SyntaxNode NameExpression(INamespaceOrTypeSymbol namespaceOrTypeSymbol) 3507public override SyntaxNode TypeExpression(SpecialType specialType) 3529public override SyntaxNode ArrayTypeExpression(SyntaxNode type) 3532public override SyntaxNode NullableTypeExpression(SyntaxNode type) 3544internal override SyntaxNode CreateTupleType(IEnumerable<SyntaxNode> elements) 3547public override SyntaxNode TupleElementExpression(SyntaxNode type, string? name = null) 3550public override SyntaxNode Argument(string? name, RefKind refKind, SyntaxNode expression) 3558public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, string name, SyntaxNode? initializer, bool isConst) 3561public override SyntaxNode UsingStatement(SyntaxNode? type, string name, SyntaxNode expression, IEnumerable<SyntaxNode> statements) 3569public override SyntaxNode UsingStatement(SyntaxNode expression, IEnumerable<SyntaxNode> statements) 3577public override SyntaxNode LockStatement(SyntaxNode expression, IEnumerable<SyntaxNode> statements) 3584public override SyntaxNode TryCatchStatement(IEnumerable<SyntaxNode>? tryStatements, IEnumerable<SyntaxNode>? catchClauses, IEnumerable<SyntaxNode>? finallyStatements = null) 3592public override SyntaxNode CatchClause(SyntaxNode type, string name, IEnumerable<SyntaxNode> statements) 3600public override SyntaxNode WhileStatement(SyntaxNode condition, IEnumerable<SyntaxNode> statements) 3603public override SyntaxNode SwitchStatement(SyntaxNode expression, IEnumerable<SyntaxNode> caseClauses) 3624public override SyntaxNode SwitchSection(IEnumerable<SyntaxNode> expressions, IEnumerable<SyntaxNode> statements) 3627internal override SyntaxNode SwitchSectionFromLabels(IEnumerable<SyntaxNode> labels, IEnumerable<SyntaxNode> statements) 3634public override SyntaxNode DefaultSwitchSection(IEnumerable<SyntaxNode> statements) 3637private static SyntaxList<SwitchLabelSyntax> AsSwitchLabels(IEnumerable<SyntaxNode> expressions) 3649public override SyntaxNode ExitSwitchStatement() 3652internal override SyntaxNode ScopeBlock(IEnumerable<SyntaxNode> statements) 3655internal override SyntaxNode GlobalStatement(SyntaxNode statement) 3658public override SyntaxNode ValueReturningLambdaExpression(IEnumerable<SyntaxNode>? parameterDeclarations, SyntaxNode expression) 3667private static bool IsSimpleLambdaParameter(SyntaxNode node) 3670public override SyntaxNode VoidReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, SyntaxNode expression) 3673public override SyntaxNode ValueReturningLambdaExpression(IEnumerable<SyntaxNode>? parameterDeclarations, IEnumerable<SyntaxNode> statements) 3676public override SyntaxNode VoidReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, IEnumerable<SyntaxNode> statements) 3679public override SyntaxNode LambdaParameter(string identifier, SyntaxNode? type = null) 3682internal override SyntaxNode IdentifierName(SyntaxToken identifier) 3685internal override SyntaxNode NamedAnonymousObjectMemberDeclarator(SyntaxNode identifier, SyntaxNode expression) 3692public override SyntaxNode TupleExpression(IEnumerable<SyntaxNode> arguments) 3695internal override SyntaxNode RemoveAllComments(SyntaxNode node) 3697var modifiedNode = RemoveLeadingAndTrailingComments(node); 3735internal override SyntaxNode ParseExpression(string stringToParse) 3738internal override SyntaxNode ParseTypeName(string stringToParse) 3741internal override SyntaxNode ExtensionBlockDeclaration( 3742SyntaxNode extensionParameter, 3743IEnumerable<SyntaxNode>? typeParameters, 3744IEnumerable<SyntaxNode> members)
ExternalAccess\Pythia\Api\PythiaSyntaxExtensions.cs (4)
22public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode> childGetter) where TParent : SyntaxNode 28public static bool IsInStaticContext(this SyntaxNode node)
FindSymbols\CSharpDeclaredSymbolInfoFactoryService.cs (7)
88private static void AddAliasMaps(SyntaxNode node, List<Dictionary<string, string>> aliasMaps) 90for (var current = node; current != null; current = current.Parent) 200SyntaxNode container, 240SyntaxNode container, 261SyntaxNode container, 404SyntaxNode container, 654SyntaxNode? node, ImmutableArray<string>? typeParameterNames,
FindSymbols\FindSymbolsUtilities.cs (1)
12public static Accessibility GetAccessibility(SyntaxNode container, SyntaxTokenList modifiers)
OrganizeImports\CSharpOrganizeImportsService.cs (2)
22var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 25var newRoot = rewriter.Visit(root);
OrganizeImports\CSharpOrganizeImportsService.Rewriter.cs (3)
20public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) 32public override SyntaxNode VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 35public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node)
ReassignedVariable\CSharpReassignedVariableService.cs (7)
29protected override bool HasInitializer(SyntaxNode variable) 39var current = designation.Parent; 70protected override SyntaxNode GetMemberBlock(SyntaxNode methodOrPropertyDeclaration) 73protected override SyntaxNode GetParentScope(SyntaxNode localDeclaration) 75var current = localDeclaration;
Recommendations\CSharpRecommendationServiceRunner.cs (11)
51public override bool TryGetExplicitTypeOfLambdaParameter(SyntaxNode lambdaSyntax, int ordinalInLambda, [NotNullWhen(true)] out ITypeSymbol? explicitLambdaParameterType) 120var node = _context.TargetToken.GetRequiredParent(); 169for (var current = node; current != null; current = current.Parent) 185var last = node; 186for (var current = node; current != null; last = current, current = current.Parent) 319var declaringSyntax = label.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax(cancellationToken); 362var contextNode = _context.LeftToken.GetRequiredParent(); 393var enclosingMethodOrLambdaNode = contextNode.AncestorsAndSelf().FirstOrDefault(n => n is AnonymousFunctionExpressionSyntax or BaseMethodDeclarationSyntax); 570private static ImmutableArray<ISymbol> FilterOutUncapturableParameters(ImmutableArray<ISymbol> symbols, SyntaxNode contextNode) 574var containingStaticFunction = contextNode.FirstAncestorOrSelf<SyntaxNode>(a => a switch
Rename\CSharpRenameRewriterLanguageService.cs (22)
40public override SyntaxNode AnnotateAndRename(RenameRewriterParameters parameters) 151public override SyntaxNode? Visit(SyntaxNode? node) 160foreach (var lambda in lambdas) 171SyntaxNode result; 190private bool ShouldComplexifyNode(SyntaxNode node, bool isInConflictLambdaBody) 281private SyntaxNode Complexify(SyntaxNode originalNode, SyntaxNode newNode) 288var speculativeTree = originalNode.SyntaxTree.GetRoot(_cancellationToken).ReplaceNode(originalNode, newNode); 289newNode = speculativeTree.GetAnnotatedNodes<SyntaxNode>(annotation).First(); 304newNode = speculativeTree.GetAnnotatedNodes<SyntaxNode>(annotation).First(); 499public override SyntaxNode? VisitInvocationExpression(InvocationExpressionSyntax node) 501var result = base.VisitInvocationExpression(node); 565var parent = oldToken.Parent!; 895var currentTypeParameter = token.Parent!; 981if (token.Parent.IsInDeconstructionLeft(out var deconstructionLeft)) 1112public override SyntaxNode? GetExpansionTargetForLocation(SyntaxToken token) 1115private static SyntaxNode? GetExpansionTarget(SyntaxToken token) 1134var enclosingNameMemberCrefOrnull = token.GetAncestors(n => n is NameMemberCrefSyntax).LastOrDefault(); 1188public static SemanticModel? GetSemanticModelForNode(SyntaxNode node, SemanticModel originalSemanticModel) 1196var nodeToSpeculate = node.GetAncestorsOrThis(n => SpeculationAnalyzer.CanSpeculateOnNode(n)).LastOrDefault();
Rename\LabelConflictVisitor.cs (2)
21public override void DefaultVisit(SyntaxNode node) 23foreach (var child in node.ChildNodes())
Rename\LocalConflictVisitor.cs (7)
19private readonly HashSet<SyntaxNode> _containingAnonymousMethodsAndLocalFunctions = new(); 33public override void DefaultVisit(SyntaxNode node) 35foreach (var child in node.ChildNodes()) 50private void VisitBlockStatements(SyntaxNode node, IEnumerable<SyntaxNode> statements) 56foreach (var statement in statements) 187foreach (var child in body.ChildNodes().Where(c => c.Kind() != SyntaxKind.QueryContinuation))
Simplification\CSharpSimplificationService.cs (20)
52public override SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken) 77public override SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken) 95public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken) 113var parent = parentOfToken.Parent; 137public static T AppendElasticTriviaIfNecessary<T>(T rewrittenNode, T originalNode) where T : SyntaxNode 169protected override SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode) 171var syntaxNodeToSpeculate = nodeToSpeculate; 177protected override ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans) 180protected override bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node) 185protected override void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken) 187var root = model.SyntaxTree.GetRoot(cancellationToken); 203private static bool IsTupleInDeconstruction(SyntaxNode tuple) 206var currentTuple = tuple; 209var parent = currentTuple.Parent; 220var grandParent = parent.Parent; 231protected override void AddImportDeclarations(CompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations) 241static void AddImportDeclarations(BaseNamespaceDeclarationSyntax baseNamespace, ArrayBuilder<SyntaxNode> importDeclarations)
Simplification\CSharpSimplificationService.Expander.cs (24)
47private readonly Func<SyntaxNode, bool> _expandInsideNode; 54Func<SyntaxNode, bool> expandInsideNode, 66public override SyntaxNode Visit(SyntaxNode node) 131public override SyntaxNode VisitReturnStatement(ReturnStatementSyntax node) 133var newNode = base.VisitReturnStatement(node); 157public override SyntaxNode VisitParenthesizedLambdaExpression(ParenthesizedLambdaExpressionSyntax node) 159var newNode = base.VisitParenthesizedLambdaExpression(node); 208public override SyntaxNode VisitSimpleLambdaExpression(SimpleLambdaExpressionSyntax node) 210var newNode = base.VisitSimpleLambdaExpression(node); 247public override SyntaxNode VisitArgument(ArgumentSyntax node) 321public override SyntaxNode VisitAnonymousObjectMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax node) 344public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node) 370public override SyntaxNode VisitInterpolation(InterpolationSyntax node) 382public override SyntaxNode VisitXmlNameAttribute(XmlNameAttributeSyntax node) 391public override SyntaxNode VisitNameMemberCref(NameMemberCrefSyntax node) 419public override SyntaxNode VisitGenericName(GenericNameSyntax node) 428public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) 621var parent = originalSimpleName.Parent; 763foreach (var typeArgumentList in typeArgumentListSyntax) 860SyntaxNode currentNode = identifierName; 861SyntaxNode parent = identifierName; 942var parent = originalNode.Parent; 1035public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax originalNode)
Simplification\CSharpSimplificationService.NodesAndTokensToReduceComputer.cs (4)
29public static ImmutableArray<NodeOrTokenToReduce> Compute(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans) 44public override SyntaxNode Visit(SyntaxNode node) 73var rewrittenNode = base.Visit(node);
Simplification\Reducers\AbstractCSharpReducer.AbstractReductionRewriter.cs (18)
34private readonly HashSet<SyntaxNode> _processedParentNodes = []; 69private static SyntaxNode GetParentNode(SyntaxNode node) 78private static SyntaxNode GetParentNode(ExpressionSyntax expression) 84SyntaxNode parent = expression; 85for (var current = (SyntaxNode)expression; current != null; current = current.Parent) 96private static SyntaxNode GetParentNode(PatternSyntax pattern) 99for (SyntaxNode? current = pattern; current != null; current = current.Parent) 111private static SyntaxNode GetParentNode(CrefSyntax cref) 122protected SyntaxNode? SimplifyNode<TNode>( 124SyntaxNode? newNode, 125Func<TNode, SemanticModel, CSharpSimplifierOptions, CancellationToken, SyntaxNode> simplifier) 126where TNode : SyntaxNode 128var parentNode = GetParentNode(node); 146var simplifiedNode = simplifier(node, this.SemanticModel, this.Options, this.CancellationToken); 169public override SyntaxNode VisitElementAccessExpression(ElementAccessExpressionSyntax node) 178public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node)
Simplification\Reducers\CSharpCastReducer.Rewriter.cs (3)
23public override SyntaxNode VisitCastExpression(CastExpressionSyntax node) 31public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node) 33var result = base.VisitBinaryExpression(node);
Simplification\Reducers\CSharpDefaultExpressionReducer.Rewriter.cs (3)
25private readonly Func<DefaultExpressionSyntax, SemanticModel, CSharpSimplifierOptions, CancellationToken, SyntaxNode> _simplifyDefaultExpression; 27private SyntaxNode SimplifyDefaultExpression( 44public override SyntaxNode VisitDefaultExpression(DefaultExpressionSyntax node)
Simplification\Reducers\CSharpEscapingReducer.cs (1)
51var parent = token.Parent;
Simplification\Reducers\CSharpExtensionMethodReducer.cs (2)
23private static readonly Func<InvocationExpressionSyntax, SemanticModel, CSharpSimplifierOptions, CancellationToken, SyntaxNode> s_simplifyExtensionMethod = SimplifyExtensionMethod; 32private static SyntaxNode SimplifyExtensionMethod(
Simplification\Reducers\CSharpExtensionMethodReducer.Rewriter.cs (1)
21public override SyntaxNode VisitInvocationExpression(InvocationExpressionSyntax node)
Simplification\Reducers\CSharpInferredMemberNameReducer.Rewriter.cs (5)
39private static readonly Func<AnonymousObjectMemberDeclaratorSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyAnonymousTypeMemberName = SimplifyAnonymousTypeMemberName; 41private static SyntaxNode SimplifyAnonymousTypeMemberName(AnonymousObjectMemberDeclaratorSyntax node, SemanticModel semanticModel, SimplifierOptions options, CancellationToken canellationToken) 51public override SyntaxNode VisitArgument(ArgumentSyntax node) 53var newNode = base.VisitArgument(node); 66public override SyntaxNode VisitAnonymousObjectMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax node)
Simplification\Reducers\CSharpMiscellaneousReducer.cs (7)
25private static readonly Func<ParameterSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyParameter = SimplifyParameter; 67private static SyntaxNode SimplifyParameter( 83private static readonly Func<ParenthesizedLambdaExpressionSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyParenthesizedLambdaExpression = SimplifyParenthesizedLambdaExpression; 85private static SyntaxNode SimplifyParenthesizedLambdaExpression( 111private static readonly Func<BlockSyntax, SemanticModel, CSharpSimplifierOptions, CancellationToken, SyntaxNode> s_simplifyBlock = SimplifyBlock; 113private static SyntaxNode SimplifyBlock( 176private static bool CanHaveEmbeddedStatement(SyntaxNode node)
Simplification\Reducers\CSharpMiscellaneousReducer.Rewriter.cs (3)
19public override SyntaxNode? VisitParameter(ParameterSyntax node) 25public override SyntaxNode? VisitParenthesizedLambdaExpression(ParenthesizedLambdaExpressionSyntax node) 31public override SyntaxNode? VisitBlock(BlockSyntax node)
Simplification\Reducers\CSharpNameReducer.cs (5)
20private static readonly Func<SyntaxNode, SemanticModel, CSharpSimplifierOptions, CancellationToken, SyntaxNode> s_simplifyName = SimplifyName; 29private static SyntaxNode SimplifyName( 30SyntaxNode node, 35SyntaxNode replacementNode;
Simplification\Reducers\CSharpNameReducer.Rewriter.cs (21)
24public override SyntaxNode VisitPredefinedType(PredefinedTypeSyntax node) 32var result = SimplifyNode( 42public override SyntaxNode VisitAliasQualifiedName(AliasQualifiedNameSyntax node) 50var result = SimplifyNode( 60public override SyntaxNode VisitQualifiedName(QualifiedNameSyntax node) 68var result = SimplifyNode( 78public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) 86var result = SimplifyNode( 96public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) 104var result = SimplifyNode( 114public override SyntaxNode VisitGenericName(GenericNameSyntax node) 122var result = SimplifyNode( 132public override SyntaxNode VisitQualifiedCref(QualifiedCrefSyntax node) 140var result = SimplifyNode( 150public override SyntaxNode VisitArrayType(ArrayTypeSyntax node) 158var result = SimplifyNode( 168public override SyntaxNode VisitNullableType(NullableTypeSyntax node) 176var result = SimplifyNode( 186public override SyntaxNode VisitTupleType(TupleTypeSyntax node) 194var result = SimplifyNode( 204public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node)
Simplification\Reducers\CSharpNullableAnnotationReducer.cs (2)
21private static readonly Func<NullableTypeSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyNullableType = SimplifyNullableType; 30private static SyntaxNode SimplifyNullableType(
Simplification\Reducers\CSharpNullableAnnotationReducer.Rewriter.cs (1)
20public override SyntaxNode VisitNullableType(NullableTypeSyntax node)
Simplification\Reducers\CSharpParenthesizedExpressionReducer.cs (3)
21private static readonly Func<ParenthesizedExpressionSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyParentheses = SimplifyParentheses; 30private static SyntaxNode SimplifyParentheses( 43var resultNode = CSharpSyntaxFacts.Instance.Unparenthesize(node);
Simplification\Reducers\CSharpParenthesizedExpressionReducer.Rewriter.cs (1)
21public override SyntaxNode VisitParenthesizedExpression(ParenthesizedExpressionSyntax node)
Simplification\Reducers\CSharpParenthesizedPatternReducer.cs (3)
23private static readonly Func<ParenthesizedPatternSyntax, SemanticModel, SimplifierOptions, CancellationToken, SyntaxNode> s_simplifyParentheses = SimplifyParentheses; 32private static SyntaxNode SimplifyParentheses( 40var resultNode = CSharpSyntaxFacts.Instance.Unparenthesize(node);
Simplification\Reducers\CSharpParenthesizedPatternReducer.Rewriter.cs (1)
21public override SyntaxNode VisitParenthesizedPattern(ParenthesizedPatternSyntax node)
Simplification\Reducers\CSharpVarReducer.Rewriter.cs (10)
23private SyntaxNode ProcessTypeSyntax(TypeSyntax typeSyntax) 50public override SyntaxNode VisitAliasQualifiedName(AliasQualifiedNameSyntax node) => ProcessTypeSyntax(node); 51public override SyntaxNode VisitArrayType(ArrayTypeSyntax node) => ProcessTypeSyntax(node); 52public override SyntaxNode VisitGenericName(GenericNameSyntax node) => ProcessTypeSyntax(node); 53public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) => ProcessTypeSyntax(node); 54public override SyntaxNode VisitNullableType(NullableTypeSyntax node) => ProcessTypeSyntax(node); 55public override SyntaxNode VisitPointerType(PointerTypeSyntax node) => ProcessTypeSyntax(node); 56public override SyntaxNode VisitPredefinedType(PredefinedTypeSyntax node) => ProcessTypeSyntax(node); 57public override SyntaxNode VisitQualifiedName(QualifiedNameSyntax node) => ProcessTypeSyntax(node); 58public override SyntaxNode VisitTupleType(TupleTypeSyntax node) => ProcessTypeSyntax(node);
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (8)
27where TSyntax : SyntaxNode 28where TSimplifiedSyntax : SyntaxNode 220var firstMember = 222root.AttributeLists.Count > 0 ? root.AttributeLists[0] : (SyntaxNode)null; 229static bool HasUsingAliasDirective(SyntaxNode syntax) 335var startNode = GetStartNodeForNamespaceId(semanticModel, token, cancellationToken); 360private static SyntaxNode GetStartNodeForNamespaceId(SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken) 371protected static TypeSyntax CreatePredefinedTypeSyntax(SyntaxNode nodeToReplace, SyntaxToken token)
Simplification\Simplifiers\MemberAccessExpressionSimplifier.cs (3)
42SyntaxNode parent = memberAccessExpression; 71var parenthesizedExpression = parent.GetRequiredParent(); 87private static bool IsEntirelySimpleNames(SyntaxNode node)
Simplification\Simplifiers\NameSimplifier.cs (2)
551private static bool IsPartOfNamespaceDeclarationName(SyntaxNode node) 553var parent = node;
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (7)
25protected override SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 28protected override bool IsFunctionDeclaration(SyntaxNode node) 31protected override SyntaxNode GetBody(SyntaxNode methodNode) 34protected override SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (3)
36public async Task<SyntaxNode> ReplaceAsync( 38SyntaxNode memberDeclaration, 43foreach (var child in memberDeclaration.DescendantNodes())
src\a6db168d9ad5d460\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
88var parent = token.GetRequiredParent(); 113private static bool IsInDirective(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
155var parent = block.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (5)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 18private static SyntaxNode GetAbsoluteRoot(this SyntaxNode node) 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (8)
207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 282var parent = expr.Parent; 332if (expression.IsInRefContext(out var refParent)) 405if (expression?.Parent is SyntaxNode parent) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 912var parent = topExpression.Parent; 966var parent = arrowExpression.GetRequiredParent(); 973for (SyntaxNode? current = returnStatement; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (4)
12public static bool CanSafelyMoveLocalToBlock(this ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock) 16var localFunctionOrMethodDeclaration = currentBlock.AncestorsAndSelf() 30static bool HasTypeParameterWithName(SyntaxNode? node, string name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.DeclarationFinder.cs (1)
23public static Dictionary<string, List<SyntaxToken>> GetAllDeclarations(SyntaxNode syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (6)
27var nodeParent = node.Parent; 380private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = SharedPools.Default<Stack<SyntaxNode>>(); 387foreach (var ancestor in node.GetRequiredParent().AncestorsAndSelf()) 407while (stack.TryPop(out var expression)) 412if (nodeOrToken.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxListExtensions.cs (2)
15public static SyntaxList<T> RemoveRange<T>(this SyntaxList<T> syntaxList, int index, int count) where T : SyntaxNode 22public static SyntaxList<T> Insert<T>(this SyntaxList<T> list, int index, T item) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (74)
25public static LanguageVersion GetLanguageVersion(this SyntaxNode node) 28public static void Deconstruct(this SyntaxNode node, out SyntaxKind kind) 31public static bool IsKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 32where TNode : SyntaxNode 44public static bool IsParentKind([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind) 47public static bool IsParentKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 48where TNode : SyntaxNode 61this SyntaxNode node, SourceText? sourceText = null, 90public static bool IsAnyArgumentList([NotNullWhen(true)] this SyntaxNode? node) 99public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBraces(this SyntaxNode? node) 116public static bool IsEmbeddedStatementOwner([NotNullWhen(true)] this SyntaxNode? node) 130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 146public static BaseParameterListSyntax? GetParameterList(this SyntaxNode? declaration) 159public static SyntaxList<AttributeListSyntax> GetAttributeLists(this SyntaxNode? declaration) 172public static ConditionalAccessExpressionSyntax? GetParentConditionalAccessExpression(this SyntaxNode? node) 184var current = node; 251/// <inheritdoc cref="ISyntaxFacts.GetRootConditionalAccessExpression(SyntaxNode)"/> 253public static ConditionalAccessExpressionSyntax? GetRootConditionalAccessExpression(this SyntaxNode? node) 270public static ConditionalAccessExpressionSyntax? GetInnerMostConditionalAccessExpression(this SyntaxNode node) 281public static bool IsAsyncSupportingFunctionSyntax([NotNullWhen(true)] this SyntaxNode? node) 284public static bool IsCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 287public static bool IsLeftSideOfAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 291public static bool IsLeftSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 294public static bool IsRightSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 297public static bool IsLeftSideOfCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 316public static IEnumerable<ExternAliasDirectiveSyntax> GetEnclosingExternAliasDirectives(this SyntaxNode node) 324public static bool IsUnsafeContext(this SyntaxNode node) 335public static bool IsInStaticContext(this SyntaxNode node) 337for (var current = node; current != null; current = current.Parent) 372public static BaseNamespaceDeclarationSyntax? GetInnermostNamespaceDeclarationWithUsings(this SyntaxNode contextNode) 395public static bool IsBreakableConstruct([NotNullWhen(true)] this SyntaxNode? node) 398public static bool IsContinuableConstruct([NotNullWhen(true)] this SyntaxNode? node) 413public static bool IsReturnableConstruct(this SyntaxNode node) 437public static bool ContainsYield(this SyntaxNode node) 440public static bool IsReturnableConstructOrTopLevelCompilationUnit(this SyntaxNode node) 443public static bool SpansPreprocessorDirective<TSyntaxNode>(this IEnumerable<TSyntaxNode> list) where TSyntaxNode : SyntaxNode 448where TNode : SyntaxNode 496public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, CancellationToken cancellationToken) 500/// Similar to <see cref="ContainsInterleavedDirective(SyntaxNode, CancellationToken)"/> except that the span to check 503public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, TextSpan span, CancellationToken cancellationToken) 542var structure = trivia.GetStructure()!; 584where TSyntaxNode : SyntaxNode 644public static ImmutableArray<SyntaxTrivia> GetLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 647public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 650public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 653public static ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 656public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 659public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 662public static bool IsVariableDeclaratorValue([NotNullWhen(true)] this SyntaxNode? node) 666public static BlockSyntax? FindInnermostCommonBlock(this IEnumerable<SyntaxNode> nodes) 669public static IEnumerable<SyntaxNode> GetAncestorsOrThis(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 671var current = node; 683public static (SyntaxToken openParen, SyntaxToken closeParen) GetParentheses(this SyntaxNode node) 713public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBrackets(this SyntaxNode? node) 726public static SyntaxTokenList GetModifiers(this SyntaxNode? member) 738public static SyntaxNode? WithModifiers(this SyntaxNode? member, SyntaxTokenList modifiers) 749public static void ForEachMember<TArg>(this SyntaxNode? node, Action<MemberDeclarationSyntax, TArg> callback, TArg arg) 774[NotNullWhen(true)] this SyntaxNode? node, 781for (var current = node; current != null; current = current.Parent) 825[NotNullWhen(true)] this SyntaxNode? node, 826[NotNullWhen(true)] out SyntaxNode? deconstructionLeft) 828SyntaxNode? previous = null; 829for (var current = node; current != null; current = current.Parent) 851where T : SyntaxNode 860where T : SyntaxNode 868where T : SyntaxNode 874public static T KeepCommentsAndAddElasticMarkers<T>(this T node) where T : SyntaxNode 879public static SyntaxNode WithPrependedNonIndentationTriviaFrom( 880this SyntaxNode to, SyntaxNode from)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
23public static bool IsLastTokenOfNode<T>(this SyntaxToken token) where T : SyntaxNode 26public static bool IsLastTokenOfNode<T>(this SyntaxToken token, [NotNullWhen(true)] out T? node) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
520var structure = triviaTok.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (1)
201public static bool IsPragmaDirective(this SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\CSharpSyntaxFormatting.cs (2)
45protected override IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null) 48protected override AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> formattingRules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\DefaultOperationProvider.cs (4)
23public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 27public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 35public override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\AggregatedFormattingResult.cs (2)
15public AggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans) 20protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpFormatEngine.cs (1)
16SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpStructuredTriviaFormatEngine.cs (1)
22var root = trivia.GetStructure() ?? throw new ArgumentException();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\FormattingResult.cs (1)
24protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
194var structuredTrivia = trivia.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (5)
20private readonly SyntaxNode _node; 28SyntaxNode node, 43public SyntaxNode Transform() 150public override SyntaxNode? Visit(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (13)
49public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(this SyntaxNode? node) 52public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBracketPair(this SyntaxNode? node) 128public static bool IsLambdaBodyBlock(this SyntaxNode node) 138public static bool IsAnonymousMethodBlock(this SyntaxNode node) 198public static bool IsEmbeddedStatement([NotNullWhen(true)] this SyntaxNode? node) 200SyntaxNode? statementOrElse = node as StatementSyntax; 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 365public static bool IsEmbeddedStatementOwnerWithCloseParen([NotNullWhen(true)] this SyntaxNode? node) 386public static bool IsInitializerForObjectOrAnonymousObjectCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 390var parent = initializer.Parent; 422public static bool IsInitializerForArrayOrCollectionCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 426var parent = initializer.Parent; 446var parent = anonymousObjectInitializer.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (2)
16public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 90private static void AddAnchorIndentationOperation(List<AnchorIndentationOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (2)
134protected static void AddAlignIndentationOfTokensToBaseTokenOperation(List<AlignTokensOperation> list, SyntaxNode containingNode, SyntaxToken baseNode, IEnumerable<SyntaxToken> tokens, AlignTokensOption option = AlignTokensOption.AlignIndentationOfTokensToBaseToken) 150protected static void AddBraceSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (6)
25public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 41private static void AddPropertyDeclarationSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 53private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 70private static void AddCollectionExpressionSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 79private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node) 88private static SyntaxToken? GetLastTokenOfType(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (13)
47public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 61private static void AddTypeParameterConstraintClauseOperation(List<IndentBlockOperation> list, SyntaxNode node) 70private void AddSwitchIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 129private void AddLabelIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 145private static void AddAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode node) 200private static void SetAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode baseNode, SyntaxNode body) 211private void AddBlockIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 248private static void AddBracketIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 289private static void AddParenthesizedPatternIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 315private static void AddEmbeddedStatementsIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 374private static bool IsWithinSwitchExpressionArmPattern(SyntaxNode node) 378for (var current = node; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentUserSettingsFormattingRule.cs (1)
37public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (3)
40private static bool IsControlBlock(SyntaxNode node) 165var currentTokenParentParent = currentToken.Parent.Parent; 369var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\QueryExpressionFormattingRule.cs (3)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 82public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 129public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
568public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 578private void SuppressVariableDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (10)
21public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 36private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 255private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 268private static void AddFormatSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 307static void ProcessStructuredTrivia(ArrayBuilder<SuppressOperation> list, SyntaxNode structure) 361private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 391private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode parent, IEnumerable<SyntaxNode> items) 397foreach (var item in items) 409private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (2)
205var attributeOwner = previousToken.Parent?.Parent; 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (7)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 63private static (SyntaxToken firstToken, SyntaxToken lastToken) GetSpecificNodeSuppressionTokenRange(SyntaxNode node) 88private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 97private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 110private static void RemoveSuppressOperationForStatementMethodDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 133private static void RemoveSuppressOperationForBlock(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 154private static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (3)
25Func<SyntaxNode, bool>? predicate, 28var root = model.SyntaxTree.GetRoot(cancellationToken); 29predicate ??= Functions<SyntaxNode>.True;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (2)
51var common = startToken.GetCommonRoot(endToken); 148public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\AbstractCSharpPrecedenceService.cs (1)
11where TSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (6)
30public override bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 76protected override IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 83foreach (var extractedNode in base.ExtractNodesSimple(node, syntaxFacts)) 98var declaration = declarator.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SelectedMembers\CSharpSelectedMembers.cs (4)
28protected override ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(MemberDeclarationSyntax member) 33v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 35v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 36_ => [(declaration: (SyntaxNode)member, identifier: member.GetNameToken())],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (35)
43public bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 46public bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 49public bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 52public bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 55public bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 58public bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken) 65foreach (var ancestor in token.GetAncestors<SyntaxNode>()) 121SyntaxNode oldNode, 122SyntaxNode newNode, 178public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode node) 192public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 195public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 206public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 218public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 243var node = syntaxRef.GetSyntax(cancellationToken); 254public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 264public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 267public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 271public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 274public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 279public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 301/// cref="ModelExtensions.GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)"/>, but sometimes employs 305private ImmutableArray<ISymbol> GetSymbolInfo(SemanticModel semanticModel, SyntaxNode node, SyntaxToken token, CancellationToken cancellationToken) 431public bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 440var node = syntaxReference.GetSyntax(cancellationToken); 442foreach (var localFunction in node.DescendantNodes().Where(CSharpSyntaxFacts.Instance.IsLocalFunctionStatement)) 455public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken) 458public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 461public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 477private static bool IsInPreprocessingSymbolContext(SyntaxNode node) 487public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination) 496var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 535var generatedRoot = await generatedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 539var methodDeclaration = generatedRoot.FindNode(methodDeclarationSpan);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpAccessibilityFacts.cs (3)
20public bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false) 88public Accessibility GetAccessibility(SyntaxNode declaration) 152public static SyntaxTokenList GetModifierTokens(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (8)
21public override bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node) 24public override bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node) 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 47public override SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes) 50public override bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpDocumentationCommentService.cs (1)
35protected override SyntaxNode GetName(XmlElementSyntax xmlElement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (18)
24public override bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 50public override bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 56public override bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 62public override bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 68public override bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 74public override bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 83public override bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 89public override bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 95public override bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (319)
142public bool IsDirective([NotNullWhen(true)] SyntaxNode? node) 145public bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? node, out ExternalSourceInfo info) 166public bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 172public bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 175public bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 182public SyntaxNode? GetStandaloneExpression(SyntaxNode? node) 185public SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node) 188public bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node) 191public bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node) 194public bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node) 197public SyntaxNode? GetParameterList(SyntaxNode node) 200public bool IsParameterList([NotNullWhen(true)] SyntaxNode? node) 203public bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node) 207public bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node) 210public void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name) 218public bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node) 221public bool IsUsingLocalDeclarationStatement([NotNullWhen(true)] SyntaxNode? node) 224public bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node) 227public Location GetDeconstructionReferenceLocation(SyntaxNode node) 237public bool IsStatement([NotNullWhen(true)] SyntaxNode? node) 240public bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node) 243public bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node) 246public SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node) 249public bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node) 261public SyntaxNode GetExpressionOfRefExpression(SyntaxNode node) 264public SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node) 275public bool HasImplicitBaseConstructorInitializer(SyntaxNode node) 311public bool IsPredefinedType(SyntaxNode? node) 314public bool IsPredefinedType(SyntaxNode? node, PredefinedType type) 535public bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node) 538public bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node) 541public bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 544public bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 547public void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity) 554public bool LooksGeneric(SyntaxNode simpleName) 558public SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName) 561public SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node) 564public SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node) 567public SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget) 570public void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList) 577public SyntaxNode GetExpressionOfInterpolation(SyntaxNode node) 580public bool IsInStaticContext(SyntaxNode node) 583public bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node) 586public bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node) 589public SyntaxNode GetExpressionOfArgument(SyntaxNode node) 592public SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node) 595public RefKind GetRefKindOfArgument(SyntaxNode node) 598public bool IsArgument([NotNullWhen(true)] SyntaxNode? node) 601public bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node) 604public bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node) 611public bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node) 614public bool IsInConstructor(SyntaxNode node) 617public bool IsUnsafeContext(SyntaxNode node) 620public bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node) 623public SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position) 627.GetAncestors<SyntaxNode>() 631public SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node) 634public bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node) 639public bool IsPropertyPatternClause(SyntaxNode node) 643[NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance) 651var withInitializer = identifier.Parent.GetRequiredParent(); 657var objectInitializer = identifier.Parent.GetRequiredParent(); 674public bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? expression) 678public bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression) 693public bool IsElementAccessExpression(SyntaxNode? node) 697public SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false) 700public SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 703public SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 706private static SyntaxNode? GetContainingMemberDeclaration<TMemberDeclarationSyntax>(SyntaxNode root, int position, bool useFullSpan = true) 719var node = root.FindToken(position).Parent; 737public bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node) 745public bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node) 748public string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null) 772var parent = node.GetAncestor<TypeDeclarationSyntax>() ?? node.Parent; 810private string? GetName(SyntaxNode node, DisplayNameOptions options) 901public SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode node) 904public SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode node) 907public SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode node) 910protected override void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel) 934public TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node) 939var member = GetContainingMemberDeclaration(node, node.SpanStart); 950public SyntaxNode? TryGetBindableParent(SyntaxToken token) 952var node = token.Parent; 955var parent = node.Parent; 1039var structure = triviaTok.GetStructure(); 1051public string GetNameForArgument(SyntaxNode? argument) 1054public string GetNameForAttributeArgument(SyntaxNode? argument) 1057public bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node) 1060public SyntaxNode? GetRightSideOfDot(SyntaxNode? node) 1066public SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget) 1072public bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node) 1075public bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node) 1078public bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node) 1081public bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node) 1084public SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node) 1087public bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node) 1090public bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node) 1093public static bool IsOperandOfDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1096public bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1099public SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString) 1115public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode objectCreationExpression) 1120public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode argumentList) 1123public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode argumentList) 1135public bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes) 1141public bool IsDocumentationComment(SyntaxNode node) 1144public bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node) 1147public bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node) 1150public bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node) 1153private static bool IsGlobalAttribute([NotNullWhen(true)] SyntaxNode? node, SyntaxKind attributeTarget) 1158public bool IsDeclaration(SyntaxNode? node) 1207public bool IsTypeDeclaration(SyntaxNode node) 1210public bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1213public bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1217SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1224SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1226var expression = statement; 1238public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node) 1241public SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node) 1244public SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node) 1252public bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement) 1259public bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2) 1262public static SyntaxNode GetExpressionOfInvocationExpression(SyntaxNode node) 1265public bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node) 1268public SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node) 1271public void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 1272out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode 1276arguments = (SeparatedSyntaxList<TArgumentSyntax>)(SeparatedSyntaxList<SyntaxNode>)tupleExpression.Arguments; 1283public SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken) 1286public ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken) 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>(); 1292public SyntaxTokenList GetModifiers(SyntaxNode? node) 1296public SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers) 1299public SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node) 1302public SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node) 1305public SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node) 1308public SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node) 1311public SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node) 1314public bool IsEqualsValueOfPropertyDeclaration(SyntaxNode? node) 1317public bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node) 1320public bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node) 1323public void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression) 1340public SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node) 1343public bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node) 1346public SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia) 1356public void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type) 1363public void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right) 1371public bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node) 1374public SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node) 1377public void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation) 1384public void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation) 1400public bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node) 1403public bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node) 1406public void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen) 1414public void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1422public void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern) 1429public void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression) 1436public SyntaxNode GetTypeOfTypePattern(SyntaxNode node) 1439public bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node) 1454public bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node) 1457public bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node) 1460public bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node) 1463public bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node) 1466public bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 1469public bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node) 1472public bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node) 1475public bool IsAnyName([NotNullWhen(true)] SyntaxNode? node) 1478public bool IsAnyType([NotNullWhen(true)] SyntaxNode? node) 1481public bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1484public bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node) 1487public bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1490public bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node) 1497public void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name) 1505public void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken) 1513public void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList) 1520public void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1527public void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1535public void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members) 1544SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull) 1552public void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse) 1560public SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement) 1566public void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments) 1573public void GetPartsOfInterpolationExpression(SyntaxNode node, 1574out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken) 1582public void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList) 1589public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name) 1597public void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members) 1605public void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode identifier, out SyntaxNode expression) 1612public void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1621public void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer) 1629public void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default) 1637SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen) 1645public void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken) 1652public void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand) 1659public void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1671public SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node) 1674public SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node) 1677public SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node) 1680public SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node) 1683public SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node) 1686public SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node) 1689public SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node) 1692public SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
829var parent = castNode.WalkUpParentheses().GetRequiredParent(); 1165private static bool IsExplicitCast(SyntaxNode node) 1304for (SyntaxNode? current = expression; current != null; current = current.Parent) 1319for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1375for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1404for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (13)
92var parent = endToken.Parent; 112var parent = endToken.Parent; 147var container = GetTopContainingNode(parent); 164var parent = endToken.Parent; 180var containerOfList = parent.Parent; 196var parentOfParent = parent.Parent; 224var containerOfBlock = GetTopContainingNode(parent); 264var parent = endToken.Parent; 331var labelNode = previousToken.Parent.Parent; 346private static bool IsSpecialContainingNode(SyntaxNode node) 372private static SyntaxNode? GetTopContainingNode([DisallowNull] SyntaxNode? node) 382var lastSpecialContainingNode = node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (19)
71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 75SyntaxNode previousNode = null; 76SyntaxNode parentNodeToSpeculate = null; 77foreach (var node in expression.AncestorsAndSelf(ascendOutOfTrivia: false)) 95public static bool CanSpeculateOnNode(SyntaxNode node) 104protected override void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate) 113protected override SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 116public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 123public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode nodeToSpeculate, SemanticModel semanticModel, int position, bool isInNamespaceOrTypeContext) 196SyntaxNode originalLambdaBody, replacedLambdaBody; 275SyntaxNode originalRoot) 295protected override bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode previousOriginalNode, SyntaxNode previousReplacedNode) 580protected override bool ExpressionMightReferenceMember(SyntaxNode node) 662protected override bool IsParenthesizedExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (2)
38if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration) 59internal TypeSyntax? FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (4)
36SyntaxNode declaration, SemanticModel semanticModel, 107private static bool IsPredefinedTypeInDeclaration(SyntaxNode declarationStatement, SemanticModel semanticModel) 146private static bool IsInferredPredefinedType(SyntaxNode declarationStatement, SemanticModel semanticModel) 155private static TypeSyntax? GetTypeSyntaxFromDeclaration(SyntaxNode declarationStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (3)
169var root = tree.GetRoot(cancellationToken); 175var newRoot = root.ReplaceNode( 182var newDeclarationTypeNode = newTree.GetRoot(cancellationToken).GetAnnotatedNodes(annotation).Single();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
11internal sealed class UsingsAndExternAliasesDirectiveComparer : IComparer<SyntaxNode?> 13public static readonly IComparer<SyntaxNode> NormalInstance = new UsingsAndExternAliasesDirectiveComparer( 17public static readonly IComparer<SyntaxNode> SystemFirstInstance = new UsingsAndExternAliasesDirectiveComparer( 78public int Compare(SyntaxNode? directive1, SyntaxNode? directive2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (7)
27var newLineTrivia = ((IEnumerable<SyntaxNode>)externAliasList) 119var initialList = usingList.Cast<SyntaxNode>() 161private static void EnsureNewLines(IList<SyntaxNode> list, SyntaxTrivia newLineTrivia) 167var node = list[i]; 180var node = list[i]; 187private static SyntaxNode TrimLeadingNewLines(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (3)
27var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 28var node = root.FindNode(span); 36var firstTypeOrNamespaceDecl = root.ChildNodes().FirstOrDefault(n => SyntaxFacts.IsNamespaceMemberDeclaration(n.Kind()));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (3)
13public static ArgumentSyntax GenerateArgument(SyntaxNode argument) 23public static ArgumentListSyntax GenerateArgumentList(IList<SyntaxNode> arguments) 26public static BracketedArgumentListSyntax GenerateBracketedArgumentList(IList<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ConstructorGenerator.cs (1)
104private static ArgumentListSyntax GenerateArgumentList(ImmutableArray<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (7)
177where TDeclaration : SyntaxNode 195private static bool AreBracesMissing<TDeclaration>(TDeclaration declaration) where TDeclaration : SyntaxNode 198public static SyntaxNode? GetContextNode( 227public static CodeGenerationDestination GetDestination(SyntaxNode destination) 252where TSyntaxNode : SyntaxNode 270public static T? GetReuseableSyntaxNodeForSymbol<T>(ISymbol symbol, CSharpCodeGenerationContextInfo info) where T : SyntaxNode 276var reusableSyntaxNode = symbol.DeclaringSyntaxReferences[0].GetSyntax();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (24)
40public override CodeGenerationDestination GetDestination(SyntaxNode node) 43protected override IComparer<SyntaxNode> GetMemberComparer() 46protected override IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken) 311var finalMember = editor.GetChangedRoot(); 341protected override TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) 377var attributeSyntaxToRemove = attributeToRemove.ApplicationSyntaxReference.GetSyntax(cancellationToken); 383SyntaxNode attributeToRemove, 443SyntaxNode attributeToRemove, 479IEnumerable<SyntaxNode> statements, 531IEnumerable<SyntaxNode> statements, 533CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 570TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, BaseMethodDeclarationSyntax baseMethodDeclaration) where TDeclarationNode : SyntaxNode 590public static BlockSyntax AddStatementsToBlock(BlockSyntax block, IEnumerable<SyntaxNode> statements) 613TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, LocalFunctionStatementSyntax localFunctionStatement) where TDeclarationNode : SyntaxNode 634TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, AnonymousFunctionExpressionSyntax anonymousFunctionSyntax) where TDeclarationNode : SyntaxNode 658public override SyntaxNode CreateEventDeclaration( 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 672public override SyntaxNode? CreateMethodDeclaration( 721public override SyntaxNode CreatePropertyDeclaration( 728public override SyntaxNode CreateNamedTypeDeclaration( 734public override SyntaxNode CreateNamespaceDeclaration(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpDeclarationComparer.cs (7)
13internal sealed class CSharpDeclarationComparer : IComparer<SyntaxNode> 71public int Compare(SyntaxNode? x, SyntaxNode? y) 314private static int GetAccessibilityPrecedence(SyntaxTokenList modifiers, SyntaxNode? parent) 345for (var node = parent; node != null; node = node.Parent) 386private static bool EqualAccessibility(SyntaxNode x, SyntaxTokenList xModifiers, SyntaxNode y, SyntaxTokenList yModifiers, out int comparisonResult)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
21protected override SyntaxNode CreateExplicitlyCastedLiteralValue(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (12)
32var declaration = GenerateNamespaceDeclaration( 52var declaration = GenerateNamespaceDeclaration( 66internal static SyntaxNode GenerateNamespaceDeclaration( 75var declaration = GetDeclarationSyntaxWithoutMembers( 85public static SyntaxNode UpdateCompilationUnitOrNamespaceDeclaration( 87SyntaxNode declaration, 97private static SyntaxNode GenerateNamespaceDeclarationWorker( 118private static SyntaxNode GetDeclarationSyntaxWithoutMembers( 125var reusableSyntax = GetReuseableSyntaxNodeForSymbol<SyntaxNode>(@namespace, info); 131private static SyntaxNode RemoveAllMembers(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (1)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (7)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 43SyntaxNode container, 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 130using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodes); 156private void CollectInfoFromContainer(SyntaxNode container, ArrayBuilder<SyntaxNode> nodes, out bool containsAnonymousMethods) 160foreach (var node in container.DescendantNodesAndSelf())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (3)
22this SyntaxNode contextNode, bool allowInHiddenRegions, CancellationToken cancellationToken) 69SyntaxNode contextNode, 79SyntaxNode contextNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (2)
478foreach (var node in leftToken.GetAncestors<SyntaxNode>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
162var parent = token.Parent; 180var container = token.Parent.Parent; 261var container = token.Parent.Parent; 454var owner = targetToken.Parent.Parent.Parent.Parent; 526where TMemberNode : SyntaxNode 613private static bool IsGenericInterfaceOrDelegateTypeParameterList([NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (14)
90var parent = token.Parent; 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 1268SyntaxNode? parent; 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1571private static SyntaxToken FindTokenOnLeftOfNode(SyntaxNode node) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1677private static SyntaxNode UnwrapPossibleTuple(SyntaxNode node) 1805var parent = token.Parent; 2755var parentMemberAccess = token.Parent; 2771var parentQualifiedName = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
119var root = await semanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\QueryExpressionSyntaxExtensions.cs (4)
13public static IList<SyntaxNode> GetAllClauses(this QueryExpressionSyntax query) 18public static IList<SyntaxNode> GetAllClauses(this QueryBodySyntax body) 23IList<SyntaxNode> allClauses) 31IEnumerable<SyntaxNode> allClauses)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SeparatedSyntaxListExtensions.cs (2)
13where T : SyntaxNode 20where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\TypeDeclarationSyntaxExtensions.cs (1)
54private static SyntaxToken GetEndToken(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
79var root = document.Root; 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (3)
16public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 26private static bool TryAddSuppressionOnMissingCloseBraceCase(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 102private static bool SomeParentHasMissingCloseBrace(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.cs (3)
116public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 172private static void ReplaceCaseIndentationRules(List<IndentBlockOperation> list, SyntaxNode node) 191private static void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (10)
222var embeddedStatementOwner = token.Parent.Parent; 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 337Indenter indenter, SeparatedSyntaxList<T> list, SyntaxToken token) where T : SyntaxNode 377var queryExpressionClause = GetQueryExpressionClause(token); 433private static SyntaxNode? GetQueryExpressionClause(SyntaxToken token) 435var clause = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is QueryClauseSyntax or SelectOrGroupClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (24)
34protected override ImmutableArray<SyntaxNode> GetGlobalImports( 35SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken) 37using var result = TemporaryArray<SyntaxNode>.Empty; 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 64protected override SyntaxNode Rewrite( 69SyntaxNode externContainer, 70SyntaxNode usingContainer, 71SyntaxNode staticUsingContainer, 72SyntaxNode aliasContainer, 74SyntaxNode root, 82var newRoot = rewriter.Visit(root); 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 94protected override SyntaxList<ExternAliasDirectiveSyntax> GetExterns(SyntaxNode node) 102protected override bool IsEquivalentImport(SyntaxNode a, SyntaxNode b) 110SyntaxNode externContainer, 111SyntaxNode usingContainer, 112SyntaxNode aliasContainer, 113SyntaxNode staticUsingContainer, 118public override SyntaxNode? Visit(SyntaxNode? node) 121public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 124public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 144public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (5)
32protected override bool IsMeaningfulBlock(SyntaxNode node) 43protected override SyntaxNode GetVariableDeclaratorSymbolNode(VariableDeclaratorSyntax variableDeclarator) 55SyntaxNode right, CancellationToken cancellationToken) 69protected override bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (6)
39Func<SyntaxNode, bool>? predicate, 42predicate ??= Functions<SyntaxNode>.True; 52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 54var newRoot = new Rewriter(unnecessaryImports, cancellationToken).Visit(root); 59foreach (var node in newRoot.GetAnnotatedNodes(s_annotation)) 72var formattedRoot = SyntaxFormatting.GetFormattingResult(newRoot, spansToFormat, formattingOptions, rules: default, cancellationToken).GetFormattedRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
36public override SyntaxNode DefaultVisit(SyntaxNode node) 146public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) 194public override SyntaxNode VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 197public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 200private SyntaxNode VisitBaseNamespaceDeclaration( 246public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax node) 252public override SyntaxNode VisitDelegateDeclaration(DelegateDeclarationSyntax node) 258public override SyntaxNode VisitEnumDeclaration(EnumDeclarationSyntax node) 264public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) 270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node) 276public override SyntaxNode VisitStructDeclaration(StructDeclarationSyntax node) 283public override SyntaxNode VisitUnionDeclaration(UnionDeclarationSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (4)
34protected override IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 61bool ShouldDescendInto(SyntaxNode node) 111public IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxFactsService.cs (9)
41SyntaxNode root, TContextNode contextNode, 42out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode 50private readonly SyntaxNode _contextNode; 54public AddFirstMissingCloseBraceRewriter(SyntaxNode contextNode) 57public override SyntaxNode Visit(SyntaxNode node) 69var rewritten = base.Visit(node); 116public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree tree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (95)
52public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken name, SyntaxNode? initializer, bool isConst) 59public override SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer) 62public override SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer) 70public override SyntaxNode EqualsValueClause(SyntaxNode value) 73public override SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value) 76internal static VariableDeclarationSyntax VariableDeclaration(SyntaxNode? type, SyntaxToken name, SyntaxNode? expression) 88public override SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull) 91public override SyntaxNode MemberBindingExpression(SyntaxNode name) 94public override SyntaxNode RefExpression(SyntaxNode expression) 97public override SyntaxNode AddParentheses(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 100internal static SyntaxNode Parenthesize(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 108public override SyntaxNode YieldReturnStatement(SyntaxNode expression) 117public override SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken) 120public override SyntaxNode InterpolatedStringText(SyntaxToken textToken) 130public override SyntaxNode Interpolation(SyntaxNode syntaxNode) 133public override SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment) 136public override SyntaxNode InterpolationFormatClause(string format) 141public override SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames) 190public override SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext) 193public override SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right) 201public override SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type) 209public override SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isKeyword, SyntaxNode pattern) 215public override SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right) 218public override SyntaxNode ConstantPattern(SyntaxNode expression) 221public override SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name) 226public override SyntaxNode LessThanRelationalPattern(SyntaxNode expression) 229public override SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression) 232public override SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression) 235public override SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression) 238public override SyntaxNode NotPattern(SyntaxNode pattern) 241public override SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right) 244public override SyntaxNode ParenthesizedPattern(SyntaxNode pattern) 247public override SyntaxNode TypePattern(SyntaxNode type) 250public override SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern) 255public override SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression) 258public override SyntaxNode DefaultExpression(SyntaxNode type) 261public override SyntaxNode DefaultExpression(ITypeSymbol type) 296public override SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind) 307public override SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode simpleName) 339public override SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right) 342public static SyntaxNode CreateBinaryExpression(SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right) 345public override SyntaxNode IdentifierName(string identifier) 348public override SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression) 351internal static SyntaxNode ParenthesizeNonSimple(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (18)
41protected override IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode node, bool objectAsDefault) 52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 75private IEnumerable<TypeInferenceInfo> GetTypesComplex(SyntaxNode node) 93private IEnumerable<TypeInferenceInfo> GetTypesSimple(SyntaxNode node) 125SyntaxNode node) 134var parent = node.Parent; 200var parent = token.Parent; 1544SyntaxNode child) 1594SyntaxNode child) 1899SyntaxNode node) 2065var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2106var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2116private IEnumerable<TypeInferenceInfo> InferTypeInMethodLikeDeclaration(SyntaxNode declaration) 2129private ISymbol GetDeclaredMemberSymbolFromOriginalSemanticModel(SyntaxNode declarationInCurrentTree) 2285private ImmutableArray<TypeInferenceInfo> InferTypeBasedOnLaterUsage(ISymbol symbol, SyntaxNode afterNode) 2289var container = afterNode.AncestorsAndSelf().FirstOrDefault(a => a is BlockSyntax or SwitchSectionSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (18)
119var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 133public static bool IsFunctionDeclaration(SyntaxNode node) 136public static SyntaxNode GetBody(SyntaxNode functionDeclaration) 139BaseMethodDeclarationSyntax methodDeclaration => (SyntaxNode?)methodDeclaration.Body ?? methodDeclaration.ExpressionBody!, 140LocalFunctionStatementSyntax localFunction => (SyntaxNode?)localFunction.Body ?? localFunction.ExpressionBody!, 145private static SyntaxToken? TryGetSemicolonToken(SyntaxNode functionDeclaration) 157public static SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 164SyntaxNode functionDeclaration, 166SyntaxNode? statementToAddAfterOpt, 169var body = GetBody(functionDeclaration); 231public static bool IsExpressionBody(SyntaxNode body) 235SyntaxNode body, 252public static SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 254var node = accessor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 256return accessorDeclaration.ExpressionBody ?? (SyntaxNode?)accessorDeclaration.Body; 265public static SyntaxNode RemoveThrowNotImplemented(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\SemanticModelReuse\CSharpSemanticModelReuseLanguageService.cs (5)
39public override SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node) 41for (SyntaxNode? previous = null, current = node; current != null; previous = current, current = current.Parent) 54protected override SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\CSharpSimplificationHelpers.cs (3)
15public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken) 33var parent = parentOfToken.Parent; 57public static T AppendElasticTriviaIfNecessary<T>(T rewrittenNode, T originalNode) where T : SyntaxNode
Workspace\LanguageServices\CSharpSyntaxTreeFactoryService.cs (1)
56public override SyntaxTree CreateSyntaxTree(string filePath, ParseOptions options, SourceText text, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, SyntaxNode root)
Workspace\LanguageServices\CSharpSyntaxTreeFactoryService.NodeSyntaxReference.cs (3)
16private readonly SyntaxNode _node; 18internal NodeSyntaxReference(SyntaxNode node) 27public override SyntaxNode GetSyntax(CancellationToken cancellationToken)
Workspace\LanguageServices\CSharpSyntaxTreeFactoryService.ParsedSyntaxTree.cs (2)
76public override SyntaxTree WithRootAndOptions(SyntaxNode root, ParseOptions options) 92public override SyntaxReference GetReference(SyntaxNode node)
Microsoft.CodeAnalysis.Extensions.Package (4)
Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
Microsoft.CodeAnalysis.Features (3449)
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.AddConstructorParametersCodeAction.cs (15)
48var constructor = declarationService.GetDeclarations( 56private SyntaxNode GetNewConstructor(SyntaxNode oldConstructor, CancellationToken cancellationToken) 59var newConstructor = codeGenerator.AddParameters( 65private Solution AddParametersToRegularConstructor(SyntaxNode constructor, CancellationToken cancellationToken) 70var newConstructor = GetNewConstructor(constructor, cancellationToken); 76var newRoot = syntaxTree.GetRoot(cancellationToken).ReplaceNode(constructor, newConstructor); 86SyntaxNode constructor, 96var newConstructor = GetNewConstructor(constructor, cancellationToken); 102var oldConstructor = _document.GetRequiredLanguageService<ISymbolDeclarationService>() 123var newConstructor = GetNewConstructor(currentOldConstructor, cancellationToken); 142var memberSyntax = syntaxRef.GetSyntax(cancellationToken); 146var equalsValueClause = generator.SyntaxGeneratorInternal.EqualsValueClause( 150var newMemberSyntax = member is IPropertySymbol 157private IEnumerable<SyntaxNode> CreateAssignStatements()
AddDebuggerDisplay\AbstractAddDebuggerDisplayCodeRefactoringProvider.cs (5)
20where TTypeDeclarationSyntax : SyntaxNode 21where TMethodDeclarationSyntax : SyntaxNode 115var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 121SyntaxNode attributeArgument; 150var newAttribute = generator
AddFileBanner\AbstractAddFileBannerCodeRefactoringProvider.cs (6)
49var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67d.TryGetSyntaxRoot(out var siblingRoot); 91private static bool HasExistingBanner(Document document, SyntaxNode root) 123Document document, SyntaxNode? root, CancellationToken cancellationToken) 158var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 167var newRoot = root.WithPrependedLeadingTrivia(new SyntaxTriviaList(banner));
AddFileBanner\AbstractAddFileBannerNewDocumentFormattingProvider.cs (4)
24var rootToFormat = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 31var rootWithFileHeader = await AbstractFileHeaderCodeFixProvider.GetTransformedSyntaxRootAsync( 45var hintSyntaxRoot = await hintDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 48var rootWithBanner = rootToFormat.WithPrependedLeadingTrivia(fileBanner);
AddFileBanner\AddFileBannerHelpers.cs (3)
27var fromRoot = await sourceDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 33var destinationRoot = await destinationDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var newRoot = destinationRoot.ReplaceToken(
AddImport\AbstractAddImportCodeRefactoringProvider.cs (18)
30where TExpressionSyntax : SyntaxNode 36where TImportDirectiveSyntax : SyntaxNode 53var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 56var node = token.GetRequiredParent(); 94var namespaceReference = syntaxFacts.GetLeftSideOfDot(qualifiedTypeReference); 103var namespaceImport = generator.NamespaceImportDeclaration(namespaceDisplayString); 117static bool IsQualified([NotNullWhen(true)] SyntaxNode? node) 120(SyntaxNode? qualifiedTypeReference, INamedTypeSymbol? namedType) GetQualifiedTypeReference() 127SyntaxNode current = name; 164var rewrittenRoot = RewriteRoot(simplifyAllOccurrences, cancellationToken); 165var rewrittenQualifiedTypeReference = rewrittenRoot.GetAnnotatedNodes(s_annotation).Single(); 167var finalRoot = addImportsService.AddImport( 179SyntaxNode RewriteRoot( 189using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var qualifiedTypeReferenceNodes); 197var namespacePortion = syntaxFacts.GetLeftSideOfDot(qualifiedTypeReference); 200foreach (var child in root.DescendantNodes().OrderByDescending(n => n.SpanStart)) 247var leftSide = syntaxFacts.GetLeftSideOfDot(child); 253var rightSideName = leftSide is TSimpleNameSyntax ? leftSide : syntaxFacts.GetRightSideOfDot(leftSide);
AddImport\AbstractAddImportFeatureService.cs (34)
33where TSimpleNameSyntax : SyntaxNode 41protected abstract bool IsWithinImport(SyntaxNode node); 42protected abstract bool CanAddImport(SyntaxNode node, bool allowInHiddenRegions, CancellationToken cancellationToken); 43protected abstract bool CanAddImportForMember(string diagnosticId, ISyntaxFacts syntaxFacts, SyntaxNode node, out TSimpleNameSyntax nameNode); 44protected abstract bool CanAddImportForNamespace(string diagnosticId, SyntaxNode node, out TSimpleNameSyntax nameNode); 45protected abstract bool CanAddImportForDeconstruct(string diagnosticId, SyntaxNode node); 46protected abstract bool CanAddImportForGetAwaiter(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node); 47protected abstract bool CanAddImportForGetEnumerator(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node); 48protected abstract bool CanAddImportForGetAsyncEnumerator(string diagnosticId, ISyntaxFacts syntaxFactsService, SyntaxNode node); 49protected abstract bool CanAddImportForQuery(string diagnosticId, SyntaxNode node); 50protected abstract bool CanAddImportForTypeOrNamespace(string diagnosticId, SyntaxNode node, out TSimpleNameSyntax nameNode); 52protected abstract ISet<INamespaceSymbol> GetImportNamespacesInScope(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 53protected abstract ITypeSymbol GetDeconstructInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 54protected abstract ITypeSymbol GetQueryClauseInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 56protected abstract Task<Document> AddImportAsync(SyntaxNode contextNode, INamespaceOrTypeSymbol symbol, Document document, AddImportPlacementOptions options, CancellationToken cancellationToken); 57protected abstract Task<Document> AddImportAsync(SyntaxNode contextNode, IReadOnlyList<string> nameSpaceParts, Document document, AddImportPlacementOptions options, CancellationToken cancellationToken); 60SyntaxNode node, SemanticModel semanticModel, [NotNullWhen(true)] out SyntaxNode? objectCreationExpression); 63protected abstract (string description, bool hasExistingImport) GetDescription(Document document, AddImportPlacementOptions options, INamespaceOrTypeSymbol symbol, SemanticModel semanticModel, SyntaxNode root, CancellationToken cancellationToken); 94var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 95var node = root.FindToken(span.Start, findInsideTrivia: true) 137SyntaxNode node, 606private static ITypeSymbol? GetAwaitInfo(SemanticModel semanticModel, ISyntaxFacts syntaxFactsService, SyntaxNode node) 608var awaitExpression = FirstAwaitExpressionAncestor(syntaxFactsService, node); 613var innerExpression = syntaxFactsService.GetExpressionOfAwaitExpression(awaitExpression); 618private static ITypeSymbol? GetCollectionExpressionType(SemanticModel semanticModel, ISyntaxFacts syntaxFactsService, SyntaxNode node) 620var collectionExpression = FirstForeachCollectionExpressionAncestor(syntaxFactsService, node); 630protected static bool AncestorOrSelfIsAwaitExpression(ISyntaxFacts syntaxFactsService, SyntaxNode node) 633private static SyntaxNode? FirstAwaitExpressionAncestor(ISyntaxFacts syntaxFactsService, SyntaxNode node) 634=> node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((n, syntaxFactsService) => syntaxFactsService.IsAwaitExpression(n), syntaxFactsService); 636private static SyntaxNode? FirstForeachCollectionExpressionAncestor(ISyntaxFacts syntaxFactsService, SyntaxNode node) 637=> node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((n, syntaxFactsService) => syntaxFactsService.IsExpressionOfForeach(n), syntaxFactsService);
AddImport\CodeActions\InstallPackageAndAddImportCodeAction.cs (2)
65var newRoot = await newDocument.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70var updatedRoot = newRoot.WithAdditionalAnnotations(SuppressDiagnosticsAnnotation.Create());
AddImport\References\AssemblyReference.cs (1)
27Document document, SyntaxNode node, bool cleanDocument, CodeCleanupOptions options, CancellationToken cancellationToken)
AddImport\References\MetadataSymbolReference.cs (1)
37Document document, CodeCleanupOptions options, SyntaxNode node,
AddImport\References\PackageReference.cs (1)
29Document document, SyntaxNode node, bool cleanupDocument, CodeCleanupOptions options, CancellationToken cancellationToken)
AddImport\References\ProjectSymbolReference.cs (1)
83Document document, CodeCleanupOptions options, SyntaxNode node,
AddImport\References\Reference.cs (7)
77protected async Task<(SyntaxNode, Document)> ReplaceNameNodeAsync( 78SyntaxNode contextNode, Document document, CancellationToken cancellationToken) 90var root = contextNode.SyntaxTree.GetRoot(cancellationToken); 94var newRoot = await newDocument.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 95var newContextNode = newRoot.GetAnnotatedTokens(annotation).First().Parent; 101Document document, SyntaxNode node, bool cleanupDocument, CodeCleanupOptions options, CancellationToken cancellationToken); 104Document document, SyntaxNode node, bool cleanupDocument, CodeCleanupOptions options, CancellationToken cancellationToken)
AddImport\References\SymbolReference.cs (4)
49Document document, SyntaxNode contextNode, 59(var newContextNode, var newDocument) = await ReplaceNameNodeAsync( 76Document document, SyntaxNode node, bool cleanupDocument, CodeCleanupOptions options, CancellationToken cancellationToken) 124Document document, CodeCleanupOptions options, SyntaxNode node,
AddImport\SymbolReferenceFinder_PackageAssemblySearch.cs (5)
79var current = (SyntaxNode)nameNode; 100bool TryAddNames(ArrayBuilder<string> result, SyntaxNode rootNode) 113_syntaxFacts.GetPartsOfQualifiedName(rootNode, out var left, out _, out var right);
AddImport\SymbolReferenceFinder.cs (6)
37private readonly SyntaxNode _node; 53SyntaxNode node, 301var expression = syntaxFacts.IsNameOfSimpleMemberAccessExpression(nameNode) 392var expression = nameNode.GetRequiredParent(); 396var leftExpression = 427_owner.IsAddMethodContext(_node, _semanticModel, out var objectCreationExpression))
BraceMatching\AbstractBraceMatcher.cs (2)
29var parent = token.Parent; 64var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
BraceMatching\AbstractDirectiveTriviaBraceMatcher.cs (2)
17where TDirectiveTriviaSyntax : SyntaxNode 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
BraceMatching\AbstractEmbeddedLanguageBraceMatcher.cs (1)
34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
BracePairs\IBracePairsService.cs (1)
49var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CallHierarchy\AbstractCallHierarchyService.cs (4)
346var syntax = await GetOperationRootSyntaxAsync(syntaxReference, cancellationToken).ConfigureAwait(false); 349using var __ = PooledHashSet<SyntaxNode>.GetInstance(out var seenRootSyntaxes); 353foreach (var descendant in syntax.DescendantNodesAndSelf()) 371protected virtual Task<SyntaxNode> GetOperationRootSyntaxAsync(SyntaxReference syntaxReference, CancellationToken cancellationToken)
ChangeSignature\AbstractChangeSignatureService.cs (42)
47public abstract SyntaxNode? FindNodeToUpdate(Document document, SyntaxNode node); 52public abstract SyntaxNode ChangeSignature( 55SyntaxNode potentiallyUpdatedNode, 56SyntaxNode originalNode, 63protected abstract T TransferLeadingWhitespaceTrivia<T>(T newArgument, SyntaxNode oldArgument) where T : SyntaxNode; 72where TArgumentSyntax : SyntaxNode; 75where TArgumentSyntax : SyntaxNode; 170var syntax = await reference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 254var nodesToUpdate = new Dictionary<DocumentId, List<SyntaxNode>>(); 255var definitionToUse = new Dictionary<SyntaxNode, ISymbol>(); 336if (!TryGetNodeWithEditableSignatureOrAttributes(def, currentSolution, out var nodeToUpdate, out var documentId)) 360if (!TryGetNodeWithEditableSignatureOrAttributes(location.Location, currentSolution, out var nodeToUpdate2, out var documentId2)) 376var updatedRoots = new Dictionary<DocumentId, SyntaxNode>(); 381var root = await doc.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 391var newRoot = root.ReplaceNodes(nodes, (originalNode, potentiallyUpdatedNode) => 403var annotatedNodes = newRoot.GetAnnotatedNodes<SyntaxNode>(syntaxAnnotation: ChangeSignatureFormattingAnnotation); 406var formattedRoot = Formatter.Format( 418var changedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 445private static void AddUpdatableNodeToDictionaries(Dictionary<DocumentId, List<SyntaxNode>> nodesToUpdate, DocumentId documentId, SyntaxNode nodeToUpdate, Dictionary<SyntaxNode, ISymbol> definitionToUse, ISymbol symbolWithSemanticParameters) 456private static bool TryGetNodeWithEditableSignatureOrAttributes(Location location, Solution solution, out SyntaxNode nodeToUpdate, out DocumentId documentId) 462var root = tree.GetRoot(); 463var node = root.FindNode(location.SourceSpan, findInsideTrivia: true, getInnermostNodeForTie: true); 650where TNode : SyntaxNode 683Func<AddedParameter, T> createNewParameterMethod) where T : SyntaxNode 746protected ImmutableArray<SyntaxToken> GetSeparators<T>(SeparatedSyntaxList<T> arguments, int numSeparatorsToSkip) where T : SyntaxNode 774where TArgumentSyntax : SyntaxNode 813var expression = GenerateInferredCallsiteExpression( 915private SyntaxNode GenerateInferredCallsiteExpression( 971protected ImmutableArray<SyntaxTrivia> GetPermutedDocCommentTrivia(SyntaxNode node, ImmutableArray<SyntaxNode> permutedParamNodes, LanguageServices services, LineFormattingOptions options) 986var structuredTrivia = trivia.GetStructure(); 993var updatedNodeList = ArrayBuilder<SyntaxNode>.GetInstance(); 997var content = structuredContent[i]; 1016var newDocComments = Generator.DocumentationCommentTriviaWithUpdatedContent(trivia, updatedNodeList.ToImmutableAndFree()); 1022using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var extraNodeList); 1031var extraDocComments = Generator.DocumentationCommentTrivia( 1043protected static bool IsParamsArrayExpandedHelper(ISymbol symbol, int argumentCount, bool lastArgumentIsNamed, SemanticModel semanticModel, SyntaxNode lastArgumentExpression, CancellationToken cancellationToken) 1071protected static int GetParameterIndexFromInvocationArgument(SyntaxNode argument, Document document, SemanticModel semanticModel, CancellationToken cancellationToken)
ChangeSignature\DelegateInvokeMethodReferenceFinder.cs (4)
95var root = state.Root; 101foreach (var node in invocations) 104foreach (var node in nodes) 124static FinderLocation CreateFinderLocation(SyntaxNode node, FindReferencesDocumentState state, CancellationToken cancellationToken)
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.AbstractGlobalSuppressMessageCodeAction.cs (1)
87var r = await t.GetRootAsync(c).ConfigureAwait(false);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.cs (22)
47protected abstract SyntaxTriviaList CreatePragmaDisableDirectiveTrivia(Diagnostic diagnostic, Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine, CancellationToken cancellationToken); 48protected abstract SyntaxTriviaList CreatePragmaRestoreDirectiveTrivia(Diagnostic diagnostic, Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, bool needsLeadingEndOfLine, bool needsTrailingEndOfLine, CancellationToken cancellationToken); 50protected abstract SyntaxNode AddGlobalSuppressMessageAttribute( 51SyntaxNode newRoot, 60protected abstract SyntaxNode AddLocalSuppressMessageAttribute( 61SyntaxNode targetNode, ISymbol targetSymbol, INamedTypeSymbol suppressMessageAttribute, Diagnostic diagnostic); 65protected abstract bool IsAttributeListWithAssemblyAttributes(SyntaxNode node); 68protected abstract bool IsSingleAttributeInAttributeList(SyntaxNode attribute); 92protected abstract SyntaxNode GetContainingStatement(SyntaxToken token); 95protected SyntaxToken GetAdjustedTokenForPragmaDisable(SyntaxToken token, SyntaxNode root, TextLineCollection lines) 97var containingStatement = GetContainingStatement(token); 117private SyntaxToken GetAdjustedTokenForPragmaRestore(SyntaxToken token, SyntaxNode root, TextLineCollection lines, int indexOfLine) 119var containingStatement = GetContainingStatement(token); 257public SyntaxNode? NodeWithTokens { get; set; } 258public SyntaxNode? TargetMemberNode { get; set; } 268var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 282var nodeWithTokens = GetNodeWithTokens(startToken, endToken, root); 289var targetMemberNode = syntaxFacts.GetContainingMemberDeclaration(root, nodeWithTokens.SpanStart); 343internal SyntaxNode GetNodeWithTokens(SyntaxToken startToken, SyntaxToken endToken, SyntaxNode root)
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.GlobalSuppressMessageCodeAction.cs (1)
28var suppressionsRoot = await suppressionsDoc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.GlobalSuppressMessageFixAllCodeAction.cs (1)
132var suppressionsRoot = await suppressionsDoc.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.LocalSuppressMessageCodeAction.cs (5)
18SyntaxNode targetNode, 30var newTargetNode = _fixer.AddLocalSuppressMessageAttribute( 32var root = await _document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 33var newRoot = root.ReplaceNode(TargetNode_TestOnly, newTargetNode); 39internal SyntaxNode TargetNode_TestOnly { get; } = targetNode;
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.PragmaHelpers.cs (12)
34var nodeWithTokens = suppressionTargetInfo.NodeWithTokens; 35var root = await nodeWithTokens.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 51SyntaxNode newNode; 61var newRoot = root.ReplaceNode(nodeWithTokens, newNode); 107Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, 159Func<SyntaxNode, CancellationToken, SyntaxNode> formatNode, 211var nodeWithTokens = suppressionTargetInfo.NodeWithTokens; 222var root = nodeWithTokens.SyntaxTree.GetRoot(); 224var subtreeRoot = root.FindNode(new TextSpan(previousOfStart.FullSpan.Start, spanEnd - previousOfStart.FullSpan.Start)); 241var newSubtreeRoot = subtreeRoot.ReplaceTokens([startToken, previousOfStart, endToken, nextOfEnd],
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.PragmaWarningCodeAction.cs (2)
84private SyntaxNode FormatNode(SyntaxNode node, CancellationToken cancellationToken)
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Attribute.cs (3)
52public async Task<SyntaxNode> GetAttributeToRemoveAsync(CancellationToken cancellationToken) 54var attributeNode = await _attribute.ApplicationSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 63var attributeNode = await GetAttributeToRemoveAsync(cancellationToken).ConfigureAwait(false);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Pragma.cs (2)
220private SyntaxNode FormatNode(SyntaxNode node, CancellationToken cancellationToken)
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction.BatchFixer.cs (5)
142var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 143var newRoot = root.RemoveNodes(attributesToRemove, SyntaxRemoveOptions.KeepLeadingTrivia | SyntaxRemoveOptions.AddElasticMarker); 159private static async Task<ImmutableArray<SyntaxNode>> GetAttributeNodesToFixAsync(ImmutableArray<AttributeRemoveAction> attributeRemoveFixes, CancellationToken cancellationToken) 161var builder = new FixedSizeArrayBuilder<SyntaxNode>(attributeRemoveFixes.Length); 164var attributeToRemove = await attributeRemoveFix.GetAttributeToRemoveAsync(cancellationToken).ConfigureAwait(false);
CodeLens\CodeLensFindReferenceProgress.cs (2)
26SyntaxNode queriedNode, 31private readonly SyntaxNode _queriedNode = queriedNode;
CodeLens\CodeLensReferencesService.cs (8)
43private static async Task<T?> FindAsync<T>(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, 90public async Task<ReferenceCount?> GetReferenceCountAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, int maxSearchResults, CancellationToken cancellationToken) 121var node = GetEnclosingCodeElementNode(document, token, langServices, cancellationToken); 166private static SyntaxNode GetEnclosingCodeElementNode(Document document, SyntaxToken token, ICodeLensDisplayInfoService langServices, CancellationToken cancellationToken) 170var node = token.Parent; 198public async Task<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, CancellationToken cancellationToken) 370public Task<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, CancellationToken cancellationToken) 386public async Task<string> GetFullyQualifiedNameAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode,
CodeLens\ICodeLensDisplayInfoService.cs (3)
14SyntaxNode GetDisplayNode(SyntaxNode node); 19string GetDisplayName(SemanticModel semanticModel, SyntaxNode node);
CodeLens\ICodeLensMemberFinder.cs (1)
24internal record struct CodeLensMember(SyntaxNode Node, TextSpan Span);
CodeLens\ICodeLensReferencesService.cs (4)
24Task<ReferenceCount?> GetReferenceCountAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, int maxSearchResults, CancellationToken cancellationToken); 29Task<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken); 39Task<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken); 44Task<string?> GetFullyQualifiedNameAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken);
CodeRefactorings\AddAwait\AbstractAddAwaitCodeRefactoringProvider.cs (7)
26where TExpressionSyntax : SyntaxNode 31protected abstract bool IsInAsyncContext(SyntaxNode node); 37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 38var node = root.FindNode(span); 71SemanticModel model, ISyntaxFactsService syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 84for (var current = node; current != null;) 124var awaitExpression = generator
CodeRefactorings\AddMissingImports\AbstractAddMissingImportsFeatureService.cs (1)
152var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CodeRefactorings\ExtractMethod\AbstractExtractMethodCodeRefactoringProvider.cs (2)
131var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 133var finalRoot = root.ReplaceToken(
CodeRefactorings\MoveType\AbstractMoveTypeService.cs (7)
36where TTypeDeclarationSyntax : SyntaxNode 37where TNamespaceDeclarationSyntax : SyntaxNode 38where TCompilationUnitSyntax : SyntaxNode 43protected abstract bool IsMemberDeclaration(SyntaxNode syntaxNode); 146private static bool ClassNextToGlobalStatements(SyntaxNode root, ISyntaxFactsService syntaxFacts) 158private static bool MultipleTopLevelTypeDeclarationInSourceDocument(SyntaxNode root) 161private static IEnumerable<TTypeDeclarationSyntax> TopLevelTypeDeclarations(SyntaxNode root)
CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeEditor.cs (16)
93var rootWithMovedType = await documentWithMovedType.GetRequiredSyntaxRootAsync(CancellationToken).ConfigureAwait(false); 118var root = SemanticDocument.Root; 131using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var correspondingDirectives); 135foreach (var member in membersToRemove) 147foreach (var directive in correspondingDirectives) 155var modifiedRoot = documentEditor.GetChangedRoot(); 170void AddCorrespondingDirectives(SyntaxNode member, HashSet<SyntaxNode> directives) 177foreach (var directive in syntaxFacts.GetMatchingConditionalDirectives(trivia.GetStructure()!, this.CancellationToken)) 201private async Task<SyntaxNode> AddFinalNewLineIfDesiredAsync(Document document, SyntaxNode modifiedRoot) 256private ISet<SyntaxNode> GetMembersToRemove(SyntaxNode root) 258var spine = new HashSet<SyntaxNode>(); 287private bool FilterToTopLevelMembers(SyntaxNode node, SyntaxNode typeNode)
CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeNamespaceScopeEditor.cs (11)
56var newNamespaceDeclaration = generator.NamespaceDeclaration(name, WithElasticTrivia(this.TypeDeclaration)).WithAdditionalAnnotations(NamespaceScopeMovedAnnotation); 60var itemsAfterNamespaceDeclaration = generator.NamespaceDeclaration(name, WithElasticTrivia(itemsAfter)); 62foreach (var nodeToRemove in itemsAfter) 71var nodeToCleanup = itemsBefore.Last(); 78var nodeToCleanup = itemsAfter.First(); 86private static SyntaxNode WithElasticTrivia(SyntaxNode syntaxNode, bool leading = true, bool trailing = true) 97private static ImmutableArray<SyntaxNode> WithElasticTrivia(ImmutableArray<SyntaxNode> syntaxNodes) 99var result = new FixedSizeArrayBuilder<SyntaxNode>(syntaxNodes.Length); 102var node = syntaxNodes[i];
CodeRefactorings\SyncNamespace\AbstractChangeNamespaceService.cs (60)
40public abstract Task<bool> CanChangeNamespaceAsync(Document document, SyntaxNode container, CancellationToken cancellationToken); 42public abstract Task<Solution> ChangeNamespaceAsync(Document document, SyntaxNode container, string targetNamespace, CancellationToken cancellationToken); 60public abstract bool TryGetReplacementReferenceSyntax(SyntaxNode reference, ImmutableArray<string> newNamespaceParts, ISyntaxFactsService syntaxFacts, [NotNullWhen(returnValue: true)] out SyntaxNode? old, [NotNullWhen(returnValue: true)] out SyntaxNode? @new); 71where TCompilationUnitSyntax : SyntaxNode 72where TMemberDeclarationSyntax : SyntaxNode 74where TNameSyntax : SyntaxNode 76where TCrefSyntax : SyntaxNode 92protected abstract SyntaxList<TMemberDeclarationSyntax> GetMemberDeclarationsInContainer(SyntaxNode compilationUnitOrNamespaceDecl); 94protected abstract Task<SyntaxNode?> TryGetApplicableContainerFromSpanAsync(Document document, TextSpan span, CancellationToken cancellationToken); 96protected abstract string GetDeclaredNamespace(SyntaxNode container); 100/// <see cref="IChangeNamespaceService.CanChangeNamespaceAsync(Document, SyntaxNode, CancellationToken)"/> 107protected abstract Task<ImmutableArray<(DocumentId id, SyntaxNode container)>> GetValidContainersFromAllLinkedDocumentsAsync(Document document, SyntaxNode container, CancellationToken cancellationToken); 109private static bool IsValidContainer(SyntaxNode container) 115public override async Task<bool> CanChangeNamespaceAsync(Document document, SyntaxNode container, CancellationToken cancellationToken) 132var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 165var namespaceToRename = namespaces[i]; 171static async Task<ImmutableArray<SyntaxNode>> GetTopLevelNamespacesAsync(Document document, CancellationToken cancellationToken) 173var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 184SyntaxNode container, 269protected async Task<ImmutableArray<(DocumentId, SyntaxNode)>> TryGetApplicableContainersFromAllDocumentsAsync( 281using var _1 = ArrayBuilder<(DocumentId, SyntaxNode)>.GetInstance(ids.Length, out var containers); 286var container = await TryGetApplicableContainerFromSpanAsync(document, span, cancellationToken).ConfigureAwait(false); 312protected static async Task<Solution> AnnotateContainersAsync(Solution solution, ImmutableArray<(DocumentId, SyntaxNode)> containers, CancellationToken cancellationToken) 325Document document, SyntaxNode container, CancellationToken cancellationToken) 369SyntaxNode container, 402private static ImmutableArray<SyntaxNode> CreateImports(Document document, ImmutableArray<string> names, bool withFormatterAnnotation) 405var builder = new FixedSizeArrayBuilder<SyntaxNode>(names.Length); 412private static SyntaxNode CreateImport(SyntaxGenerator syntaxGenerator, string name, bool withFormatterAnnotation) 414var import = syntaxGenerator.NamespaceImportDeclaration(name); 436var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 437var container = root.GetAnnotatedNodes(ContainerAnnotation).Single(); 487var fixedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 579ImmutableArray<SyntaxNode> containersToAddImports; 614var root = await documentWithAddedImports.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 638private static SyntaxNode AddSimplifierAnnotationToPotentialReferences( 639ISyntaxFactsService syntaxFacts, SyntaxNode root, HashSet<string> allNamespaceNameParts) 649using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var namesToUpdate); 650foreach (var descendent in root.DescendantNodes(descendIntoTrivia: true)) 663static SyntaxNode GetHighestNameOrCref(TNameSyntax name) 729private static async Task<(Document, ImmutableArray<SyntaxNode>)> FixReferencesAsync( 738var root = editor.OriginalRoot; 739using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var containers); 746var dummyImport = CreateImport(generator, "Dummy", withFormatterAnnotation: false); 770var refNode = root.FindNode(refLoc.ReferenceLocation.Location.SourceSpan, findInsideTrivia: true, getInnermostNodeForTie: true); 776refNode, newNamespaceParts, syntaxFacts, out var oldNode, out var newNode)) 785var container = addImportService.GetImportContainer(root, refNode, dummyImport, addImportsOptions); 789foreach (var container in containers) 819var changedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 836IEnumerable<SyntaxNode> importsToRemove, 857ImmutableArray<SyntaxNode> containers, 872foreach (var container in containers) 877var contextLocation = container is TNamespaceDeclarationSyntax 882var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 897private sealed class SyntaxNodeSpanStartComparer : IComparer<SyntaxNode> 905public int Compare(SyntaxNode? x, SyntaxNode? y)
CodeRefactorings\SyncNamespace\AbstractSyncNamespaceCodeRefactoringProvider.cs (4)
16where TNamespaceDeclarationSyntax : SyntaxNode 17where TCompilationUnitSyntax : SyntaxNode 18where TMemberDeclarationSyntax : SyntaxNode 30protected abstract Task<SyntaxNode?> TryGetApplicableInvocationNodeAsync(Document document, TextSpan span, CancellationToken cancellationToken);
CodeRefactorings\SyncNamespace\AbstractSyncNamespaceCodeRefactoringProvider.MoveFileCodeAction.cs (3)
22where TNamespaceDeclarationSyntax : SyntaxNode 23where TCompilationUnitSyntax : SyntaxNode 24where TMemberDeclarationSyntax : SyntaxNode
CodeRefactorings\SyncNamespace\AbstractSyncNamespaceCodeRefactoringProvider.State.cs (6)
23where TNamespaceDeclarationSyntax : SyntaxNode 24where TCompilationUnitSyntax : SyntaxNode 25where TMemberDeclarationSyntax : SyntaxNode 38public SyntaxNode Container { get; } 56SyntaxNode container, 88var applicableNode = await provider.TryGetApplicableInvocationNodeAsync(document, textSpan, cancellationToken).ConfigureAwait(false);
Completion\Providers\AbstractAwaitCompletionProvider.cs (11)
59protected abstract int GetAsyncKeywordInsertionPosition(SyntaxNode declaration); 60protected abstract Task<TextChange?> GetReturnTypeChangeAsync(Solution solution, SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken); 62protected abstract SyntaxNode? GetAsyncSupportingDeclaration(SyntaxToken leftToken, int position); 64protected abstract ITypeSymbol? GetTypeSymbolOfExpression(SemanticModel semanticModel, SyntaxNode potentialAwaitableExpression, CancellationToken cancellationToken); 65protected abstract SyntaxNode? GetExpressionToPlaceAwaitInFrontOf(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken); 96var declaration = GetAsyncSupportingDeclaration(leftToken, position); 183var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 186var declaration = GetAsyncSupportingDeclaration(root.FindToken(leftTokenPosition), position); 227var expr = GetExpressionToPlaceAwaitInFrontOf(syntaxTree, position, cancellationToken); 267var potentialAwaitableExpression = GetExpressionToPlaceAwaitInFrontOf(syntaxTree, position, cancellationToken); 270var parentOfAwaitable = potentialAwaitableExpression.Parent;
Completion\Providers\AbstractDocCommentCompletionProvider.cs (1)
23where TSyntax : SyntaxNode
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (14)
23protected abstract IImmutableList<SyntaxNode> GetAssemblyScopedAttributeSyntaxNodesOfDocument(SyntaxNode documentRoot); 24protected abstract SyntaxNode? GetConstructorArgumentOfInternalsVisibleToAttribute(SyntaxNode internalsVisibleToAttribute); 65var attributeSyntaxNode = GetAttributeSyntaxNodeOfToken(syntaxFactsService, token); 83private static SyntaxNode? GetAttributeSyntaxNodeOfToken(ISyntaxFactsService syntaxFactsService, SyntaxToken token) 91var node = token.Parent; 109var attributeSyntaxNodeCandidate = node.Parent?.Parent?.Parent; 119private static async Task<bool> CheckTypeInfoOfAttributeAsync(Document document, SyntaxNode attributeNode, CancellationToken cancellationToken) 183var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 185foreach (var attribute in assemblyScopedAttributes) 227private async Task<string> GetAssemblyNameFromInternalsVisibleToAttributeAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 229var constructorArgument = GetConstructorArgumentOfInternalsVisibleToAttribute(node); 252var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\Providers\AbstractMemberInsertingCompletionProvider.cs (9)
41protected abstract TextSpan GetTargetSelectionSpan(SyntaxNode caretTarget); 43protected abstract SyntaxNode GetSyntax(SyntaxToken commonSyntaxToken); 73var treeRoot = tree.GetRoot(cancellationToken); 91var annotatedRoot = treeRoot.ReplaceToken( 159private TextSpan ComputeDestinationSpan(SyntaxNode insertionRoot, SourceText text) 176var root = await memberContainingDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 187var destinationNode = root.FindNode(destinationSpan, true); 218var replacingNode = root.GetAnnotatedNodes(_annotation).Single(); 233var caretTarget = root.GetAnnotatedNodes(_annotation).FirstOrDefault();
Completion\Providers\AbstractObjectCreationCompletionProvider.cs (2)
23protected abstract SyntaxNode? GetObjectCreationNewExpression(SyntaxTree tree, int position, CancellationToken cancellationToken); 50var newExpression = GetObjectCreationNewExpression(context.SyntaxTree, position, cancellationToken);
Completion\Providers\AbstractOverrideCompletionProvider.ItemGetter.cs (1)
132var root = SyntaxTree.GetRoot(CancellationToken);
Completion\Providers\AbstractPartialTypeCompletionProvider.cs (2)
36var node = GetPartialTypeSyntaxNode(tree, position, cancellationToken); 77protected abstract SyntaxNode? GetPartialTypeSyntaxNode(SyntaxTree tree, int position, CancellationToken cancellationToken);
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (1)
300var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Completion\Providers\AbstractSymbolCompletionProvider.cs (1)
69var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).SingleOrDefault();
Completion\Providers\ImportCompletionProvider\AbstractExtensionMethodImportCompletionProvider.cs (3)
79var parentNode = syntaxContext.TargetToken.Parent; 84var expressionNode = syntaxFacts.GetLeftSideOfDot(parentNode, allowImplicitTarget: false); 93SyntaxNode expressionNode,
Completion\Providers\ImportCompletionProvider\AbstractImportCompletionProvider.cs (1)
24protected abstract bool IsFinalSemicolonOfUsingOrExtern(SyntaxNode directive, SyntaxToken token);
Completion\Providers\ImportCompletionProvider\AbstractTypeImportCompletionProvider.cs (1)
19where AliasDeclarationTypeNode : SyntaxNode
Completion\Providers\ImportCompletionProvider\ImportCompletionProviderHelpers.cs (4)
26var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 27var addImportContextNode = root.FindToken(completionItemPosition, findInsideTrivia: true).Parent; 37var importNode = syntaxGenerator.NamespaceImportDeclaration(namespaceName).WithAdditionalAnnotations(Formatter.Annotation); 43var rootWithImport = addImportService.AddImport(semanticModel, root, addImportContextNode!, importNode, generator, addImportsOptions, cancellationToken);
ConvertAnonymousType\AbstractConvertAnonymousTypeCodeRefactoringProvider.cs (1)
15where TAnonymousObjectCreationExpressionSyntax : SyntaxNode
ConvertAnonymousType\AbstractConvertAnonymousTypeToClassCodeRefactoringProvider.cs (8)
34where TExpressionSyntax : SyntaxNode 39where TNamespaceDeclarationSyntax : SyntaxNode 87var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 111var containingMember = anonymousObject.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>((node, syntaxFacts) => syntaxFacts.IsMethodLevelMember(node), syntaxFacts) ?? anonymousObject; 136var container = anonymousObject.GetAncestor<TNamespaceDeclarationSyntax>() ?? root; 150Document document, SyntaxEditor editor, SyntaxNode containingMember, 179SyntaxNode containingMember, TAnonymousObjectCreationExpressionSyntax creationNode,
ConvertAnonymousType\AbstractConvertAnonymousTypeToTupleCodeRefactoringProvider.cs (5)
23where TExpressionSyntax : SyntaxNode 33var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 84var containingMember = anonymousNode.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>((node, syntaxFacts) => syntaxFacts.IsMethodLevelMember(node), syntaxFacts) ?? anonymousNode; 109var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertAutoPropertyToFullProperty\AbstractConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (18)
21where TPropertyDeclarationNode : SyntaxNode 22where TTypeDeclarationNode : SyntaxNode 26protected abstract (SyntaxNode newGetAccessor, SyntaxNode? newSetAccessor) GetNewAccessors( 29protected abstract SyntaxNode GetInitializerValue(TPropertyDeclarationNode property); 30protected abstract SyntaxNode ConvertPropertyToExpressionBodyIfDesired(TCodeGenerationContextInfo info, SyntaxNode fullProperty); 31protected abstract SyntaxNode GetTypeBlock(SyntaxNode syntaxNode); 37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 93var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var finalProperty = CreateFinalProperty( 116var typeBlock = GetTypeBlock(await td.GetSyntaxAsync(cancellationToken).ConfigureAwait(false)); 125var newRoot = editor.GetChangedRoot(); 129protected SyntaxNode CreateFinalProperty( 133SyntaxNode newGetAccessor, 134SyntaxNode? newSetAccessor) 138var fullProperty = generator
ConvertCast\AbstractConvertCastCodeRefactoringProvider.cs (5)
25where TTypeNode : SyntaxNode 26where TFromExpression : SyntaxNode 27where TToExpression : SyntaxNode 75var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 76var newRoot = root.ReplaceNode(from, ConvertExpression(from, nullableContext, isReferenceType));
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (16)
28where TStatementSyntax : SyntaxNode 43protected abstract (SyntaxNode start, SyntaxNode end) GetForEachBody(TForEachStatement foreachStatement); 86ISemanticFactsService semanticFacts, SemanticModel model, SyntaxNode location, string baseName, CancellationToken cancellationToken) 89protected static SyntaxNode GetCollectionVariableName( 91ForEachInfo foreachInfo, SyntaxNode foreachCollectionExpression, CancellationToken cancellationToken) 105SyntaxNode type, SyntaxNode foreachCollectionExpression, SyntaxNode collectionVariable) 119var expression = foreachCollectionExpression.WithoutAnnotations(SimplificationHelpers.DoNotSimplifyAnnotation); 120var collectionStatement = generator.LocalDeclarationStatement( 132SyntaxGenerator generator, SyntaxNode type, SyntaxToken foreachVariable, 133ITypeSymbol castType, SyntaxNode collectionVariable, SyntaxToken indexVariable) 135var memberAccess = generator.ElementAccessExpression( 143var localDecl = generator.LocalDeclarationStatement( 424var newRoot = editor.GetChangedRoot();
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (30)
29where TStatementSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TMemberAccessExpressionSyntax : SyntaxNode 33where TTypeNode : SyntaxNode 34where TVariableDeclaratorSyntax : SyntaxNode 49protected abstract SyntaxNode ConvertForNode( 68out var collectionExpressionNode, out var memberAccessNameNode); 146bool IterationVariableIsUsedForMoreThanCollectionIndex(SyntaxNode current) 156var argument = current.Parent; 161var argumentList = argument?.Parent; 186if (child.AsNode(out var childNode) && 196bool IsGoodElementAccessExpression(SyntaxNode argumentList) 200var expr = syntaxFacts.GetExpressionOfElementAccessExpression(argumentList.Parent); 210bool IsGoodInvocationExpression(SyntaxNode argumentList) 214var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(argumentList.Parent); 217syntaxFacts.GetPartsOfMemberAccessExpression(invokedExpression, out var accessedExpression, out var accessedName); 326var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 331var indexExpression = generator.ElementAccessExpression(collectionExpression, generator.IdentifierName(iterationVariable)); 332var elementAtExpression = generator.InvocationExpression( 402var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(firstVariable); 405var firstVariableInitializer = syntaxFacts.GetValueOfEqualsValueClause(initializer); 422void FindAndReplaceMatches(SyntaxNode current) 429var indexMatch = current.GetRequiredParent(); 435var indexMatch = current.GetRequiredParent().GetRequiredParent(); 463if (child.AsNode(out var childNode)) 468bool CrossesFunctionBoundary(SyntaxNode node) 470var containingFunction = node.AncestorsAndSelf().FirstOrDefault( 479void Replace(SyntaxNode indexMatch)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.AnalyzedNodes.cs (6)
15where TIfStatementSyntax : SyntaxNode 16where TExpressionSyntax : SyntaxNode 17where TIsExpressionSyntax : SyntaxNode 18where TPatternSyntax : SyntaxNode 24internal sealed class AnalyzedSwitchSection(ImmutableArray<AnalyzedSwitchLabel> labels, IOperation body, SyntaxNode syntaxToRemove) 28public readonly SyntaxNode SyntaxToRemove = syntaxToRemove;
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (3)
52public abstract bool CanImplicitlyConvert(SemanticModel semanticModel, SyntaxNode syntax, ITypeSymbol targetType); 376private (SyntaxNode Lower, SyntaxNode Higher) GetRangeBounds(IBinaryOperation op)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.cs (2)
245var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 261var updatedRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (11)
21public abstract SyntaxNode CreateSwitchExpressionStatement(TExpressionSyntax target, ImmutableArray<AnalyzedSwitchSection> sections, Feature feature); 22public abstract SyntaxNode CreateSwitchStatement(TIfStatementSyntax ifStatement, TExpressionSyntax target, IEnumerable<SyntaxNode> sectionList); 23public abstract IEnumerable<SyntaxNode> AsSwitchSectionStatements(IOperation operation); 24public abstract SyntaxNode AsSwitchLabelSyntax(AnalyzedSwitchLabel label, Feature feature); 25protected abstract SyntaxTriviaList GetLeadingTriviaToTransfer(SyntaxNode syntaxToRemove); 36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 41var @switch = convertToSwitchExpression 45var lastNode = sections.Last().SyntaxToRemove; 58private SyntaxNode AsSwitchSectionSyntax(AnalyzedSwitchSection section, SyntaxGenerator generator, Feature feature) 61var sectionNode = section.Labels.IsDefault
ConvertLinq\AbstractConvertLinqQueryToForEachProvider.cs (5)
17where TQueryExpression : SyntaxNode 18where TStatement : SyntaxNode 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70public SyntaxNode UpdateRoot(SyntaxNode root)
ConvertLinq\ConvertForEachToLinqQuery\AbstractConvertForEachToLinqQueryProvider.cs (5)
18where TStatement : SyntaxNode 62protected abstract SyntaxNode AddLinqUsing( 63IConverter<TForEachStatement, TStatement> converter, SemanticModel semanticModel, SyntaxNode root); 153var newRoot = editor.GetChangedRoot(); 154var rootWithLinqUsing = AddLinqUsing(converter, converter.ForEachInfo.SemanticModel, newRoot);
ConvertLinq\ConvertForEachToLinqQuery\ExtendedSyntaxNode.cs (3)
12SyntaxNode node, 16public SyntaxNode Node { get; } = node; 23SyntaxNode node,
ConvertNumericLiteral\AbstractConvertNumericLiteralCodeRefactoringProvider.cs (4)
21where TNumericLiteralExpression : SyntaxNode 59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 122static Task<Document> ReplaceTokenAsync(Document document, SyntaxNode root, SyntaxToken numericToken, long value, string text, string suffix) 127var updatedRoot = root.ReplaceToken(numericToken, updatedToken);
ConvertToInterpolatedString\AbstractConvertConcatenationToInterpolatedStringRefactoringProvider.cs (31)
26where TExpressionSyntax : SyntaxNode 52var declarator = top.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsVariableDeclarator); 70using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var pieces); 95foreach (var literal in stringLiterals) 118Document document, SyntaxNode top, bool isVerbatimStringLiteral, ImmutableArray<SyntaxNode> pieces, CancellationToken cancellationToken) 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 121var interpolatedString = await CreateInterpolatedStringAsync( 127protected async Task<SyntaxNode> CreateInterpolatedStringAsync( 130ImmutableArray<SyntaxNode> pieces, 145using var _ = ArrayBuilder<SyntaxNode>.GetInstance(pieces.Length, out var content); 148foreach (var piece in pieces) 168var existingInterpolatedStringTextNode = content.Last(); 169var newText = ConcatenateTextToTextNode(generator, existingInterpolatedStringTextNode, textWithoutQuotes, valueTextWithEscapedBraces); 185foreach (var contentPart in contentParts) 195var newText = ConcatenateTextToTextNode(generator, content.Last(), contentPart.GetFirstToken().Text, contentPart.GetFirstToken().ValueText); 210var converted = TryRemoveToString(piece); 226SyntaxNode TryRemoveToString(SyntaxNode piece) 235syntaxFacts.GetPartsOfInvocationExpression(piece, out var memberAccess, out var argumentList); 238syntaxFacts.GetPartsOfMemberAccessExpression(memberAccess, out var expression, out var name); 256private static SyntaxNode ConcatenateTextToTextNode(SyntaxGenerator generator, SyntaxNode interpolatedStringTextNode, string textWithoutQuotes, string value) 267ArrayBuilder<SyntaxNode> pieces, 268SyntaxNode node, 278syntaxFacts.GetPartsOfBinaryExpression(node, out var left, out var right); 285ISyntaxFactsService syntaxFacts, SyntaxNode? expression,
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (17)
33where TExpressionSyntax : SyntaxNode 37where TArgumentSyntax : SyntaxNode 38where TArgumentListExpressionSyntax : SyntaxNode 39where TInterpolationSyntax : SyntaxNode 61var placeholderExpression = syntaxFacts.GetExpressionOfArgument(placeholderArgument); 74var argument = arguments[i]; 90var lastArgument = syntaxFacts.GetArgumentsOfInvocationExpression(invocation).Last(); 91var lastArgumentExpression = syntaxFacts.GetExpressionOfArgument(lastArgument); 109foreach (var argument in arguments) 200var expression = syntaxFacts.GetExpressionOfArgument(argument); 276var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 281using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 284while (stack.TryPop(out var node)) 301var childNode = child.AsNode(); 314var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 346var replacementNode = shouldReplaceInvocation 393var argumentExpression = syntaxFacts.GetExpressionOfArgument(argument);
ConvertToInterpolatedString\ConvertRegularStringToInterpolatedStringRefactoringProvider.cs (11)
34var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46var literalExpression = token.GetRequiredParent(); 60var declarator = literalExpression.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsVariableDeclarator); 69var attribute = literalExpression.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsAttribute); 90private static SyntaxNode CreateInterpolatedString(Document document, SyntaxNode literalExpression, bool isVerbatim) 95var newNode = generator.InterpolatedStringText( 106private static Task<Document> UpdateDocumentAsync(Document document, SyntaxNode root, SyntaxToken token) 109var literalExpression = token.GetRequiredParent();
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (42)
48where TExpressionSyntax : SyntaxNode 54where TArgumentSyntax : SyntaxNode 55where TTupleTypeSyntax : SyntaxNode 56where TTypeBlockSyntax : SyntaxNode 57where TNamespaceDeclarationSyntax : SyntaxNode 121SyntaxNode tupleExprOrTypeNode, 127var containingMember = GetContainingMember(context.Document, tupleExprOrTypeNode); 164private static SyntaxNode? GetContainingMember(Document document, SyntaxNode tupleExprOrTypeNode) 167return tupleExprOrTypeNode.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>((node, syntaxFacts) => syntaxFacts.IsMethodLevelMember(node), syntaxFacts); 183private static async Task<(SyntaxNode, INamedTypeSymbol)> TryGetTupleInfoAsync( 188var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 198var expressionOrType = 199parsedDocument.TryGetRelevantNode<TTupleTypeSyntax>(span, cancellationToken) as SyntaxNode ?? 255var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 257var newRoot = root.ReplaceToken(token, token.WithAdditionalAnnotations(RenameAnnotation.Create())); 272var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 275var container = tupleExprOrTypeNode.GetAncestor<TNamespaceDeclarationSyntax>() ?? root; 327SyntaxNode tupleExprOrTypeNode, INamedTypeSymbol tupleType, 365var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 383foreach (var container in nodesToUpdate) 419Document document, SyntaxNode tupleExprOrTypeNode, 518Document startingDocument, SyntaxNode tupleExprOrTypeNode, CancellationToken cancellationToken) 543Document document, SyntaxNode tupleExprOrTypeNode) 545var containingMember = GetContainingMember(document, tupleExprOrTypeNode); 553Document document, SyntaxNode tupleExprOrTypeNode, INamedTypeSymbol namedTypeSymbol, 557var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 569var container = tupleExprOrTypeNode.GetAncestor<TNamespaceDeclarationSyntax>() ?? root; 591var newRoot = editor.GetChangedRoot(); 615SyntaxNode startingNode, INamedTypeSymbol tupleType, TNameSyntax fullyQualifiedStructName, 617SyntaxNode containerToUpdate, CancellationToken cancellationToken) 635SyntaxNode startingNode, INamedTypeSymbol tupleType, TNameSyntax qualifiedTypeName, 637SyntaxNode containingMember, CancellationToken cancellationToken) 691TNameSyntax qualifiedTypeName, SyntaxNode startingCreationNode, TTupleExpressionSyntax childCreation, 735var expr = generator.SyntaxFacts.GetExpressionOfArgument(argument); 748Document document, SyntaxEditor editor, SyntaxNode startingNode, 751SyntaxNode containingMember, CancellationToken cancellationToken) 781TNameSyntax qualifiedTypeName, SyntaxNode startingNode, TTupleTypeSyntax childTupleType) 885var valueNode = generator.IdentifierName(ValueName); 886var arguments = tupleType.TupleElements.SelectAsArray<IFieldSymbol, SyntaxNode>( 890var convertToTupleStatement = generator.ReturnStatement( 893var convertToStructStatement = generator.ReturnStatement(
ConvertTupleToStruct\DocumentToUpdate.cs (2)
9internal readonly struct DocumentToUpdate(Document document, ImmutableArray<SyntaxNode> nodesToUpdate) 20public readonly ImmutableArray<SyntaxNode> NodesToUpdate = nodesToUpdate;
Copilot\ICopilotCodeAnalysisService.cs (2)
69Task<ImmutableDictionary<SyntaxNode, ImplementationDetails>> ImplementNotImplementedExceptionsAsync( 71ImmutableDictionary<SyntaxNode, ImmutableArray<ReferencedSymbol>> methodOrProperties,
Copilot\ImplementationDetails.cs (1)
21public SyntaxNode? ReplacementNode { get; init; }
Debugging\AbstractDataTipInfoGetter.cs (1)
19where TExpressionSyntax : SyntaxNode
DesignerAttribute\DesignerAttributeDiscoveryService.cs (6)
295var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 300var firstClass = FindFirstNonNestedClass(syntaxFacts.GetMembersOfCompilationUnit(root)); 363SyntaxNode? FindFirstNonNestedClass(SyntaxList<SyntaxNode> members) 365foreach (var member in members) 370var firstClass = FindFirstNonNestedClass(syntaxFacts.GetMembersOfBaseNamespaceDeclaration(member));
Diagnostics\Analyzers\UnboundIdentifiersDiagnosticAnalyzerBase.cs (7)
24where TSimpleNameSyntax : SyntaxNode 25where TQualifiedNameSyntax : SyntaxNode 26where TIncompleteMemberSyntax : SyntaxNode 30protected abstract bool IsNameOf(SyntaxNode node); 67private void ReportUnboundIdentifierNames(SyntaxNodeAnalysisContext context, SyntaxNode member) 70foreach (var typeName in typeNames) 86private static bool IsQualifiedOrSimpleName(SyntaxNode n)
Diagnostics\Service\DiagnosticAnalyzerService.IncrementalMemberEditAnalyzer.cs (7)
69var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 190private async Task<(SyntaxNode changedMember, int changedMemberId, ImmutableArray<TextSpan> memberSpans, Document lastDocument)?> TryGetChangedMemberAsync( 192SyntaxNode root, 202var changedMember = await documentDifferenceService.GetChangedMemberAsync(lastDocument, document, cancellationToken).ConfigureAwait(false); 211using var _ = ArrayBuilder<SyntaxNode>.GetInstance(discardLargeInstances: false, out var members); 247var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 250using var _ = ArrayBuilder<SyntaxNode>.GetInstance(discardLargeInstances: false, out var members);
Diagnostics\Service\DocumentAnalysisExecutor.cs (3)
280var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 281var startNode = service.GetContainingMemberDeclaration(root, span.Value.Start); 282var endNode = service.GetContainingMemberDeclaration(root, span.Value.End);
DocumentationComments\AbstractDocumentationCommentSnippetService.cs (2)
18where TDocumentationComment : SyntaxNode, IStructuredTriviaSyntax 19where TMemberNode : SyntaxNode
DocumentationComments\CopilotDocumentationCommentGenerator.cs (1)
30public static DocumentationCommentProposal? GetSnippetProposal(string comments, SyntaxNode memberNode, int? position, int caret)
DocumentationComments\DocumentationCommentSnippet.cs (2)
34public SyntaxNode? MemberNode { get; } 42internal DocumentationCommentSnippet(TextSpan spanToReplace, string snippetText, int caretOffset, int? position, SyntaxNode? memberNode, string? indentText)
DocumentHighlighting\AbstractDocumentHighlightsService.cs (2)
97var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 324var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false);
EditAndContinue\AbstractEditAndContinueAnalyzer.ActiveMembersBuilder.cs (6)
25private readonly PooledDictionary<SyntaxNode, SyntaxNode> _declarations = PooledDictionary<SyntaxNode, SyntaxNode>.GetInstance(); 51internal void Add(SyntaxNode oldMemberDeclaration, SyntaxNode newMemberDeclaration)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (354)
79private Action<SyntaxNode>? _testFaultInjector; 94internal abstract bool TryFindMemberDeclaration(SyntaxNode? root, SyntaxNode node, TextSpan activeSpan, out OneOrMany<SyntaxNode> declarations); 109internal abstract MemberBody? TryGetDeclarationBody(SyntaxNode node, ISymbol? symbol); 114internal abstract bool IsDeclarationWithSharedBody(SyntaxNode declaration, ISymbol member); 121protected abstract LambdaBody? FindEnclosingLambdaBody(SyntaxNode encompassingAncestor, SyntaxNode node); 123protected abstract Match<SyntaxNode> ComputeTopLevelMatch(SyntaxNode oldCompilationUnit, SyntaxNode newCompilationUnit); 124protected abstract BidirectionalMap<SyntaxNode>? ComputeParameterMap(SyntaxNode oldDeclaration, SyntaxNode newDeclaration); 125protected abstract IEnumerable<SequenceEdit> GetSyntaxSequenceEdits(ImmutableArray<SyntaxNode> oldNodes, ImmutableArray<SyntaxNode> newNodes); 133/// In case there are multiple breakpoint spans starting at the <see cref="SyntaxNode.SpanStart"/> of the <paramref name="node"/>, 144protected abstract bool TryGetActiveSpan(SyntaxNode node, int statementPart, int minLength, out TextSpan span); 154protected abstract IEnumerable<(SyntaxNode statement, int statementPart)> EnumerateNearStatements(SyntaxNode statement); 156protected abstract bool StatementLabelEquals(SyntaxNode node1, SyntaxNode node2); 165protected abstract bool AreEquivalentActiveStatements(SyntaxNode oldStatement, SyntaxNode newStatement, int statementPart); 175protected abstract bool IsNamespaceDeclaration(SyntaxNode node); 176protected abstract bool IsCompilationUnitWithGlobalStatements(SyntaxNode node); 177protected abstract bool IsGlobalStatement(SyntaxNode node); 182protected abstract IEnumerable<SyntaxNode> GetTopLevelTypeDeclarations(SyntaxNode compilationUnit); 192SyntaxNode? oldNode, 194SyntaxNode? newNode, 198Match<SyntaxNode> topMatch, 199IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 208SyntaxNode? oldNode, 209SyntaxNode? newNode, 216SyntaxNode? oldNode, 217SyntaxNode? newNode, 220Match<SyntaxNode> topMatch, 221IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 263protected abstract TextSpan? TryGetDiagnosticSpan(SyntaxNode node, EditKind editKind); 265internal TextSpan GetDiagnosticSpan(SyntaxNode node, EditKind editKind) 268protected virtual TextSpan GetBodyDiagnosticSpan(SyntaxNode node, EditKind editKind) 270var current = node.Parent; 288internal abstract TextSpan GetLambdaParameterDiagnosticSpan(SyntaxNode lambda, int ordinal); 310internal string GetDisplayName(SyntaxNode node, EditKind editKind = EditKind.Update) 361protected virtual string GetBodyDisplayName(SyntaxNode node, EditKind editKind = EditKind.Update) 363var current = node.Parent; 391protected abstract string? TryGetDisplayName(SyntaxNode node, EditKind editKind); 393protected virtual string GetSuspensionPointDisplayName(SyntaxNode node, EditKind editKind) 399protected abstract List<SyntaxNode> GetExceptionHandlingAncestors(SyntaxNode node, SyntaxNode root, bool isNonLeaf); 400protected abstract TextSpan GetExceptionHandlingRegion(SyntaxNode node, out bool coversAllChildren); 402internal abstract void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, Match<SyntaxNode> match, Edit<SyntaxNode> edit, Dictionary<SyntaxNode, EditKind> editMap); 403internal abstract void ReportEnclosingExceptionHandlingRudeEdits(RudeEditDiagnosticsBuilder diagnostics, IEnumerable<Edit<SyntaxNode>> exceptionHandlingEdits, SyntaxNode oldStatement, TextSpan newStatementSpan); 405internal abstract bool HasUnsupportedOperation(IEnumerable<SyntaxNode> newNodes, [NotNullWhen(true)] out SyntaxNode? unsupportedNode, out RudeEditKind rudeEdit); 409if (HasUnsupportedOperation(body.GetDescendantNodes(IsNotLambda), out var unsupportedNode, out var rudeEdit)) 420IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, 421SyntaxNode oldActiveStatement, 424SyntaxNode newActiveStatement, 430internal abstract void ReportInsertedMemberSymbolRudeEdits(RudeEditDiagnosticsBuilder diagnostics, ISymbol newSymbol, SyntaxNode newNode, bool insertingIntoExistingContainingType); 431internal abstract void ReportStateMachineSuspensionPointRudeEdits(DiagnosticContext diagnosticContext, SyntaxNode oldNode, SyntaxNode newNode); 433internal abstract Func<SyntaxNode, bool> IsLambda { get; } 434internal abstract Func<SyntaxNode, bool> IsNotLambda { get; } 435internal abstract Func<SyntaxNode, IEnumerable<SyntaxToken>> DescendantTokensIgnoringLambdaBodies { get; } 438internal abstract bool IsInterfaceDeclaration(SyntaxNode node); 439internal abstract bool IsRecordDeclaration(SyntaxNode node); 444internal abstract bool IsNestedFunction(SyntaxNode node); 446internal abstract bool IsLocalFunction(SyntaxNode node); 447internal abstract bool IsGenericLocalFunction(SyntaxNode node); 448internal abstract bool IsClosureScope(SyntaxNode node); 449internal abstract SyntaxNode GetCapturedParameterScope(SyntaxNode declaringMethodOrLambda); 450internal abstract IMethodSymbol GetLambdaExpressionSymbol(SemanticModel model, SyntaxNode lambdaExpression, CancellationToken cancellationToken); 451internal abstract SyntaxNode? GetContainingQueryExpression(SyntaxNode node); 452internal abstract bool QueryClauseLambdasTypeEquivalent(SemanticModel oldModel, SyntaxNode oldNode, SemanticModel newModel, SyntaxNode newNode, CancellationToken cancellationToken); 470internal abstract bool TryGetLambdaBodies(SyntaxNode node, [NotNullWhen(true)] out LambdaBody? body1, out LambdaBody? body2); 472internal abstract bool IsStateMachineMethod(SyntaxNode declaration); 478internal abstract SyntaxNode? TryGetContainingTypeDeclaration(SyntaxNode node); 484internal abstract bool IsDeclarationWithInitializer(SyntaxNode declaration); 494internal abstract bool IsPrimaryConstructorDeclaration(SyntaxNode declaration); 503internal abstract SyntaxNode EmptyCompilationUnit { get; } 624using var _3 = ArrayBuilder<(SyntaxNode OldNode, SyntaxNode NewNode, TextSpan DiagnosticSpan)>.GetInstance(out var triviaEdits); 754private async ValueTask<(SyntaxNode oldRoot, SyntaxNode newRoot)> GetSyntaxRootsAsync(Document? oldDocument, Document? newDocument, CancellationToken cancellationToken) 756SyntaxNode? oldRoot = null; 757SyntaxNode? newRoot = null; 776SyntaxNode GetEmptyRoot(ParseOptions options) 792private void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode, EditKind> editMap) 800internal Dictionary<SyntaxNode, EditKind> BuildEditMap(EditScript<SyntaxNode> editScript) 802var map = new Dictionary<SyntaxNode, EditKind>(editScript.Edits.Length); 950Match<SyntaxNode> topMatch, 975var node = TryGetNode(topMatch.OldRoot, oldStatementSpan.Start); 980foreach (var oldMemberDeclaration in oldMemberDeclarations) 982var hasPartner = topMatch.TryGetNewNode(oldMemberDeclaration, out var newMemberDeclaration); 995var oldStatementSyntax = oldBody.FindStatement(oldStatementSpan, out var _); 1004SyntaxNode? newStatement = null; 1008if (TryGetTrackedStatement(newActiveStatementSpans, oldActiveStatements[i].Statement.Id, newText, newBody, out var trackedStatement, out var trackedStatementPart)) 1065internal readonly struct ActiveNode(int activeStatementIndex, SyntaxNode oldNode, LambdaBody? enclosingLambdaBody, int statementPart, SyntaxNode? newTrackedNode) 1068public readonly SyntaxNode OldNode = oldNode; 1069public readonly SyntaxNode? NewTrackedNode = newTrackedNode; 1106SyntaxNode? oldDeclaration, 1107SyntaxNode? newDeclaration, 1115Match<SyntaxNode> topMatch, 1196var oldStatementSyntax = oldMemberBody.FindStatement(oldStatementSpan, out var statementPart); 1217SyntaxNode? trackedNode = null; 1219if (TryGetTrackedStatement(newActiveStatementSpans, oldActiveStatements[activeStatementIndex].Statement.Id, newText, newMemberBody, out var newStatementSyntax, out var _)) 1326var oldStatementSyntax = activeNode.OldNode; 1351SyntaxNode? newStatementSyntax; 1408var oldLambda = oldEnclosingLambdaBody.GetLambda(); 1489private static bool TryGetTrackedStatement(ImmutableArray<ActiveStatementLineSpan> activeStatementSpans, ActiveStatementId id, SourceText text, MemberBody body, [NotNullWhen(true)] out SyntaxNode? trackedStatement, out int trackedStatementPart) 1534IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, 1535SyntaxNode oldStatementSyntax, 1536SyntaxNode oldEncompassingAncestor, 1537SyntaxNode? newStatementSyntax, 1538SyntaxNode newEncompassingAncestor, 1563var edits = new MapBasedLongestCommonSubsequence<SyntaxNode>(forwardMap).GetEdits(oldAncestors, newAncestors); 1583ArrayBuilder<(DeclarationBodyMap map, SyntaxNode? oldLambda)>? lambdaBodyMaps = null; 1584SyntaxNode? currentOldLambda = null; 1600lambdaBodyMaps ??= ArrayBuilder<(DeclarationBodyMap, SyntaxNode?)>.GetInstance(); 1634var map = new Dictionary<SyntaxNode, SyntaxNode>(); 1635var additionalReverseMap = ImmutableDictionary.CreateBuilder<SyntaxNode, SyntaxNode>(); 1740private static List<KeyValuePair<SyntaxNode, SyntaxNode>>? GetMatchingActiveNodes(IEnumerable<ActiveNode> activeNodes) 1743List<KeyValuePair<SyntaxNode, SyntaxNode>>? lazyKnownMatches = null; 1757public ActiveStatementExceptionRegions GetExceptionRegions(SyntaxNode root, TextSpan unmappedActiveStatementSpan, bool isNonLeaf, CancellationToken cancellationToken) 1759var node = root.FindToken(unmappedActiveStatementSpan.Start).Parent; 1766private ActiveStatementExceptionRegions GetExceptionRegions(List<SyntaxNode> exceptionHandlingAncestors, SyntaxTree tree, CancellationToken cancellationToken) 1799SyntaxNode oldEncompassingAncestor, 1800IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, 1806var oldLambda = oldLambdaBody.GetLambda(); 1822private TextSpan FindClosestActiveSpan(SyntaxNode statement, int statementPart) 1849internal TextSpan GetDeletedNodeActiveSpan(IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, SyntaxNode deletedNode) 1858if (forwardMap.TryGetValue(oldNode, out var newNode)) 1867internal TextSpan GetDeletedDeclarationActiveSpan(IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, SyntaxNode deletedDeclaration) 1877var hasAncestor = TryGetMatchingAncestor(forwardMap, deletedDeclaration, out var newAncestor); 1889internal TextSpan GetDeletedNodeDiagnosticSpan(IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, SyntaxNode deletedNode) 1891var hasAncestor = TryGetMatchingAncestor(forwardMap, deletedNode, out var newAncestor); 1899private static bool TryGetMatchingAncestor(IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMap, SyntaxNode? oldNode, [NotNullWhen(true)] out SyntaxNode? newAncestor) 1917protected static bool HasParentEdit(IReadOnlyDictionary<SyntaxNode, EditKind> editMap, Edit<SyntaxNode> edit) 1919SyntaxNode node; 1937protected static bool HasEdit(IReadOnlyDictionary<SyntaxNode, EditKind> editMap, SyntaxNode? node, EditKind editKind) 1949protected void AddAroundActiveStatementRudeDiagnostic(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode? oldNode, SyntaxNode? newNode, TextSpan newActiveStatementSpan) 1967protected void AddRudeTypeUpdateAroundActiveStatement(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode newNode, ITypeSymbol oldType, ITypeSymbol newType) 1976protected void AddRudeUpdateAroundActiveStatement(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode newNode) 1985protected void AddRudeInsertAroundActiveStatement(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode newNode) 1994protected void AddRudeDeleteAroundActiveStatement(RudeEditDiagnosticsBuilder diagnostics, SyntaxNode oldNode, TextSpan newActiveStatementSpan) 2005IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseMap, 2006SyntaxNode oldActiveStatement, 2007SyntaxNode oldEncompassingAncestor, 2009SyntaxNode newActiveStatement, 2010SyntaxNode newEncompassingAncestor, 2012Func<SyntaxNode, bool> nodeSelector, 2013Func<TSyntaxNode, OneOrMany<SyntaxNode>> getTypedNodes, 2017where TSyntaxNode : SyntaxNode 2049private void ReportRudeEditsAndInserts(List<SyntaxNode?>? oldNodes, List<SyntaxNode?> newNodes, RudeEditDiagnosticsBuilder diagnostics) 2055var newNode = newNodes[i]; 2075List<SyntaxNode?> oldNodes, 2077List<SyntaxNode?> newNodes, 2080IReadOnlyDictionary<SyntaxNode, SyntaxNode>? reverseMap, 2081Func<TSyntaxNode, OneOrMany<SyntaxNode>> getTypedNodes, 2085where TSyntaxNode : SyntaxNode 2091var newNode = newNodes[newIndex]; 2097SyntaxNode? oldNode; 2121else if (reverseMap.TryGetValue(newNode, out var oldPartner) && comparer((TSyntaxNode)oldPartner, (TSyntaxNode)newNode)) 2172private static int IndexOfEquivalent<TSyntaxNode>(SyntaxNode newNode, List<SyntaxNode?> oldNodes, int startIndex, Func<TSyntaxNode, TSyntaxNode, bool> comparer) 2173where TSyntaxNode : SyntaxNode 2177var oldNode = oldNodes[i]; 2187private static List<SyntaxNode?>? GetAncestors(SyntaxNode? root, SyntaxNode node, Func<SyntaxNode, bool> nodeSelector) 2189List<SyntaxNode?>? list = null; 2190var current = node; 2221Match<SyntaxNode> topMatch, 2222IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 2223[Out] ArrayBuilder<(SyntaxNode OldNode, SyntaxNode NewNode, TextSpan DiagnosticSpan)> triviaEdits, 2238using var _ = ArrayBuilder<(string filePath, int oldStartLine, int oldEndLine, int delta, SyntaxNode oldNode, SyntaxNode newNode)>.GetInstance(out var segments); 2682public readonly Dictionary<SyntaxNode, SyntaxMaps> ChangedDeclarations = []; 2699EditScript<SyntaxNode> editScript, 2700IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 2703IReadOnlyList<(SyntaxNode OldNode, SyntaxNode NewNode, TextSpan DiagnosticSpan)> triviaEdits, 2771var newTypeDeclaration = GetSymbolDeclarationSyntax(newSymbol, refs => refs.First(r => r.SyntaxTree == edit.NewNode!.SyntaxTree), cancellationToken); 3663SyntaxNode? newDeclaration, 3707(SyntaxNode? oldDeclaration, SyntaxNode? newDeclaration) GetSymbolDeclarationNodes(ISymbol? oldSymbol, ISymbol? newSymbol, SyntaxNode? oldNode, SyntaxNode? newNode) 4060var oldRoot = oldModel.SyntaxTree.GetRoot(cancellationToken); 4061foreach (var oldTypeDeclaration in GetTopLevelTypeDeclarations(oldRoot)) 4091var newRoot = newModel.SyntaxTree.GetRoot(cancellationToken); 4092foreach (var newTypeDeclaration in GetTopLevelTypeDeclarations(newRoot)) 4125private bool IsRestartRequired(ISymbol oldMember, SyntaxNode? oldDeclaration, Compilation oldCompilation, ISymbol newMember, SyntaxNode? newDeclaration, CancellationToken cancellationToken) 4168EditScript<SyntaxNode> editScript, 4176SyntaxNode? newDeclaration, 4259SyntaxNode? oldDeclaration, 4263SyntaxNode? newDeclaration, 4787/// and therefore not produced by <see cref="GetSymbolEdits(EditKind, SyntaxNode?, SyntaxNode?, DocumentSemanticModel, DocumentSemanticModel, Match{SyntaxNode}, IReadOnlyDictionary{SyntaxNode, EditKind}, SymbolInfoCache, CancellationToken)"/> 5160SyntaxNode? newNode, 5162Match<SyntaxNode>? topMatch, 5188private SyntaxNode GetDiagnosticNode(out int distance, CancellationToken cancellationToken) 5208var oldContainerDeclaration = analyzer.GetSymbolDeclarationSyntax(oldSymbol.ContainingSymbol, topMatch.OldRoot.SyntaxTree, cancellationToken); 5210topMatch.TryGetNewNode(oldContainerDeclaration, out var newContainerDeclaration)) 5222var node = analyzer.GetSymbolDeclarationSyntax(newDiagnosticSymbol, newModel.SyntaxTree, cancellationToken); 5275public void Report(RudeEditKind kind, SyntaxNode locationNode, CancellationToken cancellationToken, string?[]? arguments = null) 5296var node = GetDiagnosticNode(out var distance, cancellationToken); 5301topMatch?.TryGetOldNode(node, out var oldNode) == true && 5367SyntaxNode? newNode, 5369Match<SyntaxNode>? topMatch, 5482private static Func<SyntaxNode, SyntaxNode?> CreateSyntaxMapForEquivalentNodes(MemberBody oldBody, MemberBody newBody) 5490private static Func<SyntaxNode, SyntaxNode?> CreateSyntaxMap(DeclarationBodyMap bodyMap) 5495return newNode => reverseMatch.TryGetValue(newNode, out var oldNode) || additionalReverse.TryGetValue(newNode, out oldNode) ? oldNode : null; 5500IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseTopMatches, 5501IReadOnlyDictionary<SyntaxNode, SyntaxMaps> changedDeclarations) 5513foreach (var newDeclaration in newDeclarations) 5525if (reverseTopMatches.TryGetValue(newDeclaration, out var oldDeclaration)) 5549foreach (var newDeclaration in newDeclarations) 5568Match<SyntaxNode> topMatch, 5622SyntaxNode? oldDeclaration = null; 5623SyntaxNode? newDeclaration = null; 5786var syntax = GetSymbolDeclarationSyntax(member, cancellationToken); 5833SyntaxNode? oldDeclaration, 5837SyntaxNode? newDeclaration, 5844out Func<SyntaxNode, RuntimeRudeEdit?>? runtimeRudeEdits, 5851using var _ = PooledDictionary<SyntaxNode, RudeEditDiagnostic>.GetInstance(out var runtimeRudeEditsBuilder); 5869var oldLambda = oldLambdaBody.GetLambda(); 5870var newLambda = newLambdaBody.GetLambda(); 5954ArrayBuilder<SyntaxNode>? lazyNewErroneousClauses = null; 5959lazyNewErroneousClauses ??= ArrayBuilder<SyntaxNode>.GetInstance(); 5966foreach (var newQueryClause in from clause in lazyNewErroneousClauses 6038using var _2 = ArrayBuilder<SyntaxNode?>.GetInstance(newInLambdaCaptures.Length, fillWithValue: null, out var newCapturesToClosureScopes); 6042using var _3 = ArrayBuilder<SyntaxNode?>.GetInstance(oldInLambdaCaptures.Length, fillWithValue: null, out var oldCapturesToClosureScopes); 6099bool CanAddNewLambda(SyntaxNode newLambda, LambdaBody newLambdaBody1, LambdaBody? newLambdaBody2) 6161private IEnumerable<(SyntaxNode lambda, LambdaBody lambdaBody1, LambdaBody? lambdaBody2)> GetLambdaBodies(MemberBody? body) 6168foreach (var root in body.RootNodes) 6170foreach (var node in root.DescendantNodesAndSelf()) 6180private IEnumerable<LambdaBody> GetEnclosingLambdaBodies(SyntaxNode encompassingAncestor, SyntaxNode node) 6374foreach (var expressionOrStatement in lambdaBody.GetExpressionsAndStatements()) 6414protected abstract SyntaxNode? GetSymbolDeclarationSyntax(ISymbol symbol, Func<ImmutableArray<SyntaxReference>, SyntaxReference?> selector, CancellationToken cancellationToken); 6416protected SyntaxNode GetSymbolDeclarationSyntax(ISymbol symbol, CancellationToken cancellationToken) 6419protected SyntaxNode? GetSingleSymbolDeclarationSyntax(ISymbol symbol, CancellationToken cancellationToken) 6422protected SyntaxNode? GetSymbolDeclarationSyntax(ISymbol symbol, SyntaxTree tree, CancellationToken cancellationToken) 6425protected abstract ISymbol? GetDeclaredSymbol(SemanticModel model, SyntaxNode declaration, CancellationToken cancellationToken); 6427protected ISymbol GetRequiredDeclaredSymbol(SemanticModel model, SyntaxNode declaration, CancellationToken cancellationToken) 6458var lambda = parameter.ContainingSymbol is IMethodSymbol { MethodKind: MethodKind.LambdaMethod or MethodKind.LocalFunction } containingLambda ? 6473IReadOnlyDictionary<SyntaxNode, SyntaxNode>? parameterMap, 6474IReadOnlyDictionary<SyntaxNode, SyntaxNode> bodyMap, 6480SyntaxNode? mappedParameter = null; 6487else if (bodyMap.TryGetValue(parameterKey.ContainingLambda, out var mappedContainingLambdaSyntax)) 6492if (bodyMap.TryGetValue(parameterKey.Syntax, out var mappedParameter)) 6511private readonly record struct CapturedParameterKey(ParameterKind Kind, SyntaxNode? Syntax = null, SyntaxNode? ContainingLambda = null); 6515SyntaxNode? oldDeclaration, 6518SyntaxNode? newDeclaration, 6522[Out] ArrayBuilder<SyntaxNode?> newCapturesToClosureScopes, // {new capture index -> new closure scope} 6523[Out] ArrayBuilder<SyntaxNode?> oldCapturesToClosureScopes, // {old capture index -> old closure scope} 6524[Out] Dictionary<SyntaxNode, RudeEditDiagnostic> closureRudeEdits, 6527BidirectionalMap<SyntaxNode>? parameterMap = null; 6549using var _1 = PooledDictionary<SyntaxNode, int>.GetInstance(out var oldLocalCaptures); 6593var newCaptureSyntax = GetSymbolDeclarationSyntax(local, cancellationToken); 6596if (!bodyMap.Reverse.TryGetValue(newCaptureSyntax, out var mappedOldSyntax) || 6662var oldScope = GetCapturedVariableScope(oldSymbol, cancellationToken); 6663var newScope = GetCapturedVariableScope(newSymbol, cancellationToken); 6679SyntaxNode oldLambda, 6680SyntaxNode newLambda, 6682IDictionary<SyntaxNode, RudeEditDiagnostic> runtimeRudeEditsBuilder, 6744private SyntaxNode GetCapturedVariableScope(ISymbol local, CancellationToken cancellationToken) 6750var scope = GetCapturedParameterScope(GetSymbolDeclarationSyntax(local.ContainingSymbol, cancellationToken)); 6755var node = GetSymbolDeclarationSyntax(local, cancellationToken); 6768private static bool AreEquivalentClosureScopes(SyntaxNode? oldScope, SyntaxNode? newScope, IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseMap) 6775return reverseMap.TryGetValue(newScope, out var mappedScope) && mappedScope == oldScope; 6818private SyntaxNode? GetFirstChangedChildIgnoringLambdaBodies(SyntaxNode oldNode, SyntaxNode newNode) 6828private static SyntaxNode? FindPartner(OneOrMany<SyntaxNode> rootNodes, OneOrMany<SyntaxNode> otherRootNodes, SyntaxNode otherNode) 6834var otherRootNode = otherRootNodes[i]; 6844internal static SyntaxNode FindPartner(SyntaxNode root, SyntaxNode otherRoot, SyntaxNode otherNode) 6852var originalLeftNode = otherNode; 6855var rightNode = root; 6876/// This is a copy of <see cref="SyntaxNode.ChildThatContainsPosition"/> that also returns the index of the child node. 6878internal static SyntaxNodeOrToken ChildThatContainsPosition(SyntaxNode self, int position, out int childIndex) 6912internal static void FindLeafNodeAndPartner(SyntaxNode leftRoot, int leftPosition, SyntaxNode rightRoot, out SyntaxNode leftNode, out SyntaxNode? rightNode) 6946private static SyntaxNode? TryGetNode(SyntaxNode root, int position) 6949internal static void AddNodes<T>(ArrayBuilder<SyntaxNode> nodes, SyntaxList<T> list) 6950where T : SyntaxNode 6958internal static void AddNodes<T>(ArrayBuilder<SyntaxNode> nodes, SeparatedSyntaxList<T>? list) 6959where T : SyntaxNode 7028private bool InGenericLocalContext(SyntaxNode node, OneOrMany<SyntaxNode> roots) 7030var current = node; 7072public IMethodSymbol? GetEncompassingPrimaryConstructor(SyntaxNode declaration, ISymbol symbol, CancellationToken cancellationToken) 7180internal Action<SyntaxNode>? FaultInjector 7186internal void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode, EditKind> editMap)
EditAndContinue\AbstractSimpleMemberBody.cs (6)
14internal abstract class AbstractSimpleMemberBody(SyntaxNode node) : MemberBody 16public SyntaxNode Node 22public sealed override OneOrMany<SyntaxNode> RootNodes 28public sealed override SyntaxNode EncompassingAncestor 31public sealed override IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens) 34public override IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\ActiveStatementsMap.cs (3)
169var oldRoot = await oldTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 174internal ImmutableArray<UnmappedActiveStatement> GetOldActiveStatements(IEditAndContinueAnalyzer analyzer, SyntaxTree oldSyntaxTree, SourceText oldText, SyntaxNode oldRoot, CancellationToken cancellationToken) 184private ImmutableArray<UnmappedActiveStatement> CalculateOldActiveStatementsAndExceptionRegions(IEditAndContinueAnalyzer analyzer, SyntaxTree oldTree, SourceText oldText, SyntaxNode oldRoot, CancellationToken cancellationToken)
EditAndContinue\DeclarationBody.cs (16)
23public abstract OneOrMany<SyntaxNode> RootNodes { get; } 32public virtual IEnumerable<SyntaxNode> GetExpressionsAndStatements() 34foreach (var root in RootNodes) 40public IEnumerable<SyntaxNode> GetDescendantNodes(Func<SyntaxNode, bool> descendIntoChildren) 42foreach (var root in GetExpressionsAndStatements()) 44foreach (var node in root.DescendantNodesAndSelf(descendIntoChildren)) 52/// <see cref="SyntaxNode"/> that includes all active tokens (<see cref="MemberBody.GetActiveTokens()"/>) 56public abstract SyntaxNode EncompassingAncestor { get; } 69public virtual DeclarationBodyMap ComputeMap(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches) 79public abstract Match<SyntaxNode>? ComputeSingleRootMatch(DeclarationBody newBody, IEnumerable<KeyValuePair<SyntaxNode, SyntaxNode>>? knownMatches); 85public abstract bool TryMatchActiveStatement(DeclarationBody newBody, SyntaxNode oldStatement, ref int statementPart, [NotNullWhen(true)] out SyntaxNode? newStatement);
EditAndContinue\DeclarationBodyMap.cs (23)
15SpecializedCollections.EmptyReadOnlyDictionary<SyntaxNode, SyntaxNode>(), 16SpecializedCollections.EmptyReadOnlyDictionary<SyntaxNode, SyntaxNode>(), 17ImmutableDictionary<SyntaxNode, SyntaxNode>.Empty); 19public IReadOnlyDictionary<SyntaxNode, SyntaxNode> Forward { get; } 20public IReadOnlyDictionary<SyntaxNode, SyntaxNode> Reverse { get; } 22public ImmutableDictionary<SyntaxNode, SyntaxNode> AdditionalReverseMapping { get; } 25IReadOnlyDictionary<SyntaxNode, SyntaxNode> forwardMatch, 26IReadOnlyDictionary<SyntaxNode, SyntaxNode> reverseMatch, 27ImmutableDictionary<SyntaxNode, SyntaxNode> additionalReverseMapping) 36public static DeclarationBodyMap FromMatch(Match<SyntaxNode> match) 37=> new(match.Matches, match.ReverseMatches, ImmutableDictionary<SyntaxNode, SyntaxNode>.Empty); 39public DeclarationBodyMap WithAdditionalMapping(SyntaxNode oldNode, SyntaxNode newNode)
EditAndContinue\EditSession.cs (10)
939var mergedUpdateEditSyntaxMaps = new Dictionary<SymbolKey, (Func<SyntaxNode, SyntaxNode?>? matchingNodes, Func<SyntaxNode, RuntimeRudeEdit?>? runtimeRudeEdits)>(symbolKeyComparer); 947Func<SyntaxNode, SyntaxNode?>? mergedMatchingNodes; 948Func<SyntaxNode, RuntimeRudeEdit?>? mergedRuntimeRudeEdits; 988return treeMap.TryGetValue(newNode.SyntaxTree, out var oldRoot) 1071private static async ValueTask<ImmutableDictionary<SyntaxTree, SyntaxNode>> GetPartialTypeDeclarationTreeMapAsync( 1081var map = ImmutableDictionary.CreateBuilder<SyntaxTree, SyntaxNode>(); 1099var oldRoot = await oldDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
EditAndContinue\IEditAndContinueAnalyzer.cs (1)
28ActiveStatementExceptionRegions GetExceptionRegions(SyntaxNode syntaxRoot, TextSpan unmappedActiveStatementSpan, bool isNonLeaf, CancellationToken cancellationToken);
EditAndContinue\LambdaBody.cs (2)
9public abstract SyntaxNode GetLambda(); 16public abstract LambdaBody? TryGetPartnerLambdaBody(SyntaxNode newLambda);
EditAndContinue\MemberBody.cs (5)
41public abstract IEnumerable<SyntaxToken>? GetActiveTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens); 49public abstract IEnumerable<SyntaxToken> GetUserCodeTokens(Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens); 56public abstract SyntaxNode FindStatementAndPartner(TextSpan span, MemberBody? partnerDeclarationBody, out SyntaxNode? partnerStatement, out int statementPart); 58public SyntaxNode FindStatement(TextSpan span, out int statementPart)
EditAndContinue\RudeEditDiagnostic.cs (1)
36internal RudeEditDiagnostic(RudeEditKind kind, TextSpan span, SyntaxNode? node = null, string?[]? arguments = null)
EditAndContinue\SemanticEditInfo.cs (6)
20public readonly Func<SyntaxNode, SyntaxNode?>? MatchingNodes; 21public readonly Func<SyntaxNode, RuntimeRudeEdit?>? RuntimeRudeEdits; 25Func<SyntaxNode, SyntaxNode?>? matchingNodes = null, 26Func<SyntaxNode, RuntimeRudeEdit?>? runtimeRudeEdits = null)
EditAndContinue\Utilities\Extensions.cs (7)
286public static SyntaxNode FindCorrespondingNodeInEquivalentTree(this SyntaxNode otherRoot, SyntaxNode node) 292var parent = node.Parent; 300var otherNode = otherRoot; 309static int GetChildIndex(SyntaxNode parent, SyntaxNode node)
EmbeddedLanguages\AbstractLanguageDetector.cs (8)
30protected abstract bool IsArgumentToWellKnownAPI(SyntaxToken token, SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken, out TOptions options); 37protected abstract bool TryGetOptions(SemanticModel semanticModel, ITypeSymbol exprType, SyntaxNode expr, CancellationToken cancellationToken, out TOptions options); 108SyntaxNode argument, 113var argumentList = argument.GetRequiredParent(); 117foreach (var siblingArg in arguments) 121var expr = syntaxFacts.IsArgument(argument) 139protected static string? GetNameOfType(SyntaxNode? typeNode, ISyntaxFacts syntaxFacts) 153protected string? GetNameOfInvokedExpression(SyntaxNode invokedExpression)
EmbeddedLanguages\Classification\AbstractEmbeddedLanguageClassificationService.cs (2)
57var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 84public void VisitTokens(SyntaxNode node)
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeEmbeddedLanguage.cs (2)
31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 40private static SyntaxToken GetToken(ISyntaxFactsService syntaxFacts, SyntaxNode root, int position)
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (10)
40protected override bool TryGetOptions(SemanticModel semanticModel, ITypeSymbol exprType, SyntaxNode expr, CancellationToken cancellationToken, out DateAndTimeOptions options) 57var interpolationFormatClause = token.Parent; 58var interpolation = interpolationFormatClause?.Parent; 62var expression = syntaxFacts.GetExpressionOfInterpolation(interpolation); 69SyntaxNode argumentNode, 76var argumentList = argumentNode.Parent; 77var invocationOrCreation = argumentList?.Parent; 83var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(invocationOrCreation); 115private static string? GetNameOfInvokedExpression(ISyntaxFacts syntaxFacts, SyntaxNode invokedExpression) 133private (string? name, int? index) GetArgumentNameOrIndex(SyntaxNode argument)
EmbeddedLanguages\EmbeddedLanguageDetector.cs (33)
102for (var node = token.Parent; node != null; node = node.Parent) 165var interpolationFormatClause = token.Parent; 166var interpolation = interpolationFormatClause?.Parent; 170var expression = syntaxFacts.GetExpressionOfInterpolation(interpolation); 216var container = TryFindContainer(token); 232syntaxFacts.GetPartsOfNamedMemberInitializer(container.Parent, out var name, out _); 238var statement = container.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement); 241syntaxFacts.GetPartsOfAssignmentStatement(statement, out var left, out var right); 254var variableDeclarator = container.Parent.Parent; 264var property = container.Parent.GetRequiredParent(); 303var container = TryFindContainer(token); 307var statement = container.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement); 310syntaxFacts.GetPartsOfAssignmentStatement(statement, out var left, out var right); 319var variableDeclarator = container.Parent.Parent; 333SyntaxNode tokenParent, 344var block = tokenParent.AncestorsAndSelf().FirstOrDefault(blockFacts.IsExecutableBlock); 349foreach (var statement in blockFacts.GetExecutableBlockStatements(block)) 360SyntaxNode tokenParent, 376var typeDeclaration = tokenParent.AncestorsAndSelf().FirstOrDefault(syntaxFacts.IsTypeDeclaration); 386SyntaxNode node, 393foreach (var descendent in node.DescendantNodesAndSelf()) 419private SyntaxNode? TryFindContainer(SyntaxToken token) 422var node = syntaxFacts.WalkUpParentheses(token.GetRequiredParent()); 424if (syntaxFacts.IsAnyInitializerExpression(node.Parent, out var instance)) 440SyntaxNode argument, 456SyntaxNode argument, 470SyntaxNode left, 540private static string? GetNameOfType(SyntaxNode? typeNode, ISyntaxFacts syntaxFacts) 554private string? GetNameOfInvokedExpression(SyntaxNode invokedExpression)
EmbeddedLanguages\Json\LanguageServices\AbstractJsonDetectionAnalyzer.cs (2)
55SyntaxNode node, 67if (child.AsNode(out var childNode))
EmbeddedLanguages\Json\LanguageServices\AbstractJsonDiagnosticAnalyzer.cs (3)
46using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 49while (stack.TryPop(out var currentNode)) 58if (child.AsNode(out var childNode))
EmbeddedLanguages\Json\LanguageServices\JsonLanguageDetector.cs (11)
127SyntaxNode argumentNode, 133var argumentList = argumentNode.GetRequiredParent(); 134var invocationOrCreation = argumentList.Parent; 137var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(invocationOrCreation); 160SemanticModel semanticModel, ITypeSymbol exprType, SyntaxNode expr, CancellationToken cancellationToken, out JsonOptions options) 176syntaxFacts.GetPartsOfBaseObjectCreationExpression(expr, out var argumentList, out var objectInitializer); 180foreach (var initializer in initializers) 184syntaxFacts.GetPartsOfNamedMemberInitializer(initializer, out var name, out var initExpr); 205SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken)
EmbeddedLanguages\RegularExpressions\LanguageServices\AbstractRegexDiagnosticAnalyzer.cs (3)
52var root = context.GetAnalysisRoot(findInTrivia: true); 53using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 56while (stack.TryPop(out var current))
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexEmbeddedLanguage.cs (1)
36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexLanguageDetector.cs (8)
75SyntaxNode argumentNode, 87var argumentList = argumentNode.GetRequiredParent(); 88var invocationOrCreation = argumentList.Parent; 91var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(invocationOrCreation); 114var typeNode = syntaxFacts.GetTypeOfObjectCreationExpression(invocationOrCreation); 145SyntaxNode argumentNode, 167SyntaxNode argumentNode, 185SemanticModel semanticModel, ITypeSymbol exprType, SyntaxNode expr, CancellationToken cancellationToken, out RegexOptions options)
EncapsulateField\AbstractEncapsulateFieldService.cs (10)
32where TConstructorDeclarationSyntax : SyntaxNode 41protected abstract Task<SyntaxNode> RewriteFieldNameAndAccessibilityAsync(string originalFieldName, bool makePrivate, Document document, SyntaxAnnotation declarationAnnotation, CancellationToken cancellationToken); 198var rewrittenFieldDeclaration = await RewriteFieldNameAndAccessibilityAsync(finalFieldName, markFieldPrivate, document, declarationAnnotation, cancellationToken).ConfigureAwait(false); 206var newRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 207var newDeclaration = newRoot.GetAnnotatedNodes<SyntaxNode>(declarationAnnotation).First(); 380var assigned = !field.IsStatic 386var body = factory.ExpressionStatement( 399var value = !field.IsStatic 405var body = factory.ReturnStatement(
ExternalAccess\UnitTesting\SolutionCrawler\IUnitTestingDocumentDifferenceService.cs (2)
11internal sealed class UnitTestingDocumentDifferenceResult(UnitTestingInvocationReasons changeType, SyntaxNode? changedMember = null) 14public SyntaxNode? ChangedMember { get; } = changedMember;
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.cs (2)
341private async Task EnqueueDocumentWorkItemAsync(Project project, DocumentId documentId, TextDocument? document, UnitTestingInvocationReasons invocationReasons, SyntaxNode? changedMember = null) 369private static SyntaxPath? GetSyntaxPath(SyntaxNode? changedMember)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingIncrementalAnalyzerProcessor.cs (1)
185var root = await GetOrDefaultAsync(document, (d, c) => d.GetSyntaxRootAsync(c), cancellationToken).ConfigureAwait(false);
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingSemanticChangeProcessor.cs (1)
106!changedMember.TryResolve(await document.GetSyntaxRootAsync(CancellationToken).ConfigureAwait(false), out SyntaxNode? declarationNode))
ExternalAccess\VSTypeScript\VSTypeScriptClassificationService.cs (3)
30public void AddSyntacticClassifications(SolutionServices services, SyntaxNode? root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken) 46public TextChangeRange? ComputeSyntacticChangeRange(SolutionServices workspace, SyntaxNode oldRoot, SyntaxNode newRoot, TimeSpan timeout, CancellationToken cancellationToken)
ExtractClass\AbstractExtractClassRefactoringProvider.cs (6)
22protected abstract Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context); 23protected abstract Task<SyntaxNode?> GetSelectedClassDeclarationAsync(CodeRefactoringContext context); 91var containingTypeDeclarationNode = selectedMemberNodes.First().FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsTypeDeclaration); 99if (selectedMemberNodes.Any(m => m.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsTypeDeclaration) != containingTypeDeclarationNode)) 113var selectedClassNode = await GetSelectedClassDeclarationAsync(context).ConfigureAwait(false);
ExtractClass\ExtractClassWithDialogCodeAction.cs (9)
31SyntaxNode selectedTypeDeclarationNode, 38private readonly SyntaxNode _selectedTypeDeclarationNode = selectedTypeDeclarationNode; 168var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 181var node = nodeOrToken.IsNode 218var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 220var declarationNode = root.GetAnnotatedNodes(typeAnnotation).Single(); 244var currentRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 246var typeDeclaration = currentRoot.GetAnnotatedNodes(symbolMapping.TypeNodeAnnotation).SingleOrDefault(); 253var typeReference = syntaxGenerator.TypeExpression(newType);
ExtractInterface\AbstractExtractInterfaceService.cs (7)
29protected abstract Task<SyntaxNode> GetTypeDeclarationAsync( 46internal abstract bool ShouldIncludeAccessibilityModifier(SyntaxNode typeNode); 84var typeNode = await GetTypeDeclarationAsync(document, position, typeDiscoveryRule, cancellationToken).ConfigureAwait(false); 332var currentRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 336var typeReference = syntaxGenerator.TypeExpression(extractedInterfaceSymbol); 338var typeDeclaration = currentRoot.GetAnnotatedNodes(typeNodeAnnotation).SingleOrDefault(); 345var unformattedTypeDeclaration = syntaxGenerator.AddInterfaceType(typeDeclaration, typeReference).WithAdditionalAnnotations(Formatter.Annotation);
ExtractInterface\ExtractInterfaceTypeAnalysisResult.cs (2)
16public readonly SyntaxNode TypeNode; 24SyntaxNode typeNode,
ExtractMethod\AbstractExtractMethodService.cs (2)
22where TStatementSyntax : SyntaxNode 24where TExpressionSyntax : SyntaxNode
ExtractMethod\AbstractSyntaxTriviaService.cs (6)
26public ITriviaSavedResult SaveTriviaAroundSelection(SyntaxNode root, TextSpan textSpan) 44var rootWithAnnotation = ReplaceTokens(root, map.Keys, (o, n) => map[o]); 49private static SyntaxNode ReplaceTokens( 50SyntaxNode root, 62SyntaxNode root, 108private static Dictionary<TriviaLocation, SyntaxToken> GetTokensAtEdges(SyntaxNode root, TextSpan textSpan)
ExtractMethod\AbstractSyntaxTriviaService.Result.cs (6)
26SyntaxNode root, 42public SyntaxNode Root { get; } 44public SyntaxNode RestoreTrivia( 45SyntaxNode root, 101SyntaxNode root, 260SyntaxNode root,
ExtractMethod\Extensions.cs (4)
12public static ITypeSymbol? GetLambdaOrAnonymousMethodReturnType(this SemanticModel binding, SyntaxNode node) 49public static bool HasDiagnostics(this SyntaxNode node) 53foreach (var child in node.ChildNodes()) 61public static bool FromScript(this SyntaxNode node)
ExtractMethod\ISyntaxTriviaService.cs (5)
33internal delegate SyntaxToken AnnotationResolver(SyntaxNode root, TriviaLocation location, SyntaxAnnotation annotation); 44SyntaxNode Root { get; } 53SyntaxNode RestoreTrivia(SyntaxNode root, AnnotationResolver annotationResolver = null, TriviaResolver triviaResolver = null); 67ITriviaSavedResult SaveTriviaAroundSelection(SyntaxNode root, TextSpan textSpan);
ExtractMethod\MethodExtractor.Analyzer.cs (2)
289var context = SelectionResult.GetContainingScope(); 433var containingScope = SelectionResult.GetContainingScope();
ExtractMethod\MethodExtractor.CodeGenerator.cs (27)
50public abstract OperationStatus<ImmutableArray<SyntaxNode>> GetNewMethodStatements( 51SyntaxNode insertionPointNode, CancellationToken cancellationToken); 57where TNodeUnderContainer : SyntaxNode 94protected abstract SyntaxNode GetCallSiteContainerFromOutermostMoveInVariable(); 96protected abstract Task<SyntaxNode> GenerateBodyForCallSiteContainerAsync(SyntaxNode insertionPointNode, SyntaxNode outermostCallSiteContainer, CancellationToken cancellationToken); 97protected abstract IMethodSymbol GenerateMethodDefinition(SyntaxNode insertionPointNode, CancellationToken cancellationToken); 98protected abstract bool ShouldLocalFunctionCaptureParameter(SyntaxNode node); 140private static SyntaxNode GetInsertionPoint(SemanticDocument document) 146var insertionPoint = GetInsertionPoint(semanticDocument); 170var outermostCallSiteContainer = GetOutermostCallSiteContainerToProcess(cancellationToken); 172var rootWithUpdatedCallSite = this.SemanticDocument.Root.ReplaceNode( 179var finalRoot = LocalFunction 185SyntaxNode InsertLocalFunction() 193var localMethod = codeGenerationService.CreateMethodDeclaration(newMethodDefinition, CodeGenerationDestination.Unspecified, info, cancellationToken); 196var destination = GetInsertionPoint(documentWithUpdatedCallSite); 197var updatedDestination = codeGenerationService.AddStatements(destination, [localMethod], info, cancellationToken); 199var finalRoot = documentWithUpdatedCallSite.Root.ReplaceNode(destination, updatedDestination); 203SyntaxNode InsertNormalMethod() 208var mappedMember = GetInsertionPoint(documentWithUpdatedCallSite); 218var destination = mappedMember.Parent ?? mappedMember; 228var newContainer = codeGenerationService.AddMethod(destination, newMethodDefinition, info, cancellationToken); 229var finalRoot = documentWithUpdatedCallSite.Root.ReplaceNode(destination, newContainer); 234private SyntaxNode GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken) 236var callSiteContainer = GetCallSiteContainerFromOutermostMoveInVariable(); 301(TStatementSyntax)(SyntaxNode)await GetStatementOrInitializerContainingInvocationToExtractedMethodAsync(cancellationToken).ConfigureAwait(false));
ExtractMethod\MethodExtractor.cs (16)
35protected abstract SyntaxNode ParseTypeName(string name); 37protected abstract SyntaxNode GetInsertionPointNode(AnalyzerResult analyzerResult, CancellationToken cancellationToken); 38protected abstract Task<TriviaResult> PreserveTriviaAsync(SyntaxNode root, CancellationToken cancellationToken); 45Document document, SyntaxToken invocationNameToken, SyntaxNode methodDefinition, CancellationToken cancellationToken); 56var insertionPointNode = GetInsertionPointNode(analyzeResult, cancellationToken); 90var newRoot = afterTriviaRestored.Root; 97var methodDefinition = newRoot.GetAnnotatedNodesAndTokens(MethodDefinitionAnnotation).FirstOrDefault().AsNode(); 106bool CanAddTo(Document document, SyntaxNode insertionPointNode, out OperationStatus status) 118var destination = insertionPointNode; 121var mappedPoint = insertionPointNode.RawKind == syntaxKinds.GlobalStatement 145var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 152var simplifiedRoot = await simplifiedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 160var formattedRoot = await formattedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 168SyntaxNode insertionPointNode, 180var finalRoot = document.Root.ReplaceSyntax( 237var typeName = ParseTypeName(typeParameter.Name);
ExtractMethod\MethodExtractor.TriviaResult.cs (6)
30protected abstract AnnotationResolver GetAnnotationResolver(SyntaxNode callsite, SyntaxNode methodDefinition); 31protected abstract TriviaResolver GetTriviaResolver(SyntaxNode methodDefinition); 37var root = document.Root; 42var callsite = root.GetAnnotatedNodesAndTokens(callsiteAnnotation).SingleOrDefault().AsNode(); 43var method = root.GetAnnotatedNodesAndTokens(methodDefinitionAnnotation).SingleOrDefault().AsNode();
ExtractMethod\MethodExtractor.VariableInfo.cs (1)
114public SyntaxToken GetIdentifierTokenAtDeclaration(SyntaxNode node)
ExtractMethod\SelectionInfo.cs (1)
54public SyntaxNode CommonRoot => this.FirstTokenInOriginalSpan.GetCommonRoot(this.LastTokenInOriginalSpan);
ExtractMethod\SelectionResult.cs (21)
55public abstract SyntaxNode GetContainingScope(); 56public abstract SyntaxNode GetOutermostCallSiteContainerToProcess(CancellationToken cancellationToken); 60public abstract ImmutableArray<TExecutableStatementSyntax> GetOuterReturnStatements(SyntaxNode commonRoot, ImmutableArray<SyntaxNode> jumpsOutOfRegion); 62public abstract bool ContainsUnsupportedExitPointsStatements(ImmutableArray<SyntaxNode> exitPoints); 79protected virtual SyntaxNode GetNodeForDataFlowAnalysis() => GetContainingScope(); 100public TNode? GetContainingScopeOf<TNode>() where TNode : SyntaxNode 102var containingScope = GetContainingScope(); 127private bool CheckNodesInSelection(Func<ISyntaxFacts, SyntaxNode, bool> predicate) 133using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 138while (stack.TryPop(out var current)) 148foreach (var childNode in current.ChildNodes()) 169static bool IsConfigureAwaitFalse(ISyntaxFacts syntaxFacts, SyntaxNode node) 174var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(node); 178var name = syntaxFacts.GetNameOfMemberAccessExpression(invokedExpression); 187var expression = syntaxFacts.GetExpressionOfArgument(arguments[0]); 241protected static SyntaxNode AddAnnotations(SyntaxNode root, IEnumerable<(SyntaxToken, SyntaxAnnotation)> pairs) 254protected static SyntaxNode AddAnnotations(SyntaxNode root, IEnumerable<(SyntaxNode, SyntaxAnnotation)> pairs)
ExtractMethod\SelectionValidator.cs (6)
65SyntaxNode root, TextSpan textSpan, CancellationToken cancellationToken) 72var commonRoot = token1.GetCommonRoot(token2).GetAncestorOrThis<TStatementSyntax>() ?? root; 142var root = document.Root; 146var commonRoot = token1.GetCommonRoot(token2).GetAncestorOrThis<TStatementSyntax>() ?? root; 190var parent1 = blockFacts.GetImmediateParentExecutableBlockForStatement(statement1) ?? statement1.Parent; 191var parent2 = blockFacts.GetImmediateParentExecutableBlockForStatement(statement2) ?? statement2.Parent;
ExtractMethod\UniqueNameGenerator.cs (1)
19public string CreateUniqueMethodName(SyntaxNode contextNode, string baseName)
FindUsages\FindUsagesHelpers.cs (1)
46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
FullyQualify\AbstractFullyQualifyService.cs (8)
28where TSimpleNameSyntax : SyntaxNode 36protected abstract bool CanFullyQualify(SyntaxNode node, [NotNullWhen(true)] out TSimpleNameSyntax? simpleName); 37protected abstract Task<SyntaxNode> ReplaceNodeAsync(TSimpleNameSyntax simpleName, string containerName, bool resultingSymbolIsType, CancellationToken cancellationToken); 67var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 68var node = root.FindToken(span.Start, findInsideTrivia: true).GetAncestors<SyntaxNode>().FirstOrDefault(n => n.Span.Contains(span)); 166var rightSide = syntaxFacts.GetRightSideOfDot(simpleName.Parent); 219var newRoot = await ReplaceNodeAsync(simpleName, containerName, originalSymbol.IsType, cancellationToken).ConfigureAwait(false);
FullyQualify\AbstractFullyQualifyService.SymbolResult.cs (1)
12internal abstract partial class AbstractFullyQualifyService<TSimpleNameSyntax> where TSimpleNameSyntax : SyntaxNode
GenerateComparisonOperators\GenerateComparisonOperatorsCodeRefactoringProvider.cs (11)
48var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52if (!helpers.IsOnTypeHeader(root, textSpan.Start, fullHeader: true, out var typeDeclaration) && 133SyntaxNode typeDeclaration, 156private static SyntaxNode GenerateLeftExpression( 161var thisExpression = generator.IdentifierName(LeftName); 177SyntaxNode thisExpression) 206private static SyntaxNode GenerateStatement( 207SyntaxGenerator generator, CodeGenerationOperatorKind kind, SyntaxNode leftExpression) 209var zero = generator.LiteralExpression(0); 211var compareToCall = generator.InvocationExpression( 215var comparison = kind switch
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.ConstructorDelegatingCodeAction.cs (3)
51using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 52using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 61var fieldAccess = factory.MemberAccessExpression(
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.cs (6)
198var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 202if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) && 295var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 300foreach (var node in nodes) 302var parameterList = syntaxFacts.GetParameterList(node); 306var newRoot = root.ReplaceToken(closeParen, closeParen.WithAdditionalAnnotations(NavigationAnnotation.Create()));
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.GenerateConstructorWithDialogCodeAction.cs (1)
94var constructorSyntax = await constructorReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
GenerateEqualsAndGetHashCodeFromMembers\AbstractGenerateEqualsAndGetHashCodeService.cs (6)
25ImmutableArray<SyntaxNode> statements, out ImmutableArray<SyntaxNode> wrappedStatements); 68using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 69var objName = generator.IdentifierName("obj"); 110var statement = generator.ReturnStatement( 146private ImmutableArray<SyntaxNode> CreateGetHashCodeStatements(
GenerateEqualsAndGetHashCodeFromMembers\FormatLargeBinaryExpressionRule.cs (2)
44List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 48var expr = _syntaxFacts.GetExpressionOfReturnStatement(node);
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeAction.cs (8)
23SyntaxNode typeDeclaration, 41private readonly SyntaxNode _typeDeclaration = typeDeclaration; 76var newTypeDeclaration = info.Service.AddMembers(_typeDeclaration, methods, info, cancellationToken); 115private async Task<Document> UpdateDocumentAndAddImportsAsync(SyntaxNode oldType, SyntaxNode newType, CancellationToken cancellationToken) 117var oldRoot = await _document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 147var expression = _containingType.IsValueType 172var expression = generator.LogicalNotExpression(
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (8)
76var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 80if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) && 185var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 186var typeDeclaration = syntaxFacts.GetContainingTypeDeclaration(root, textSpan.Start); 200Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> selectedMembers, 240Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members, 257Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members, 294Document document, SyntaxNode typeDeclaration, INamedTypeSymbol containingType, ImmutableArray<ISymbol> members,
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndHashWithDialogCodeAction.cs (2)
23SyntaxNode typeDeclaration, 35private readonly SyntaxNode _typeDeclaration = typeDeclaration;
GenerateFromMembers\SelectedMemberInfo.cs (2)
11ImmutableArray<SyntaxNode> selectedDeclarations, 15public readonly ImmutableArray<SyntaxNode> SelectedDeclarations = selectedDeclarations;
GenerateOverrides\GenerateOverridesCodeRefactoringProvider.cs (2)
36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 40if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) &&
GenerateType\AbstractGenerateTypeService.cs (13)
32where TExpressionSyntax : SyntaxNode 33where TTypeDeclarationSyntax : SyntaxNode 34where TArgumentSyntax : SyntaxNode 59Solution updatedSolution, SyntaxNode modifiedRoot, Document document, TSimpleNameSyntax simpleName, string includeUsingsOrImports, CancellationToken cancellationToken); 65public abstract Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync(INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken); 69SyntaxNode node, 101SyntaxNode node, 140private static bool CanGenerateIntoContainingNamespace(SemanticDocument semanticDocument, SyntaxNode node, CancellationToken cancellationToken) 147var decl = declarationService.GetDeclarations(containingNamespace) 150.FirstOrDefault(node.GetAncestorsOrThis<SyntaxNode>().Contains); 159SyntaxNode node, 185IEnumerable<SyntaxNode> typeArguments, 198var argument = i < arguments.Count ? arguments[i] : null;
GenerateType\AbstractGenerateTypeService.Editor.cs (4)
324var newRoot = await codeGenResult.GetSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 341SyntaxNode root, 409var root = await generateTypeOptionsResult.ExistingDocument.GetSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 445var newRoot = await codeGenResult.GetSyntaxRootAsync(_cancellationToken).ConfigureAwait(false);
GenerateType\AbstractGenerateTypeService.State.cs (4)
72SyntaxNode node, 82SyntaxNode node, 193private static bool IsInsideDocumentationComment(SyntaxNode node, ISyntaxFactsService syntaxFacts) 195for (var current = node; current != null; current = current.Parent)
GenerateType\IGenerateTypeService.cs (2)
15Task<ImmutableArray<CodeAction>> GenerateTypeAsync(Document document, SyntaxNode node, CancellationToken cancellationToken); 16Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync(INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken);
Highlighting\HighlightingService.cs (1)
26SyntaxNode root, int position, List<TextSpan> highlights, CancellationToken cancellationToken)
Highlighting\IHighlighter.cs (1)
13void AddHighlights(SyntaxNode root, int position, List<TextSpan> highlights, CancellationToken cancellationToken);
Highlighting\IHighlightingService.cs (1)
19void AddHighlights(SyntaxNode root, int position, List<TextSpan> highlights, CancellationToken cancellationToken);
Highlighting\Keywords\AbstractKeywordHighlighter.cs (9)
16where TNode : SyntaxNode 18protected sealed override bool IsHighlightableNode(SyntaxNode node) 21protected sealed override void AddHighlightsForNode(SyntaxNode node, List<TextSpan> highlights, CancellationToken cancellationToken) 33protected abstract bool IsHighlightableNode(SyntaxNode node); 39SyntaxNode root, int position, List<TextSpan> highlights, CancellationToken cancellationToken) 50for (var parent = token.Parent; parent != null; parent = parent.Parent) 78protected abstract void AddHighlightsForNode(SyntaxNode node, List<TextSpan> highlights, CancellationToken cancellationToken); 83internal void AddTouchingTokens(SyntaxNode root, int position, ref TemporaryArray<SyntaxToken> tokens) 91SyntaxNode root, int position, ref TemporaryArray<SyntaxToken> tokens, bool findInsideTrivia)
ImplementInterface\ImplementInterfaceCodeRefactoringProvider.cs (3)
28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 31if (!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out var typeDeclaration)) 37foreach (var typeNode in service.GetInterfaceTypes(typeDeclaration))
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (3)
88var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 100foreach (var memberDeclarationNode in allDeclarationNodes) 173var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
InheritanceMargin\AbstractInheritanceMarginService.cs (3)
20protected abstract ImmutableArray<SyntaxNode> GetMembers(IEnumerable<SyntaxNode> nodesToSearch); 26protected abstract SyntaxToken GetDeclarationToken(SyntaxNode declarationNode);
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (47)
39where TTypeDeclarationSyntax : SyntaxNode 40where TParameterSyntax : SyntaxNode 41where TStatementSyntax : SyntaxNode 42where TExpressionSyntax : SyntaxNode 63protected abstract bool CanOffer(SyntaxNode body); 70SyntaxNode functionDeclaration, 73ImmutableArray<SyntaxNode> listOfParameterNodes, 81foreach (var parameterNode in listOfParameterNodes) 103SyntaxNode functionDeclaration, 185var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188var functionDeclaration = firstParameterNode.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 243var syntax = statement.Syntax; 544SyntaxNode functionDeclaration, 567SyntaxNode functionDeclaration, 583SyntaxNode functionDeclaration, 599SyntaxNode functionDeclaration, 606var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 621var statementToAddAfter = GetStatementToAddCheckAfter(semanticModel, parameter, blockStatement, cancellationToken); 626var newRoot = editor.GetChangedRoot(); 633SyntaxNode functionDeclaration, 638var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 648var parameterIdentifierName = generator.IdentifierName(parameter.Name); 649var typeOfParameterExpression = generator.TypeOfExpression(generator.TypeExpression(parameter.Type)); 651SyntaxNode enumIsDefinedInvocation; 670var finalCondition = generator.LogicalNotExpression(enumIsDefinedInvocation); 672var throwStatement = generator.ThrowStatement( 681var enumIsDefinedCheckStatement = generator.IfStatement(finalCondition, [throwStatement]); 684var statementToAddAfter = GetStatementToAddCheckAfter(semanticModel, parameter, blockStatement, cancellationToken); 687var newRoot = editor.GetChangedRoot(); 737var parameterNameExpression = generator.IdentifierName(parameter.Name); 738var zeroLiteralExpression = generator.LiteralExpression(0); 739var condition = includeZero 743var parameterNameOfExpression = generator.NameOfExpression(parameterNameExpression); 744var throwStatement = generator.ThrowStatement( 791private static SyntaxNode? GetStatementToAddCheckAfter( 920var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 923var coalesce = generator.CoalesceExpression( 928var newRoot = root.ReplaceNode(assignmentExpression.Value.Syntax, coalesce); 941private static SyntaxNode GetTypeNode( 951private static SyntaxNode CreateArgumentNullException( 959private SyntaxNode CreateArgumentException( 969var nameofExpression = generator.NameOfExpression(generator.IdentifierName(parameter.Name)); 977private SyntaxNode CreateExceptionMessageArgument(string messageTemplate, SyntaxGenerator generator, SyntaxNode parameterNameOfExpression) 983using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var content); 1016private static SyntaxNode InterpolatedStringText(SyntaxGenerator generator, string content, string value)
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (27)
40where TTypeDeclarationSyntax : SyntaxNode 41where TParameterSyntax : SyntaxNode 42where TStatementSyntax : SyntaxNode 43where TExpressionSyntax : SyntaxNode 47protected abstract SyntaxNode RemoveThrowNotImplemented(SyntaxNode propertySyntax); 50Document document, SyntaxNode functionDeclaration, IMethodSymbol method, IBlockOperation? blockStatementOpt, 51ImmutableArray<SyntaxNode> listOfParameterNodes, TextSpan parameterSpan, 61SyntaxNode constructorDeclaration, 105SyntaxNode constructorDeclaration, 156SyntaxNode constructorDeclaration, 190SyntaxNode constructorDeclaration, 239SyntaxNode functionDeclaration, 358SyntaxNode constructorDeclaration, 371var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 372var nodesToTrack = new List<SyntaxNode> { constructorDeclaration }; 376var trackedRoot = root.TrackNodes(nodesToTrack); 387var currentRoot = await currentDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 389var currentConstructorDeclaration = currentRoot.GetCurrentNode(constructorDeclaration); 422SyntaxNode constructorDeclaration, 453var propertySyntax = await declarationService.GetDeclarations(finalFieldOrProperty)[0].GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 454var withoutThrowNotImplemented = RemoveThrowNotImplemented(propertySyntax); 459var otherRoot = await propertySyntax.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 471SyntaxNode constructorDeclaration, 481var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 540SyntaxNode typeDeclaration, CancellationToken cancellationToken) 551var symbolSyntax = symbol.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken);
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (17)
27where TTypeDeclarationSyntax : SyntaxNode 28where TParameterSyntax : SyntaxNode 29where TStatementSyntax : SyntaxNode 30where TExpressionSyntax : SyntaxNode 32protected abstract bool IsFunctionDeclaration(SyntaxNode node); 35protected abstract SyntaxNode GetBody(SyntaxNode functionDeclaration); 39SyntaxNode functionDeclaration, 42ImmutableArray<SyntaxNode> listOfParameterNodes, 50SyntaxNode functionDeclaration, 66var functionDeclaration = selectedParameter.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 106using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var listOfPotentiallyValidParametersNodes); 107foreach (var parameterNode in parameterNodes) 129SyntaxNode parameterNode, 141SyntaxNode functionDeclaration, SemanticModel semanticModel, ISyntaxFactsService syntaxFacts, 146var functionBody = GetBody(functionDeclaration);
InlineHints\AbstractInlineParameterNameHintsService.cs (13)
28SyntaxNode node, 29ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> buffer, 32protected abstract bool IsIndexer(SyntaxNode node, IParameterSymbol parameter); 59var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 63using var _ = ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)>.GetInstance(out var buffer); 65foreach (var node in root.DescendantNodes(textSpan, n => n.Span.IntersectsWith(textSpan))) 79void AddHintsIfAppropriate(SyntaxNode node) 125ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> parameterHints) 135ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> parameterHints) 153ArrayBuilder<(int position, SyntaxNode argument, IParameterSymbol? parameter, HintKind kind)> parameterHints) 279private static bool ParameterMatchesArgumentName(SyntaxNode argument, IParameterSymbol parameter, ISyntaxFactsService syntaxFacts) 285protected static string GetIdentifierNameFromArgument(SyntaxNode argument, ISyntaxFactsService syntaxFacts) 287var identifierNameSyntax =
InlineHints\AbstractInlineTypeHintsService.cs (3)
23SemanticModel semanticModel, SyntaxNode node, 52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 55foreach (var node in root.DescendantNodes(n => n.Span.IntersectsWith(textSpan)))
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (16)
28where TMethodDeclarationSyntax : SyntaxNode 29where TStatementSyntax : SyntaxNode 30where TExpressionSyntax : SyntaxNode 62protected abstract SyntaxNode GenerateTypeSyntax(ITypeSymbol symbol, bool allowVar); 64protected abstract bool IsFieldDeclarationSyntax(SyntaxNode node); 75protected abstract bool CanBeReplacedByThrowExpression(SyntaxNode syntaxNode); 191var callerDeclarationNode = await callerReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 282var newCallerMethodNode = await GetChangedCallerAsync( 291async Task<SyntaxNode> GetChangedCallerAsync( 333(SyntaxNode nodeToReplace, SyntaxNode inlineNode) GetInlineNode( 344var rightHandSideValue = _syntaxFacts.GetRightHandSideOfAssignment(inlineMethodContext.InlineExpression); 486for (SyntaxNode? node = calleeMethodInvocationNode; node != null; node = node.Parent) 494foreach (var declarator in node.DescendantNodes().OfType<SyntaxNode>() 497var initializer = _syntaxFacts.GetInitializerOfVariableDeclarator(declarator);
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (6)
288ImmutableDictionary<ISymbol, SyntaxNode> replacementTable, 304foreach (var nodeToReplace in allSyntaxNodesToReplace) 308var replacementNodeWithTrivia = syntaxNode.WithTriviaFrom(nodeToReplace); 321private ImmutableDictionary<ISymbol, SyntaxNode> ComputeReplacementTable( 334syntaxNode: (SyntaxNode)parameterAndExpressionPair.Value)); 354SyntaxNode calleeInvocationNode,
InlineTemporary\AbstractInlineTemporaryCodeRefactoringProvider.cs (3)
19where TIdentifierNameSyntax : SyntaxNode 20where TVariableDeclaratorSyntax : SyntaxNode 44var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (20)
30where TExpressionSyntax : SyntaxNode 34where TArgumentSyntax : SyntaxNode 43protected abstract SyntaxNode GenerateExpressionFromOptionalParameter(IParameterSymbol parameterSymbol); 44protected abstract SyntaxNode UpdateArgumentListSyntax(SyntaxNode argumentList, SeparatedSyntaxList<TArgumentSyntax> arguments); 45protected abstract SyntaxNode? GetLocalDeclarationFromDeclarator(SyntaxNode variableDecl); 63var containingMethod = expression.FirstAncestorOrSelf<SyntaxNode>(node => generator.GetParameterListNode(node) is not null); 127private static bool IsValidExpression(SyntaxNode expression, ISyntaxFactsService syntaxFacts) 152var invalidNode = expression.FirstAncestorOrSelf<SyntaxNode>(node => syntaxFacts.IsAttributeArgument(node) || syntaxFacts.IsParameter(node)); 166var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(invocation); 174foreach (var argument in arguments) 197TExpressionSyntax expression, IMethodSymbol methodSymbol, SyntaxNode containingMethod, 264foreach (var variable in variablesInExpression) 300IMethodSymbol methodSymbol, SyntaxNode containingMethod, Dictionary<Document, List<TExpressionSyntax>> methodCallSites, bool allOccurrences, IntroduceParameterCodeActionKind selectedCodeAction, 307var changedRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 319var newRoot = await rewriter.RewriteDocumentAsync(compilation, document, invocations, cancellationToken).ConfigureAwait(false); 359var reference = refLocation.Location.FindNode(cancellationToken).GetRequiredParent();
IntroduceParameter\IntroduceParameterDocumentRewriter.cs (51)
28SyntaxNode containingMethod, 39private readonly SyntaxNode _containerMethod = containingMethod; 43public async Task<SyntaxNode> RewriteDocumentAsync(Compilation compilation, Document document, List<TExpressionSyntax> invocations, CancellationToken cancellationToken) 108private bool ShouldRemoveVariableDeclaratorContainingExpression([NotNullWhen(true)] out string? varDeclName, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 110var declarator = _expression?.Parent?.Parent; 145var parameterList = _syntaxFacts.GetParameterList(_containerMethod); 227private async Task<SyntaxNode> ModifyDocumentInvocationsTrampolineOverloadAndIntroduceParameterAsync(Compilation compilation, Document currentDocument, 231var root = await currentDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 252var argumentListSyntax = _syntaxFacts.GetArgumentListOfInvocationExpression(invocation); 268var newMethodNode = _actionKind is IntroduceParameterCodeActionKind.Trampoline 275var parameter = _generator.ParameterDeclaration(parameterName, _generator.TypeExpression(parameterType)); 312SyntaxNode GenerateNewArgumentListSyntaxForTrampoline(Compilation compilation, SemanticModel invocationSemanticModel, 313Dictionary<IParameterSymbol, int> parameterToArgumentMap, SyntaxNode currentArgumentListSyntax, 314SyntaxNode argumentListSyntax, SyntaxNode invocation, ImmutableArray<IParameterSymbol> validParameters, 321var requiredArguments = new List<SyntaxNode>(); 331var conditionalRoot = _syntaxFacts.GetRootConditionalAccessExpression(invocation); 333var newMethodInvocation = GenerateNewMethodInvocation(invocation, requiredArguments, newMethodIdentifier); 344var expressionsWithConditionalAccessors = conditionalRoot.ReplaceNode(invocation, newMethodInvocation); 359private SyntaxNode GenerateNewMethodInvocation(SyntaxNode invocation, List<SyntaxNode> arguments, string newMethodIdentifier) 361var methodName = _generator.IdentifierName(newMethodIdentifier); 362var fullExpression = _syntaxFacts.GetExpressionOfInvocationExpression(invocation); 365var receiverExpression = _syntaxFacts.GetExpressionOfMemberAccessExpression(fullExpression); 396private async Task<SyntaxNode> ExtractMethodAsync(ImmutableArray<IParameterSymbol> validParameters, string newMethodIdentifier, SyntaxGenerator generator, CancellationToken cancellationToken) 399var returnStatement = generator.ReturnStatement(_expression.WithoutTrivia()); 401var newMethodDeclaration = await CreateMethodDeclarationAsync(returnStatement, 428private async Task<SyntaxNode> GenerateNewMethodOverloadAsync(int insertionIndex, SyntaxGenerator generator, CancellationToken cancellationToken) 435var memberName = _methodSymbol.IsGenericMethod 438var invocation = generator.InvocationExpression(memberName, arguments); 440var newStatement = _methodSymbol.ReturnsVoid 444var newMethodDeclaration = await CreateMethodDeclarationAsync(newStatement, 449private async Task<SyntaxNode> CreateMethodDeclarationAsync(SyntaxNode newStatement, ImmutableArray<IParameterSymbol>? validParameters, 458var newMethodDeclaration = info.Service.CreateMethodDeclaration(newMethod, CodeGenerationDestination.Unspecified, info, cancellationToken); 489private async Task<SyntaxNode> ModifyDocumentInvocationsAndIntroduceParameterAsync(Compilation compilation, Document document, int insertionIndex, 492var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 502var argumentListSyntax = invocation is TObjectCreationExpressionSyntax 536var parameter = _generator.ParameterDeclaration(name: parameterName, type: 552SeparatedSyntaxList<SyntaxNode> updatedInvocationArguments) 559var updatedInvocationArgument = updatedInvocationArguments[index]; 560var argumentExpression = _syntaxFacts.GetExpressionOfArgument(updatedInvocationArgument); 561var parenthesizedArgumentExpression = editor.Generator.AddParentheses(argumentExpression, includeElasticTrivia: false); 566var generatedExpression = _service.GenerateExpressionFromOptionalParameter(mappedParameter); 567var parenthesizedGeneratedExpression = editor.Generator.AddParentheses(generatedExpression, includeElasticTrivia: false); 580SeparatedSyntaxList<TArgumentSyntax> invocationArguments, SyntaxNode newArgumentExpression, 598SeparatedSyntaxList<SyntaxNode> invocationArguments, int methodInsertionIndex, 602foreach (var invocationArgument in invocationArguments) 624Dictionary<IParameterSymbol, int> mapping, SeparatedSyntaxList<SyntaxNode> arguments, 662if (ShouldRemoveVariableDeclaratorContainingExpression(out _, out var localDeclaration))
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (16)
30where TStatementSyntax : SyntaxNode 38protected abstract bool CanRefactorToContainBlockStatements(SyntaxNode parent); 41protected abstract SyntaxNode WithStatements(SyntaxNode parentOfStatementsToSurround, SyntaxList<TStatementSyntax> statements); 152var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 172var newParent = WithStatements( 223var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 224var newRoot = root.ReplaceNode(expressionStatement, usingStatement); 248var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 252var newParent = WithStatements( 293var expression = syntaxFacts.GetExpressionOfExpressionStatement(finallyStatement); 297var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(expression); 301syntaxFacts.GetPartsOfMemberAccessExpression(invokedExpression, out var accessedExpression, out var name); 431SyntaxNode node, 462var childNode = nodeOrToken.AsNode();
IntroduceVariable\AbstractIntroduceLocalForExpressionCodeRefactoringProvider.cs (5)
21where TExpressionSyntax : SyntaxNode 22where TStatementSyntax : SyntaxNode 40var expression = syntaxFacts.GetExpressionOfExpressionStatement(expressionStatement); 102var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 103var newRoot = root.ReplaceNode(expressionStatement, localStatement);
IntroduceVariable\AbstractIntroduceVariableService.cs (13)
28where TExpressionSyntax : SyntaxNode 30where TTypeDeclarationSyntax : SyntaxNode 44protected abstract IEnumerable<SyntaxNode> GetContainingExecutableBlocks(TExpressionSyntax expression); 59protected virtual bool BlockOverlapsHiddenPosition(SyntaxNode block, CancellationToken cancellationToken) 149var block = blocks.FirstOrDefault(); 238var destination = state.Expression.GetAncestor<TTypeDeclarationSyntax>() ?? state.Document.Root; 283SyntaxNode containerOpt, 300IEnumerable<SyntaxNode> startingNodes, 358where TNode : SyntaxNode 366var replacement = generator.AddParentheses(variableName, includeElasticTrivia: false); 373SyntaxNode replacementNode, 375where TNode : SyntaxNode; 428var newRoot = semanticDocument.Root.TrackNodes(matches);
IntroduceVariable\AbstractIntroduceVariableService.IntroduceVariableCodeAction.cs (1)
77var singleLineExpression = _semanticDocument.Document.GetRequiredLanguageService<ISyntaxFactsService>().ConvertToSingleLine(expression);
IntroduceVariable\AbstractIntroduceVariableService.State.cs (4)
169var globalStatement = Expression.AncestorsAndSelf().FirstOrDefault(syntaxFacts.IsGlobalStatement); 211var equalsValue = current.Parent; 215var declaration = equalsValue.AncestorsAndSelf().FirstOrDefault(n => syntaxFacts.IsLocalDeclarationStatement(n) || syntaxFacts.IsFieldDeclaration(n)); 287where TSyntax : SyntaxNode
InvertConditional\AbstractInvertConditionalCodeRefactoringProvider.cs (5)
17where TConditionalExpressionSyntax : SyntaxNode 47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52out var condition, out var whenTrue, out var whenFalse);
InvertIf\AbstractInvertIfCodeRefactoringProvider.cs (41)
33where TStatementSyntax : SyntaxNode 35where TDirectiveTriviaSyntax : SyntaxNode 52protected abstract SyntaxList<TStatementSyntax> GetStatements(SyntaxNode node); 56protected abstract TSyntaxKind? GetJumpStatementKind(SyntaxNode node); 58protected abstract bool IsNoOpSyntaxNode(SyntaxNode node); 59protected abstract bool IsExecutableStatement(SyntaxNode node); 60protected abstract bool IsStatementContainer(SyntaxNode node); 63protected abstract bool CanControlFlowOut(SyntaxNode node); 70protected abstract SyntaxNode GetCondition(TIfStatementSyntax ifNode); 71protected abstract SyntaxNode GetCondition(TIfDirectiveTriviaSyntax ifNode); 85SyntaxNode condition, 89protected abstract SyntaxNode WithStatements( 90SyntaxNode node, 107var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 162var condition = GetCondition(ifDirective); 163var invertedCondition = generator.Negate( 191private static bool HasErrorDiagnostics(SyntaxNode node) 216out SyntaxNode? subsequentSingleExitPoint) 265out var ifBodySingleExitPointOpt); 402var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 407var invertIfStyle = GetInvertIfStyle(syntaxKinds, ifNode, semanticModel, out var subsequentSingleExitPoint); 428out SyntaxNode? subsequentSingleExitPoint) 452out SyntaxNode? singleExitPoint) 470private TSyntaxKind GetNearestParentJumpStatementKind(SyntaxNode ifNode) 472foreach (var node in ifNode.Ancestors()) 486var parent = statementRange.Parent; 513foreach (var node in ifNode.Ancestors()) 533private SyntaxNode GetRootWithInvertIfStatement( 535SyntaxNode root, 538SyntaxNode? subsequentSingleExitPoint, 539SyntaxNode negatedExpression, 581var currentParent = ifNode.GetRequiredParent(); 615var updatedParent = WithStatements( 624var currentParent = ifNode.GetRequiredParent(); 639var updatedParent = WithStatements( 650var currentParent = ifNode.GetRequiredParent(); 665var updatedParent = WithStatements( 674var currentParent = ifNode.GetRequiredParent(); 693var updatedParent = WithStatements( 707var currentParent = ifNode.GetRequiredParent(); 723var updatedParent = WithStatements(
InvertIf\AbstractInvertIfCodeRefactoringProvider.StatementRange.cs (1)
35public SyntaxNode Parent => FirstStatement.GetRequiredParent();
InvertLogical\AbstractInvertLogicalCodeRefactoringProvider.cs (9)
25where TExpressionSyntax : SyntaxNode 39var expression = (SyntaxNode?)await context.TryGetRelevantNodeAsync<TBinaryExpressionSyntax>().ConfigureAwait(false); 83Document document1, SyntaxNode binaryExpression, CancellationToken cancellationToken) 100Document document, SyntaxNode binaryExpression, CancellationToken cancellationToken) 103var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 106var newBinary = generator.Negate(generator.SyntaxGeneratorInternal, binaryExpression, semanticModel, cancellationToken); 116var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120var expression = root.GetAnnotatedNodes(s_annotation).Single();
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (3)
194var node = reference.GetSyntax(cancellationToken); 197var statement = node.AncestorsAndSelf().FirstOrDefault(syntaxFacts.IsStatement); 329protected void AddCaptures(SemanticModel semanticModel, SyntaxNode syntax, StructuralTypeDisplayInfo displayInfo)
MetadataAsSource\AbstractMetadataAsSourceService.cs (1)
54var node = await docWithAssemblyInfo.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
MetadataAsSource\AbstractMetadataAsSourceService+CompatAbstractMetadataFormattingRule.cs (8)
22public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 30public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 38public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 46public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 77public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 83public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 89public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 95public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceCodeRefactoringProvider.cs (2)
14internal abstract class AbstractMoveDeclarationNearReferenceCodeRefactoringProvider<TLocalDeclaration> : CodeRefactoringProvider where TLocalDeclaration : SyntaxNode 47Document document, SyntaxNode statement, CancellationToken cancellationToken)
MoveStaticMembers\AbstractMoveStaticMembersRefactoringProvider.cs (1)
18protected abstract Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context);
MoveStaticMembers\MoveStaticMembersWithDialogCodeAction.cs (23)
54var root = await _document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 116var destRoot = await newDoc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 172ImmutableArray<SyntaxNode> oldMemberNodes, 182var newTypeRoot = await newTypeDoc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var newTypeNode = newType.DeclaringSyntaxReferences 187var oldSourceRoot = await oldSolution.GetRequiredDocument(sourceDocId).GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 220var root = await sourceDoc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 254var updatedRoot = await FixReferencesSingleDocumentAsync( 271private static async Task<SyntaxNode> FixReferencesSingleDocumentAsync( 289foreach (var refNode in trackNodesDict.Keys) 305var extensionMethodInvocation = refNode.Parent.Parent; 307var expandedExtensionInvocation = await Simplifier.ExpandAsync( 313var memberAccessExpression = syntaxFacts.GetExpressionOfInvocationExpression(expandedExtensionInvocation); 314var typeExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(memberAccessExpression)!; 326var expression = syntaxFacts.GetExpressionOfMemberAccessExpression(refNode.GetRequiredParent()); 329SyntaxNode replacement; 402ImmutableArray<SyntaxNode> memberNodes, 408var root = await sourceDoc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 416var nodesToUpdate = new Dictionary<SyntaxNode, SyntaxNode>(); 420foreach (var memberNode in members) 422foreach (var identifierNode in memberNode.DescendantNodes().Where( 434var qualified = generator.MemberAccessExpression(
MoveToNamespace\AbstractMoveToNamespaceService.cs (17)
35where TCompilationUnitSyntax : SyntaxNode 36where TNamespaceDeclarationSyntax : SyntaxNode 37where TNamedTypeDeclarationSyntax : SyntaxNode 39protected abstract string GetNamespaceName(SyntaxNode namespaceSyntax); 41protected abstract TNamedTypeDeclarationSyntax? GetNamedTypeDeclarationSyntax(SyntaxNode node); 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 71var node = token.Parent; 88Document document, SyntaxNode node, int position, CancellationToken cancellationToken) 113Document document, SyntaxNode node, CancellationToken cancellationToken) 123SyntaxNode? container = null; 164private static int GetNamespaceInSpineCount(SyntaxNode node) 167private static bool ContainsMultipleTypesInSpine(SyntaxNode node) 186private static async Task<ImmutableArray<ISymbol>> GetMemberSymbolsAsync(Document document, SyntaxNode container, CancellationToken cancellationToken) 216SyntaxNode container, 239SyntaxNode container, 262var syntaxRoot = await mergedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 263var syntaxNode = syntaxRoot.GetAnnotatedNodes(AbstractMoveTypeService.NamespaceScopeMovedAnnotation).SingleOrDefault();
MoveToNamespace\MoveToNamespaceAnalysisResult.cs (2)
17public SyntaxNode SyntaxNode { get; } 24SyntaxNode syntaxNode,
NameTupleElement\AbstractNameTupleElementCodeRefactoringProvider.cs (5)
17where TArgumentSyntax : SyntaxNode 18where TTupleExpressionSyntax : SyntaxNode 40private static async Task<(SyntaxNode root, TArgumentSyntax argument, string argumentName)> TryGetArgumentInfoAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 87var newRoot = root.ReplaceNode(argument, newArgument);
NavigateTo\AbstractNavigateToSearchService.NormalSearch.cs (3)
110var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var topLevelNodes); 122foreach (var topLevelMember in topLevelNodes)
OrganizeImports\OrganizeImportsCodeRefactoringProvider.cs (8)
41private static async Task<(SyntaxNode oldRoot, SyntaxNode newRoot)> RemoveImportsAsync( 45var oldRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 49var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70var oldRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 74var importNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(syntaxFacts.IsUsingOrExternOrImport); 86var ancestor = importNode.Ancestors().FirstOrDefault(syntaxFacts.IsBaseNamespaceDeclaration) ?? oldRoot;
Organizing\AbstractOrganizingService.cs (1)
31protected Func<SyntaxNode, IEnumerable<ISyntaxOrganizer>> GetNodeToOrganizers(IEnumerable<ISyntaxOrganizer> organizers)
Organizing\Organizers\AbstractSyntaxNodeOrganizer.cs (3)
12where TSyntaxNode : SyntaxNode 16public SyntaxNode OrganizeNode(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
Organizing\Organizers\ISyntaxOrganizer.cs (2)
21SyntaxNode OrganizeNode(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken = default);
PreferFrameworkType\PreferFrameworkTypeCodeFixProvider.cs (2)
46var node = diagnostic.Location.FindNode( 51var replacementNode = typeSymbol.SpecialType is SpecialType.System_IntPtr or SpecialType.System_UIntPtr
PreferFrameworkType\PreferFrameworkTypeDiagnosticAnalyzerBase.cs (1)
19where TExpressionSyntax : SyntaxNode
PullMemberUp\AbstractPullMemberUpRefactoringProvider.cs (1)
22protected abstract Task<ImmutableArray<SyntaxNode>> GetSelectedNodesAsync(CodeRefactoringContext context);
PullMemberUp\MembersPuller.cs (25)
99var destinationSyntaxNode = codeGenerationService.FindMostRelevantNameSpaceOrTypeDeclaration( 114var destinationWithMembersAdded = info.Service.AddMembers(destinationSyntaxNode, symbolsToPullUp, info, cancellationToken); 121foreach (var declaration in symbolToDeclarationsMap[analysisResult.Member]) 198SyntaxNode memberDeclaration, 227SyntaxNode eventDeclaration, 232var declaration = editor.Generator.GetDeclaration(eventDeclaration); 253var publicAndNonStaticSyntax = codeGenerationService.CreateEventDeclaration(publicAndNonStaticSymbol, CodeGenerationDestination.ClassType, eventGenerationInfo, cancellationToken); 275var destinationSyntaxNode = codeGenerationService.FindMostRelevantNameSpaceOrTypeDeclaration( 306var newDestination = codeGenerationService 309using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var sourceImports); 328foreach (var syntax in symbolToDeclarations[analysisResult.Member]) 346var declarationSyntax = originalMemberEditor.Generator.GetDeclaration(syntax); 389var destinationRoot = AddLeadingTriviaBeforeFirstMember( 404private static SyntaxTriviaList GetLeadingTriviaBeforeFirstMember(SyntaxNode root, ISyntaxFactsService syntaxFacts) 408var firstMember = members.First(); 412private static SyntaxNode RemoveLeadingTriviaBeforeFirstMember(SyntaxNode root, ISyntaxFactsService syntaxFacts) 416var firstMember = members.First(); 420private static SyntaxNode AddLeadingTriviaBeforeFirstMember(SyntaxNode root, ISyntaxFactsService syntaxFacts, SyntaxTriviaList trivia) 424var firstMember = members.First(); 433private static ImmutableArray<SyntaxNode> GetImports(SyntaxNode start, ISyntaxFactsService syntaxFacts) 468private static async Task<ImmutableDictionary<ISymbol, ImmutableArray<SyntaxNode>>> InitializeSymbolToDeclarationsMapAsync( 474var symbolToDeclarationsBuilder = ImmutableDictionary.CreateBuilder<ISymbol, ImmutableArray<SyntaxNode>>();
QuickInfo\CommonSemanticQuickInfoProvider.cs (22)
134var root = linkedModel.SyntaxTree.GetRoot(cancellationToken); 174protected abstract bool GetBindableNodeForTokenIndicatingLambda(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found); 175protected abstract bool GetBindableNodeForTokenIndicatingPossibleIndexerAccess(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found); 183protected virtual string? GetNullabilityAnalysis(SemanticModel semanticModel, ISymbol symbol, SyntaxNode node, CancellationToken cancellationToken) => null; 191var bindableParent = syntaxFacts.TryGetBindableParent(token); 212var tokenParent = token.GetRequiredParent(); 213var nodeToRewrite = GetNodeToRewrite(tokenParent); 217var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 225for (var current = nodeToRewrite; 238syntaxFacts.GetPartsOfAnyIsTypeExpression(current, out var left, out _); 244syntaxFacts.GetPartsOfIsPatternExpression(current, out var left, out _, out _); 253var newRoot = editor.GetChangedRoot(); 258var newBindableParent = syntaxFacts.TryGetBindableParent(newToken); 272SyntaxNode? GetNodeToRewrite(SyntaxNode node) 274var last = node; 275for (var current = last.Parent; current != null; last = current, current = current.Parent) 282syntaxFacts.GetPartsOfAnyIsTypeExpression(current, out var left, out _); 289syntaxFacts.GetPartsOfIsPatternExpression(current, out var left, out _, out _); 307var bindableParent = syntaxFacts.TryGetBindableParent(token); 364if (GetBindableNodeForTokenIndicatingLambda(token, out var lambdaSyntax)) 370if (GetBindableNodeForTokenIndicatingPossibleIndexerAccess(token, out var elementAccessExpression))
RemoveUnusedVariable\AbstractRemoveUnusedVariableCodeFixProvider.cs (21)
25where TLocalDeclarationStatement : SyntaxNode 26where TVariableDeclarator : SyntaxNode 27where TVariableDeclaration : SyntaxNode 31protected abstract SyntaxNode GetNodeToRemoveOrReplace(SyntaxNode node); 33protected abstract void RemoveOrReplaceNode(SyntaxEditor editor, SyntaxNode node, IBlockFactsService blockFacts); 35protected abstract SeparatedSyntaxList<SyntaxNode> GetVariables(TLocalDeclarationStatement localDeclarationStatement); 37protected abstract bool ShouldOfferFixForLocalDeclaration(IBlockFactsService blockFacts, SyntaxNode node); 44var root = await document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 45var node = root.FindNode(diagnostic.Location.SourceSpan); 57var nodesToRemove = new HashSet<SyntaxNode>(); 62var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 69var node = root.FindNode(diagnostic.Location.SourceSpan); 92var referencedSymbolNode = root.FindNode(location.Location.SourceSpan); 95var nodeToRemoveOrReplace = GetNodeToRemoveOrReplace(referencedSymbolNode); 108foreach (var node in nodesToRemove) 117protected static void RemoveNode(SyntaxEditor editor, SyntaxNode node, IBlockFactsService blockFacts) 138var statementParent = blockFacts.GetImmediateParentExecutableBlockForStatement(localDeclaration); 163private void MergeNodesToRemove(HashSet<SyntaxNode> nodesToRemove) 180foreach (var variable in GetVariables(candidate)) 192foreach (var variable in GetVariables(candidate))
ReplaceConditionalWithStatements\AbstractReplaceConditionalWithStatementsCodeRefactoringProvider.cs (29)
29where TExpressionSyntax : SyntaxNode 31where TStatementSyntax : SyntaxNode 33where TArgumentSyntax : SyntaxNode 34where TArgumentListSyntax : SyntaxNode 35where TVariableSyntax : SyntaxNode 36where TVariableDeclaratorSyntax : SyntaxNode 37where TEqualsValueClauseSyntax : SyntaxNode 85private static TConditionalExpressionSyntax? TryFindConditional(SyntaxNode? top, CancellationToken cancellationToken) 90foreach (var node in top.DescendantNodesAndSelf(DescendIntoChildren)) 99bool DescendIntoChildren(SyntaxNode node) 201var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 214var newRoot = root.ReplaceNode(statement, ifStatement); 226var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 231var declarator = syntaxFacts.GetVariablesOfLocalDeclarationStatement(localDeclarationStatement).Single(); 232var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declarator); 234var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 238var identifier = generator.IdentifierName(symbol.Name); 250var newRoot = root.ReplaceNode( 259SyntaxNode WrapGlobal(TStatementSyntax statement) 266SyntaxNode container, 268Func<SyntaxNode, SyntaxNode> wrapConvertedSyntax, 287syntaxFacts.GetPartsOfConditionalExpression(conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 294SyntaxNode Rewrite(TExpressionSyntax expression) 299var containerWithConditionalReplaced = container.ReplaceNode(conditionalExpression, TryConvert(expression, conditionalType).WithTriviaFrom(conditionalExpression)); 304SyntaxNode TryConvert(SyntaxNode expression, ITypeSymbol? conditionalType)
ReplaceDocCommentTextWithTag\AbstractReplaceDocCommentTextWithTagCodeRefactoringProvider.cs (5)
22protected abstract SyntaxNode ParseExpression(string text); 27var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 121var parsed = ParseExpression(text); 134var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 137for (var node = token.Parent; node != null; node = node.Parent)
ReplaceMethodWithProperty\AbstractReplaceMethodWithPropertyService.cs (7)
13internal abstract class AbstractReplaceMethodWithPropertyService<TMethodDeclarationSyntax> where TMethodDeclarationSyntax : SyntaxNode 16public async Task<SyntaxNode?> GetMethodDeclarationAsync(CodeRefactoringContext context) 45ISyntaxFacts syntaxFacts, GetAndSetMethods getAndSetMethods, TPropertyDeclaration property) where TPropertyDeclaration : SyntaxNode 47var getMethodDeclaration = getAndSetMethods.GetMethodDeclaration; 48var setMethodDeclaration = getAndSetMethods.SetMethodDeclaration; 75private static void AddParamListTriviaIfNeeded(ISyntaxFacts syntaxFacts, SyntaxNode methodDeclaration, List<SyntaxTrivia> finalLeadingTrivia) 77var paramList = syntaxFacts.GetParameterList(methodDeclaration);
ReplaceMethodWithProperty\IReplaceMethodWithPropertyService.cs (6)
16Task<SyntaxNode> GetMethodDeclarationAsync(CodeRefactoringContext context); 26void RemoveSetMethod(SyntaxEditor editor, SyntaxNode setMethodDeclaration); 31SyntaxNode getMethodDeclaration, SyntaxNode? setMethodDeclaration) 35public readonly SyntaxNode GetMethodDeclaration = getMethodDeclaration; 36public readonly SyntaxNode? SetMethodDeclaration = setMethodDeclaration;
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (10)
42var methodDeclaration = await service.GetMethodDeclarationAsync(context).ConfigureAwait(false); 218var root = await originalDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 234SyntaxNode root, SyntaxEditor editor, 274SyntaxNode root, SyntaxEditor editor, 362var root = await updatedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 385var setMethodDeclaration = await GetMethodDeclarationAsync(setMethod, cancellationToken).ConfigureAwait(false); 414var getMethodDeclaration = await GetMethodDeclarationAsync(getMethod, cancellationToken).ConfigureAwait(false); 415var setMethodDeclaration = await GetMethodDeclarationAsync(setMethod, cancellationToken).ConfigureAwait(false); 433private static async Task<SyntaxNode?> GetMethodDeclarationAsync(IMethodSymbol? method, CancellationToken cancellationToken) 458var syntax = await definition.DeclaringSyntaxReferences[0].GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
ReplacePropertyWithMethods\AbstractReplacePropertyWithMethodsService.cs (33)
23where TExpressionSyntax : SyntaxNode 24where TCrefSyntax : SyntaxNode 25where TStatementSyntax : SyntaxNode 26where TPropertySyntax : SyntaxNode 28public abstract SyntaxNode GetPropertyNodeToReplace(SyntaxNode propertyDeclaration); 29public abstract Task<ImmutableArray<SyntaxNode>> GetReplacementMembersAsync( 30Document document, IPropertySymbol property, SyntaxNode propertyDeclaration, IFieldSymbol? propertyBackingField, string desiredGetMethodName, string desiredSetMethodName, CancellationToken cancellationToken); 33protected abstract TCrefSyntax CreateCrefSyntax(TCrefSyntax originalCref, SyntaxToken identifierToken, SyntaxNode? parameterType); 35protected abstract TExpressionSyntax UnwrapCompoundAssignment(SyntaxNode compoundAssignment, TExpressionSyntax readExpression); 36public async Task<SyntaxNode?> GetPropertyDeclarationAsync(CodeRefactoringContext context) 39protected static SyntaxNode GetFieldReference(SyntaxGenerator generator, IFieldSymbol propertyBackingField) 41var memberName = generator.IdentifierName(propertyBackingField.Name); 56SyntaxEditor editor, SyntaxNode identifierName, 72private delegate TExpressionSyntax GetWriteValue(ReferenceReplacer replacer, SyntaxNode parent); 163var literalOne = replacer.Generator.LiteralExpression(1); 165var writeValue = replacer._syntaxFacts.IsOperandOfIncrementExpression(replacer._expression) 185private static readonly Func<SyntaxNode, SyntaxGenerator, ReplaceParentArgs, SyntaxNode> replaceParentCallback = 191var writeExpression = replacer.GetWriteExpression( 255var declarator = _expression.Parent; 258var newDeclarator = Generator.NamedAnonymousObjectMemberDeclarator( 304SyntaxNode? parameterType; 319private SyntaxNode QualifyIfAppropriate(IFieldSymbol propertyBackingField, SyntaxNode newIdentifierName) 324var container = propertyBackingField.IsStatic 341var newIdentifierName = QualifyIfAppropriate(_propertyBackingField, Generator.IdentifierName(newIdentifierToken)); 356private SyntaxNode GetWriteExpression( 364var newIdentifierName = QualifyIfAppropriate(_propertyBackingField, Generator.IdentifierName(newIdentifierToken)); 388string desiredName, SyntaxNode? argument, bool keepTrivia, string? conflictMessage) 393var newIdentifierName = Generator.IdentifierName(newIdentifier); 405var invocation = Generator.InvocationExpression(updatedExpression, arguments); 418private SyntaxNode GetSetInvocationExpression(
ReplacePropertyWithMethods\IReplacePropertyWithMethodsService.cs (6)
16Task<SyntaxNode?> GetPropertyDeclarationAsync(CodeRefactoringContext context); 20SyntaxEditor editor, SyntaxNode identifierName, 25Task<ImmutableArray<SyntaxNode>> GetReplacementMembersAsync( 27IPropertySymbol property, SyntaxNode propertyDeclaration, 33SyntaxNode GetPropertyNodeToReplace(SyntaxNode propertyDeclaration);
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (12)
45var propertyDeclaration = await service.GetPropertyDeclarationAsync(context).ConfigureAwait(false); 218var root = await originalDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 236SyntaxNode root, SyntaxEditor editor, 257var parent = nameToken.Parent; 285static bool IsInNonUpdatableLocation(ISyntaxFacts syntaxFacts, SyntaxNode parent) 328var syntax = await definition.DeclaringSyntaxReferences[0].GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 361var root = await updatedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 386var nodeToReplace = service.GetPropertyNodeToReplace(declaration); 393private static async Task<ImmutableArray<(IPropertySymbol property, SyntaxNode declaration)>> GetCurrentPropertiesAsync( 400using var _ = ArrayBuilder<(IPropertySymbol property, SyntaxNode declaration)>.GetInstance(out var result); 406var declaration = await GetPropertyDeclarationAsync(property, cancellationToken).ConfigureAwait(false); 415private static async Task<SyntaxNode?> GetPropertyDeclarationAsync(
SemanticSearch\ISemanticSearchResultsObserver.cs (1)
35ValueTask OnSyntaxNodeFoundAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
SemanticSearch\SemanticSearchDefinitionItemFactory.cs (1)
37public static ValueTask<DefinitionItem> CreateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
Shared\Extensions\DocumentExtensions.cs (13)
21where TNode : SyntaxNode 23var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 28where TNode : SyntaxNode 30var root = document.GetRequiredSyntaxRootSynchronously(cancellationToken); 34public static Document ReplaceNode<TNode>(this Document document, SyntaxNode root, TNode oldNode, TNode newNode) 35where TNode : SyntaxNode 38var newRoot = root.ReplaceNode(oldNode, newNode); 43IEnumerable<SyntaxNode> nodes, 44Func<SyntaxNode, SyntaxNode, SyntaxNode> computeReplacementNode, 47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 48var newRoot = root.ReplaceNodes(nodes, computeReplacementNode);
Shared\Utilities\AnnotatedSymbolMapping.cs (4)
50SyntaxNode typeNode, 54using var _1 = PooledDictionary<SyntaxTree, SyntaxNode>.GetInstance(out var currentRoots); 57var typeNodeRoot = await typeNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 74if (!currentRoots.TryGetValue(tree, out var root))
Shared\Utilities\ExtractTypeHelpers.cs (6)
31var originalRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 32var typeDeclaration = originalRoot.GetAnnotatedNodes(symbolMapping.TypeNodeAnnotation).Single(); 38var newTypeNode = info.Service.CreateNamedTypeDeclaration(newType, CodeGenerationDestination.Unspecified, info, cancellationToken) 99var syntaxRoot = await newTypeDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 104var declarationNode = syntaxRoot.DescendantNodes().First(syntaxFacts.IsTypeDeclaration); 105var annotatedRoot = syntaxRoot.ReplaceNode(declarationNode, declarationNode.WithAdditionalAnnotations(typeAnnotation));
SignatureHelp\CommonSignatureHelpUtilities.cs (9)
30where TArgumentList : SyntaxNode 53out int index) where TArgumentList : SyntaxNode 75where TArgumentList : SyntaxNode 84where TArgumentList : SyntaxNode 110where TSyntax : SyntaxNode 112var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 120SyntaxNode root, 128where TSyntax : SyntaxNode 164Document document, SyntaxNode initializer, MemberDisplayOptions options, CancellationToken cancellationToken)
SimplifyThisOrMe\AbstractSimplifyThisOrMeCodeFixProvider.cs (5)
22where TMemberAccessExpressionSyntax : SyntaxNode 25protected abstract SyntaxNode Rewrite(SyntaxNode root, ISet<TMemberAccessExpressionSyntax> memberAccessNodes); 40var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46var newRoot = Rewrite(root, memberAccessNodes);
SimplifyThisOrMe\AbstractSimplifyThisOrMeDiagnosticAnalyzer.cs (2)
21where TExpressionSyntax : SyntaxNode 53var node = context.Node;
SimplifyTypeNames\AbstractSimplifyTypeNamesCodeFixProvider.cs (10)
30protected abstract SyntaxNode AddSimplificationAnnotationTo(SyntaxNode node); 39private (SyntaxNode, string diagnosticId) GetNodeToSimplify( 40SyntaxNode root, SemanticModel model, TextSpan span, 49SyntaxNode topmostSimplifiableNode = null; 51foreach (var node in token.GetAncestors<SyntaxNode>()) 76var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 95var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114private bool CanSimplifyTypeNameExpression(SemanticModel model, SyntaxNode node, TSimplifierOptions options, TextSpan span, out string diagnosticId, CancellationToken cancellationToken)
Snippets\InlineExpressionInfo.cs (2)
10internal sealed class InlineExpressionInfo(SyntaxNode node, TypeInfo typeInfo) 18public SyntaxNode Node { get; } = node;
Snippets\SnippetFunctionService.cs (4)
145var syntaxRoot = await documentWithFullyQualifiedTypeName.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 146var nodeToReplace = syntaxRoot.DescendantNodes().FirstOrDefault(n => n.Span == fullyQualifiedTypeSpan); 153var updatedRoot = syntaxRoot.ReplaceNode(nodeToReplace, nodeToReplace.WithAdditionalAnnotations(typeAnnotation, Simplifier.Annotation)); 157var simplifiedRoot = await simplifiedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Snippets\SnippetProviders\AbstractConditionalBlockSnippetProvider.cs (2)
16where TStatementSyntax : SyntaxNode 17where TExpressionSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractConsoleSnippetProvider.cs (6)
25where TExpressionStatementSyntax : SyntaxNode 26where TExpressionSyntax : SyntaxNode 27where TArgumentListSyntax : SyntaxNode 43var resultingNode = generator.InvocationExpression(generator.MemberAccessExpression(generator.IdentifierName(nameof(Console)), nameof(Console.WriteLine))); 85protected sealed override TExpressionSyntax? FindAddedSnippetSyntaxNode(SyntaxNode root, int position) 87var closestNode = root.FindNode(TextSpan.FromBounds(position, position));
Snippets\SnippetProviders\AbstractConstructorSnippetProvider.cs (1)
12where TConstructorDeclarationSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractElseSnippetProvider.cs (1)
8where TElseClauseSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractForEachLoopSnippetProvider.cs (1)
11where TStatementSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractForLoopSnippetProvider.cs (1)
11where TStatementSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractIfSnippetProvider.cs (2)
14where TIfStatementSyntax : SyntaxNode 15where TExpressionSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractInlineStatementSnippetProvider.cs (8)
22where TStatementSyntax : SyntaxNode 72protected sealed override TStatementSyntax? FindAddedSnippetSyntaxNode(SyntaxNode root, int position) 74var closestNode = root.FindNode(TextSpan.FromBounds(position, position), getInnermostNodeForTie: true); 98var parentNode = targetToken.Parent; 104syntaxFacts.GetPartsOfMemberAccessExpression(parentNode, out var expression, out var dotToken, out var name); 141syntaxFacts.GetPartsOfQualifiedName(parentNode, out var expression, out var dotToken, out var right);
Snippets\SnippetProviders\AbstractLockSnippetProvider.cs (2)
13where TLockStatementSyntax : SyntaxNode 18var statement = generator.LockStatement(generator.ThisExpression(), statements: []);
Snippets\SnippetProviders\AbstractMainMethodSnippetProvider.cs (4)
14where TMethodDeclarationSyntax : SyntaxNode 15where TStatementSyntax : SyntaxNode 16where TTypeSyntax : SyntaxNode 25var method = generator.MethodDeclaration(
Snippets\SnippetProviders\AbstractPropertySnippetProvider.cs (1)
12where TPropertyDeclarationSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractSingleChangeSnippetProvider.cs (1)
13where TSnippetSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractSnippetProvider.cs (13)
23where TSnippetSyntax : SyntaxNode 95var reformattedRoot = await documentWithIndentation.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 123private static SyntaxNode? GenerateElasticTriviaForSyntax(ISyntaxFacts syntaxFacts, SyntaxNode? node) 134var nodeWithTrivia = node.ReplaceTokens(allTokens.Skip(1).Take(allTokens.Count - 2), 172var root = await snippetDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 180var nearestStatementWithTrivia = GenerateElasticTriviaForSyntax(syntaxFacts, nearestStatement); 203var annotatedSnippetRoot = await AnnotateNodesToReformatAsync(document, position, cancellationToken).ConfigureAwait(false); 211private async Task<SyntaxNode> AnnotateNodesToReformatAsync( 214var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 228protected virtual TSnippetSyntax? FindAddedSnippetSyntaxNode(SyntaxNode root, int position) 238var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 239var snippetNode = root.GetAnnotatedNodes(FindSnippetAnnotation).FirstOrDefault();
Snippets\SnippetProviders\AbstractStatementSnippetProvider.cs (1)
10where TStatementSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractTypeSnippetProvider.cs (1)
21where TTypeDeclarationSyntax : SyntaxNode
Snippets\SnippetProviders\AbstractUsingSnippetProvider.cs (2)
15where TUsingStatementSyntax : SyntaxNode 23var statement = generator.UsingStatement(generator.IdentifierName(identifierName), statements: []);
Snippets\SnippetProviders\AbstractWhileLoopSnippetProvider.cs (2)
13where TWhileStatementSyntax : SyntaxNode 14where TExpressionSyntax : SyntaxNode
SolutionCrawler\AbstractDocumentDifferenceService.cs (14)
17protected abstract bool IsContainedInMemberBody(SyntaxNode oldMember, TextSpan span); 19public async Task<SyntaxNode?> GetChangedMemberAsync(Document oldDocument, Document newDocument, CancellationToken cancellationToken) 56if (!oldDocument.TryGetSyntaxRoot(out var oldRoot) || 57!newDocument.TryGetSyntaxRoot(out var newRoot)) 104private SyntaxNode? GetChangedMember( 105ISyntaxFactsService syntaxFactsService, SyntaxNode oldRoot, SyntaxNode newRoot, TextChangeRange range) 113var oldMember = syntaxFactsService.GetContainingMemberDeclaration(oldRoot, range.Span.Start); 114var newMember = syntaxFactsService.GetContainingMemberDeclaration(newRoot, range.Span.Start); 138private static SyntaxNode? GetBestGuessChangedMember( 139ISyntaxFactsService syntaxFactsService, SyntaxNode oldRoot, SyntaxNode newRoot, TextChangeRange range) 154var oldMember = syntaxFactsService.GetContainingMemberDeclaration(oldRoot, range.Span.Start); 155var newMember = syntaxFactsService.GetContainingMemberDeclaration(newRoot, range.Span.Start);
SolutionCrawler\IDocumentDifferenceService.cs (1)
13Task<SyntaxNode?> GetChangedMemberAsync(Document oldDocument, Document newDocument, CancellationToken cancellationToken);
SolutionExplorer\ISolutionExplorerSymbolTreeItemProvider.cs (8)
17ImmutableArray<SymbolTreeItemData> GetItems(DocumentId documentId, SyntaxNode declarationNode, bool includeNamespaces, CancellationToken cancellationToken); 28where TCompilationUnitSyntax : SyntaxNode 29where TMemberDeclarationSyntax : SyntaxNode 32where TMemberStatement : SyntaxNode 42where TArgumentList : SyntaxNode 43where TArgument : SyntaxNode 58where TNode : SyntaxNode 78public ImmutableArray<SymbolTreeItemData> GetItems(DocumentId documentId, SyntaxNode node, bool returnNamespaces, CancellationToken cancellationToken)
SolutionExplorer\SymbolTreeItemData.cs (2)
14SyntaxNode DeclarationNode, 26SyntaxNode declarationNode,
SpellCheck\AbstractSpellCheckCodeFixProvider.cs (7)
21where TSimpleName : SyntaxNode 46var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 47var node = syntaxRoot.FindNode(span); 63private async Task CheckNodeAsync(CodeFixContext context, Document document, SyntaxNode node, CancellationToken cancellationToken) 105protected abstract bool DescendIntoChildren(SyntaxNode arg); 222var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 223var newRoot = root.ReplaceToken(nameToken, CreateIdentifier(nameToken, newName));
SpellCheck\AbstractSpellCheckSpanService.cs (3)
25var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 64public void Recurse(SyntaxNode root, CancellationToken cancellationToken) 259private void ProcessDocComment(SyntaxNode node, CancellationToken cancellationToken)
SplitOrMergeIfStatements\AbstractMergeIfStatementsCodeRefactoringProvider.cs (27)
22protected abstract bool IsApplicableSpan(SyntaxNode node, TextSpan span, out SyntaxNode ifOrElseIf); 28Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode upperIfOrElseIf); 31Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode lowerIfOrElseIf); 33protected abstract SyntaxNode GetChangedRoot(Document document, SyntaxNode root, SyntaxNode upperIfOrElseIf, SyntaxNode lowerIfOrElseIf); 38var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 39var node = root.FindNode(textSpan, getInnermostNodeForTie: true); 41if (IsApplicableSpan(node, textSpan, out var ifOrElseIf)) 46if (await CanBeMergedUpAsync(document, ifOrElseIf, cancellationToken, out var upperIfOrElseIf).ConfigureAwait(false)) 49if (await CanBeMergedDownAsync(document, ifOrElseIf, cancellationToken, out var lowerIfOrElseIf).ConfigureAwait(false)) 68var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70var upperIfOrElseIf = FindIfOrElseIf(upperIfOrElseIfSpan, ifGenerator, root); 71var lowerIfOrElseIf = FindIfOrElseIf(lowerIfOrElseIfSpan, ifGenerator, root); 76var newRoot = GetChangedRoot(document, root, upperIfOrElseIf, lowerIfOrElseIf); 79static SyntaxNode FindIfOrElseIf(TextSpan span, IIfLikeStatementGenerator ifGenerator, SyntaxNode root) 81var innerMatch = root.FindNode(span, getInnermostNodeForTie: true); 82return innerMatch?.FirstAncestorOrSelf<SyntaxNode>( 87protected static IReadOnlyList<SyntaxNode> WalkDownScopeBlocks( 89IReadOnlyList<SyntaxNode> statements) 100protected static IReadOnlyList<SyntaxNode> WalkUpScopeBlocks( 102IReadOnlyList<SyntaxNode> statements)
SplitOrMergeIfStatements\AbstractSplitIfStatementCodeRefactoringProvider.cs (22)
24protected abstract Task<SyntaxNode> GetChangedRootAsync( 26SyntaxNode root, 27SyntaxNode ifOrElseIf, 28SyntaxNode leftCondition, 29SyntaxNode rightCondition, 35var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 48if (IsPartOfBinaryExpressionChain(token, GetLogicalExpressionKind(syntaxKinds), out var rootExpression) && 49ifGenerator.IsCondition(rootExpression, out var ifOrElseIf)) 64var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 67var ifOrElseIf = FindIfOrElseIf(ifOrElseIfSpan); 71var newRoot = await GetChangedRootAsync(document, root, ifOrElseIf, left, right, cancellationToken).ConfigureAwait(false); 74SyntaxNode FindIfOrElseIf(TextSpan span) 76var innerMatch = root.FindNode(span, getInnermostNodeForTie: true); 77return innerMatch?.FirstAncestorOrSelf<SyntaxNode>( 82private static bool IsPartOfBinaryExpressionChain(SyntaxToken token, int syntaxKind, out SyntaxNode rootExpression) 98private static (SyntaxNode left, SyntaxNode right) SplitBinaryExpressionChain( 99SyntaxToken token, SyntaxNode rootExpression, ISyntaxFactsService syntaxFacts) 108syntaxFacts.GetPartsOfBinaryExpression(token.Parent, out var parentLeft, out _, out var parentRight); 110var left = parentLeft; 111var right = rootExpression.ReplaceNode(token.Parent, parentRight);
SplitOrMergeIfStatements\Consecutive\AbstractMergeConsecutiveIfStatementsCodeRefactoringProvider.cs (24)
56Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode firstIfOrElseIf) 69Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode secondIfOrElseIf) 81protected sealed override SyntaxNode GetChangedRoot(Document document, SyntaxNode root, SyntaxNode firstIfOrElseIf, SyntaxNode secondIfOrElseIf) 87var newCondition = generator.LogicalOrExpression( 140SyntaxNode ifOrElseIf, 141out SyntaxNode parentIfOrElseIf) 151SyntaxNode ifOrElseIf, 152out SyntaxNode elseIfClause) 163SyntaxNode ifOrElseIf, 165out SyntaxNode previousStatement) 177SyntaxNode ifOrElseIf, 179out SyntaxNode nextStatement) 191SyntaxNode firstStatement, 192SyntaxNode secondStatement, 229SyntaxNode ifOrElseIf, 231out SyntaxNode statement) 249SyntaxNode ifStatement1, 250SyntaxNode ifStatement2, 251out IReadOnlyList<SyntaxNode> statements)
SplitOrMergeIfStatements\Consecutive\AbstractSplitIntoConsecutiveIfStatementsCodeRefactoringProvider.cs (8)
53protected sealed override async Task<SyntaxNode> GetChangedRootAsync( 55SyntaxNode root, 56SyntaxNode ifOrElseIf, 57SyntaxNode leftCondition, 58SyntaxNode rightCondition, 85var secondIfStatement = ifGenerator.WithCondition(ifOrElseIf, rightCondition) 107var elseIfClause = ifGenerator.WithCondition(ifGenerator.ToElseIfClause(ifOrElseIf), rightCondition); 119SyntaxNode ifOrElseIf,
SplitOrMergeIfStatements\IIfLikeStatementGenerator.cs (32)
18bool IsIfOrElseIf(SyntaxNode node); 20bool IsCondition(SyntaxNode expression, out SyntaxNode ifOrElseIf); 22bool IsElseIfClause(SyntaxNode node, out SyntaxNode parentIfOrElseIf); 24bool HasElseIfClause(SyntaxNode ifOrElseIf, out SyntaxNode elseIfClause); 26SyntaxNode GetCondition(SyntaxNode ifOrElseIf); 31SyntaxNode GetRootIfStatement(SyntaxNode ifOrElseIf); 36ImmutableArray<SyntaxNode> GetElseIfAndElseClauses(SyntaxNode ifOrElseIf); 38SyntaxNode WithCondition(SyntaxNode ifOrElseIf, SyntaxNode condition); 40SyntaxNode WithStatementInBlock(SyntaxNode ifOrElseIf, SyntaxNode statement); 42SyntaxNode WithStatementsOf(SyntaxNode ifOrElseIf, SyntaxNode otherIfOrElseIf); 44SyntaxNode WithElseIfAndElseClausesOf(SyntaxNode ifStatement, SyntaxNode otherIfStatement); 49SyntaxNode ToIfStatement(SyntaxNode ifOrElseIf); 54SyntaxNode ToElseIfClause(SyntaxNode ifOrElseIf); 60void InsertElseIfClause(SyntaxEditor editor, SyntaxNode afterIfOrElseIf, SyntaxNode elseIfClause); 65void RemoveElseIfClause(SyntaxEditor editor, SyntaxNode elseIfClause);
SplitOrMergeIfStatements\Nested\AbstractMergeNestedIfStatementsCodeRefactoringProvider.cs (21)
44Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode outerIfOrElseIf) 57Document document, SyntaxNode ifOrElseIf, CancellationToken cancellationToken, out SyntaxNode innerIfStatement) 69protected sealed override SyntaxNode GetChangedRoot(Document document, SyntaxNode root, SyntaxNode outerIfOrElseIf, SyntaxNode innerIfStatement) 77var newCondition = generator.LogicalAndExpression( 81var newIfOrElseIf = ifGenerator.WithStatementsOf( 91SyntaxNode statement, 92out SyntaxNode ifOrElseIf) 120SyntaxNode ifOrElseIf, 121out SyntaxNode ifStatement) 149SyntaxNode outerIfOrElseIf, 150SyntaxNode innerIfStatement, 200var outerIfStatement = ifGenerator.GetRootIfStatement(outerIfOrElseIf); 232SyntaxNode elseIfOrElseClause1, 233SyntaxNode elseIfOrElseClause2) 247var condition1 = ifGenerator.GetCondition(elseIfOrElseClause1); 248var condition2 = ifGenerator.GetCondition(elseIfOrElseClause2);
SplitOrMergeIfStatements\Nested\AbstractSplitIntoNestedIfStatementsCodeRefactoringProvider.cs (7)
40protected sealed override Task<SyntaxNode> GetChangedRootAsync( 42SyntaxNode root, 43SyntaxNode ifOrElseIf, 44SyntaxNode leftCondition, 45SyntaxNode rightCondition, 53var innerIfStatement = ifGenerator.WithCondition(ifGenerator.ToIfStatement(ifOrElseIf), rightCondition); 54var outerIfOrElseIf = ifGenerator.WithCondition(ifGenerator.WithStatementInBlock(ifOrElseIf, innerIfStatement), leftCondition);
src\4f5ad909b1ed0e10\AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (12)
24where TExpressionSyntax : SyntaxNode 64conditionalExpression, out var conditionNode, out var whenTrueNodeHigh, out var whenFalseNodeHigh); 67var whenTrueNodeLow = syntaxFacts.WalkDownParentheses(whenTrueNodeHigh); 68var whenFalseNodeLow = syntaxFacts.WalkDownParentheses(whenFalseNodeHigh); 80syntaxFacts.GetPartsOfMemberAccessExpression(conditionMemberAccess, out var conditionExpression, out var conditionSimpleName); 86var whenPartToCheck = notHasValueExpression ? whenFalseNodeLow : whenTrueNodeLow; 90syntaxFacts.GetPartsOfMemberAccessExpression(whenPartMemberAccess, out var whenPartExpression, out var whenPartSimpleName); 118var whenPartToKeep = notHasValueExpression ? whenTrueNodeHigh : whenFalseNodeHigh;
src\939a5660f39ce290\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (7)
29where TStatementSyntax : SyntaxNode 32where TVariableDeclaratorSyntax : SyntaxNode 33where TExpressionSyntax : SyntaxNode 64var ifStatement = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 110var assignment = generator.AssignmentStatement(assignmentOperation.Target.Syntax, conditionalExpression); 140var localDeclaration = localDeclarationOperation.Syntax; 149var updatedLocalDeclaration = localDeclaration.ReplaceNode(variable, updatedVariable);
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (2)
126var root = firstBlock.Syntax.SyntaxTree.GetRoot(context.CancellationToken); 128var memberDecl = symbolStartAnalyzer._compilationAnalyzer.SyntaxFacts.GetContainingMemberDeclaration(root, spanStart, useFullSpan: false);
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (2)
80var syntax = syntaxRef.GetSyntax(cancellationToken); 263var methodSyntax = method.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax(cancellationToken);
src\f2477eb0f086ba59\AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
19where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\AbstractAddAccessibilityModifiers.cs (2)
11where TMemberDeclarationSyntax : SyntaxNode 15SyntaxNode member,
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs (2)
19where TCompilationUnitSyntax : SyntaxNode 58SyntaxNode member)
src\roslyn\src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\IAddAccessibilityModifiersService.cs (1)
19SyntaxNode member,
src\roslyn\src\Analyzers\Core\Analyzers\AddRequiredParentheses\AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs (1)
21where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\ConvertTypeofToNameof\AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (2)
34var node = context.Operation.Syntax; 35var parent = node.Parent;
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderDiagnosticAnalyzer.cs (1)
49var root = tree.GetRoot(context.CancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderHelper.cs (1)
33public FileHeader ParseFileHeader(SyntaxNode root)
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
23where TForEachStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\Formatting\AbstractFormattingAnalyzer.cs (1)
50var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
25where TThisExpression : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\MatchFolderAndNamespace\AbstractMatchFolderAndNamespaceDiagnosticAnalyzer.cs (4)
23where TNamespaceSyntax : SyntaxNode 86var nameSyntax = GetSyntaxFacts().GetNameOfBaseNamespaceDeclaration(namespaceDecl); 102var root = namespaceDeclaration.SyntaxTree.GetRoot(cancellationToken); 184foreach (var typeDecl in typeDeclarations)
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (7)
16where TExecutableStatementSyntax : SyntaxNode 30protected abstract bool IsBlockLikeStatement(SyntaxNode node); 31protected abstract Location GetDiagnosticLocation(SyntaxNode block); 49using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 52while (stack.TryPop(out var node)) 67if (child.AsNode(out var childNode)) 73private void ProcessBlockLikeStatement(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, SyntaxNode block)
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesDiagnosticAnalyzer.cs (3)
45using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 48while (stack.TryPop(out var node)) 61if (child.AsNode(out var childNode))
src\roslyn\src\Analyzers\Core\Analyzers\OrderModifiers\AbstractOrderModifiersDiagnosticAnalyzer.cs (3)
51var analysisRoot = context.GetAnalysisRoot(findInTrivia: false); 64SyntaxNode root); 70SyntaxNode memberDeclaration)
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchDiagnosticAnalyzer.cs (1)
21where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs (1)
15where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\PopulateSwitch\AbstractPopulateSwitchStatementDiagnosticAnalyzer.cs (1)
15where TSwitchSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18where TExpressionSyntax : SyntaxNode 42protected abstract bool CanMemberAccessBeQualified(ISymbol containingSymbol, SyntaxNode node);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
34var syntax = context.Operation.Syntax; 56var syntax = context.Operation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryCast\AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs (1)
18where TCastExpression : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (9)
20where TSyntaxNode : SyntaxNode 70protected abstract ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<TSyntaxNode> unnecessaryImports); 74protected abstract SyntaxToken? TryGetLastToken(SyntaxNode node); 146private IEnumerable<TextSpan> GetContiguousSpans(ImmutableArray<SyntaxNode> nodes) 149(SyntaxNode node, TextSpan textSpan)? previous = null; 152foreach (var node in nodes.OrderBy(n => n.SpanStart)) 184int GetEnd(SyntaxNode node) 214IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken); 217IEnumerable<SyntaxNode> nodes, SyntaxTree tree, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (2)
22where TParenthesizedExpressionSyntax : SyntaxNode 74var child = syntaxFacts.GetExpressionOfParenthesizedExpression(parenthesizedExpression);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs (1)
73public void AnalyzeAssemblyOrModuleAttribute(SyntaxNode attributeSyntax, SemanticModel model, Action<Diagnostic> reportDiagnostic, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (23)
49protected abstract bool ContainsPragmaDirective(SyntaxNode root); 127var root = tree.GetRoot(cancellationToken); 166using var _5 = PooledDictionary<string, List<SyntaxNode>>.GetInstance(out var idToSuppressMessageAttributesMap); 167using var _6 = PooledDictionary<SyntaxNode, bool>.GetInstance(out var suppressMessageAttributesToIsUsedMap); 210foreach (var attributeNode in attributeNodes) 226SyntaxNode root, 251foreach (var errorCodeNode in errorCodeNodes) 297SyntaxNode idNode, 391SyntaxNode root, 512PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 513PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 586PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 587PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 596var attributeNode = await attribute.ApplicationSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 597foreach (var node in suppressMessageAttributesForId) 611PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 663PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 733SyntaxNode root, 736PooledDictionary<string, List<SyntaxNode>> idToSuppressMessageAttributesMap, 737PooledDictionary<SyntaxNode, bool> suppressMessageAttributesToIsUsedMap, 749using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(discardLargeInstances: false, out var declarationNodes); 755foreach (var node in declarationNodes) 819var attributeNode = await attribute.ApplicationSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\SuppressMessageAttributeState.cs (1)
43SyntaxNode attributeSyntax,
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (12)
31where TDocumentationCommentTriviaSyntax : SyntaxNode 32where TIdentifierNameSyntax : SyntaxNode 34where TMemberDeclarationSyntax : SyntaxNode 68protected abstract SyntaxNode GetParentIfSoleDeclarator(SyntaxNode declaration); 495var parameterSyntax = reference.GetSyntax(cancellationToken); 496var equalsValueSyntax = syntaxFacts.GetDefaultOfParameter(parameterSyntax); 501var valueSyntax = syntaxFacts.GetValueOfEqualsValueClause(equalsValueSyntax); 513SyntaxNode valueSyntax, 518foreach (var node in valueSyntax.DescendantNodesAndSelf()) 703var fadingNode = fadingLocation?.GetSyntax(cancellationToken) ?? diagnosticLocation.FindNode(cancellationToken); 856SyntaxNode memberDeclaration, ArrayBuilder<TDocumentationCommentTriviaSyntax> documentationComments)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (2)
111protected abstract bool IsIfConditionalDirective(SyntaxNode node); 112protected abstract bool ReturnsThrow([NotNullWhen(true)] SyntaxNode? node);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyBooleanExpression\AbstractSimplifyConditionalDiagnosticAnalyzer.cs (4)
22where TExpressionSyntax : SyntaxNode 76conditionalExpression, out var conditionNode, out var whenTrueNode, out var whenFalseNode);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationDiagnosticAnalyzer.cs (2)
22where TInterpolationSyntax : SyntaxNode 23where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (4)
24where TInterpolationSyntax : SyntaxNode 25where TExpressionSyntax : SyntaxNode 29protected abstract SyntaxNode GetPreservedInterpolationExpressionSyntax(IOperation operation); 289var alignmentSyntax = alignmentOp.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
28where TExpressionSyntax : SyntaxNode 210SyntaxFacts.GetExpressionOfMemberAccessExpression(memberAccess) is not SyntaxNode expression) 223var memberName = SyntaxFacts.GetNameOfMemberAccessExpression(memberAccess);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyTypeNames\SimplifyTypeNamesDiagnosticAnalyzerBase.cs (8)
64internal abstract bool IsCandidate(SyntaxNode node); 66SemanticModel model, SyntaxNode node, TSimplifierOptions options, 96protected abstract bool IsIgnoredCodeBlock(SyntaxNode codeBlock); 97protected abstract ImmutableArray<Diagnostic> AnalyzeCodeBlock(CodeBlockAnalysisContext context, SyntaxNode root); 98protected abstract ImmutableArray<Diagnostic> AnalyzeSemanticModel(SemanticModelAnalysisContext context, SyntaxNode root, TextSpanMutableIntervalTree? codeBlockIntervalTree); 100public bool TrySimplify(SemanticModel model, SyntaxNode node, [NotNullWhen(true)] out Diagnostic? diagnostic, TSimplifierOptions options, AnalyzerOptions analyzerOptions, CancellationToken cancellationToken) 223var root = context.GetAnalysisRoot(findInTrivia: true); 279var root = context.GetAnalysisRoot(findInTrivia: true);
src\roslyn\src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (27)
38where TPropertyDeclaration : SyntaxNode 39where TConstructorDeclaration : SyntaxNode 40where TFieldDeclaration : SyntaxNode 41where TVariableDeclarator : SyntaxNode 42where TExpression : SyntaxNode 49private static readonly ObjectPool<ConcurrentSet<SyntaxNode>> s_nodeSetPool = new(() => []); 51private static readonly ObjectPool<ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>>> s_fieldToUsageLocationPool = new(() => []); 58protected static void AddFieldUsage(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, IFieldSymbol field, SyntaxNode location) 61private static void ClearAndFree(ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> multiMap) 89protected abstract SyntaxNode GetFieldNode(TFieldDeclaration fieldDeclaration, TVariableDeclarator variableDeclarator); 94HashSet<string> fieldNames, ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, SemanticModel semanticModel, SyntaxNode codeBlock, CancellationToken cancellationToken); 202var analysisRoot = context.GetAnalysisRoot(findInTrivia: false); 203foreach (var node in analysisRoot.DescendantNodes()) 212if (!shouldAnalyze && analysisRoot.FirstAncestorOrSelf<SyntaxNode>(node => node is TPropertyDeclaration or TFieldDeclaration) == null) 222ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 223ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 225SyntaxNode codeBlock, 538ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> ineligibleFieldUsageIfOutsideProperty, 539ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldReads, 540ConcurrentDictionary<IFieldSymbol, ConcurrentSet<SyntaxNode>> fieldWrites, 625static bool NotWithinProperty(IEnumerable<SyntaxNode> nodes, TPropertyDeclaration propertyDeclaration) 627foreach (var node in nodes) 636static IEnumerable<SyntaxNode> NonConstructorLocations(IEnumerable<SyntaxNode> nodes) 643var fieldNode = GetFieldNode(result.FieldDeclaration, variableDeclarator);
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer.cs (14)
25where TExpressionSyntax : SyntaxNode 26where TStatementSyntax : SyntaxNode 27where TVariableDeclarator : SyntaxNode 37protected abstract SyntaxNode GetDeclarationNode(TVariableDeclarator declarator); 80var thrownExpression = syntaxFacts.GetExpressionOfThrowStatement(whenTrueStatement); 175var equalsValue = syntaxFacts.GetInitializerOfVariableDeclarator(declarator); 191if (!IsLegalWhenTrueStatementForAssignment(out var whenPartToAnalyze)) 197foreach (var identifier in whenPartToAnalyze.DescendantNodesAndSelf()) 210bool IsLegalWhenTrueStatementForAssignment([NotNullWhen(true)] out SyntaxNode? whenPartToAnalyze) 229syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var left, out var right); 252syntaxFacts.GetPartsOfAssignmentStatement(assignmentStatement, out var topAssignmentLeft, out var topAssignmentRight); 275syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var innerAssignmentLeft, out _);
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (12)
21where TExpressionSyntax : SyntaxNode 58conditionalExpression, out var conditionNode, out var whenTrueNodeHigh, out var whenFalseNodeHigh); 61var whenTrueNodeLow = syntaxFacts.WalkDownParentheses(whenTrueNodeHigh); 62var whenFalseNodeLow = syntaxFacts.WalkDownParentheses(whenFalseNodeHigh); 73syntaxFacts.GetPartsOfBinaryExpression(condition, out var conditionLeftHigh, out var conditionRightHigh); 75var conditionLeftLow = syntaxFacts.WalkDownParentheses(conditionLeftHigh); 76var conditionRightLow = syntaxFacts.WalkDownParentheses(conditionRightHigh); 121var conditionPartToCheck = conditionRightIsNull ? conditionLeftHigh : conditionRightHigh; 122var whenPartToCheck = isEquals ? whenTrueNodeHigh : whenFalseNodeHigh;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionExpression\CollectionExpressionMatch.cs (1)
22bool UseKeyValue = false) where TMatchNode : SyntaxNode;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (5)
23where TExpressionSyntax : SyntaxNode 24where TStatementSyntax : SyntaxNode 27where TVariableDeclaratorSyntax : SyntaxNode 152out var left, out var right);
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerAnalyzer.cs (12)
31CollectionMatch<SyntaxNode>, TAnalyzer> 32where TExpressionSyntax : SyntaxNode 33where TStatementSyntax : SyntaxNode 39where TVariableDeclaratorSyntax : SyntaxNode 53protected abstract bool IsComplexElementInitializer(SyntaxNode expression, out int initializerElementCount); 57ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 58ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches, 109ArrayBuilder<CollectionMatch<SyntaxNode>> preMatches, 110ArrayBuilder<CollectionMatch<SyntaxNode>> postMatches, 118var initializer = this.SyntaxFacts.GetInitializerOfBaseObjectCreationExpression(_objectCreationExpression); 165private CollectionMatch<SyntaxNode>? TryAnalyzeStatement( 173private CollectionMatch<SyntaxNode>? TryAnalyzeStatementForCollectionInitializer(
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (8)
31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 83ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 177? ImmutableArray<SyntaxNode>.Empty 202(ImmutableArray<CollectionMatch<SyntaxNode>> matches, bool shouldUseCollectionExpression, bool changesSemantics)? GetCollectionInitializerMatches() 219(ImmutableArray<CollectionMatch<SyntaxNode>> matches, bool shouldUseCollectionExpression, bool changesSemantics)? GetCollectionExpressionMatches() 245ImmutableArray<CollectionMatch<SyntaxNode>> matches,
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\IUpdateExpressionSyntaxHelper.cs (2)
12where TExpressionSyntax : SyntaxNode 13where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (20)
30where TExpressionSyntax : SyntaxNode 31where TStatementSyntax : SyntaxNode 98SyntaxNode expression, 246var memberAccess = instance.GetRequiredParent(); 294out SeparatedSyntaxList<SyntaxNode> arguments) 309var memberAccess = this.SyntaxFacts.GetExpressionOfInvocationExpression(invocationExpression); 313this.SyntaxFacts.GetPartsOfMemberAccessExpression(memberAccess, out var localInstance, out var memberName); 319foreach (var argument in arguments) 324var argumentExpression = this.SyntaxFacts.GetExpressionOfArgument(argument); 368this.SyntaxFacts.GetPartsOfAssignmentStatement(statement, out var left, out var right); 380this.SyntaxFacts.GetPartsOfElementAccessExpression(left, out var elementInstance, out var argumentList); 385foreach (var argument in elementAccessArguments) 392var argExpression = this.SyntaxFacts.GetExpressionOfArgument(argument); 408public CollectionMatch<SyntaxNode>? TryAnalyzeStatementForCollectionExpression( 426CollectionMatch<SyntaxNode>? TryAnalyzeExpressionStatement(TStatementSyntax expressionStatement) 449CollectionMatch<SyntaxNode>? TryAnalyzeForeachStatement( 483CollectionMatch<SyntaxNode>? TryAnalyzeIfStatement(TStatementSyntax ifStatement)
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UseCollectionInitializerHelpers.cs (8)
24CollectionMatch<SyntaxNode> matchInfo) 26var match = matchInfo.Node; 30var expression = syntaxFacts.GetExpressionOfExpressionStatement(match); 46var expression = syntaxFacts.GetExpressionOfForeachStatement(match); 59TStatementSyntax initialStatement) where TStatementSyntax : SyntaxNode 64var containingBlockOrCompilationUnit = initialStatement.GetRequiredParent(); 77var childNode = child.AsNode()!; 78var extractedChild = syntaxFacts.IsGlobalStatement(childNode)
src\roslyn\src\Analyzers\Core\Analyzers\UseCompoundAssignment\AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs (6)
20where TAssignmentSyntax : SyntaxNode 21where TBinaryExpressionSyntax : SyntaxNode 88out var assignmentLeft, out var assignmentToken, out var assignmentRight); 112out var binaryLeft, out var binaryRight);
src\roslyn\src\Analyzers\Core\Analyzers\UseCompoundAssignment\UseCompoundAssignmentUtilities.cs (7)
41ISyntaxFacts syntaxFacts, SyntaxNode expr, SemanticModel semanticModel, CancellationToken cancellationToken) 47ISyntaxFacts syntaxFacts, SyntaxNode expr, SemanticModel semanticModel, 73out _, out var expression, out _); 81out var subExpr, out _); 89out var expression, out var whenNotNull); 99SyntaxNode expr, SemanticModel semanticModel, bool isTopLevel, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\AbstractUseConditionalExpressionDiagnosticAnalyzer.cs (1)
24where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (2)
189bool ContainsReference(SyntaxNode nullCheckedExpression, SyntaxNode? within)
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
19where TIfStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\UseConditionalExpressionHelpers.cs (1)
77public static bool HasRegularComments(ISyntaxFacts syntaxFacts, SyntaxNode syntax)
src\roslyn\src\Analyzers\Core\Analyzers\UseExplicitTupleName\UseExplicitTupleNameDiagnosticAnalyzer.cs (2)
57var memberAccessSyntax = fieldReferenceOperation.Syntax; 58var nameNode = memberAccessSyntax.ChildNodesAndTokens().Reverse().FirstOrDefault().AsNode();
src\roslyn\src\Analyzers\Core\Analyzers\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (9)
68var invocation = context.Node; 71var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocation); 72var nameNode = syntaxFacts.IsIdentifierName(expression) 148private static ITypeParameterSymbol? GetGenericParameterSymbol(ISyntaxFacts syntaxFacts, SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2, CancellationToken cancellationToken) 150var valueNode = syntaxFacts.IsNullLiteralExpression(syntaxFacts.GetExpressionOfArgument(node1)) ? node2 : node1; 151var argumentExpression = syntaxFacts.GetExpressionOfArgument(valueNode); 161private static bool MatchesPattern(ISyntaxFacts syntaxFacts, SyntaxNode node1, SyntaxNode node2)
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (2)
102syntaxFacts.GetPartsOfAssignmentStatement(nullAssignmentOpt, out var assignLeft, out _, out var assignRight);
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer.cs (13)
55where TExpressionSyntax : SyntaxNode 56where TStatementSyntax : SyntaxNode 113public (TExpressionSyntax conditionalPart, SyntaxNode whenPart)? GetPartsOfConditionalExpression( 162conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 318syntaxFacts.GetPartsOfBinaryExpression(condition, out var conditionLeft, out var conditionRight); 339var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocation); 340var nameNode = syntaxFacts.IsIdentifierName(expression) 432syntaxFacts.GetPartsOfCastExpression(node, out var type, out var expression); 461syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out var left, out _, out _);
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AnalysisResults.cs (2)
21where TExpressionSyntax : SyntaxNode 22where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\AbstractUseObjectInitializerDiagnosticAnalyzer.cs (4)
28where TExpressionSyntax : SyntaxNode 29where TStatementSyntax : SyntaxNode 34where TVariableDeclaratorSyntax : SyntaxNode 128var nodes = ImmutableArray.Create<SyntaxNode>(containingStatement).AddRange(matches.Select(m => m.Statement));
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\UseNamedMemberInitializerAnalyzer.cs (14)
32where TExpressionSyntax : SyntaxNode 33where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 80var initializer = this.SyntaxFacts.GetInitializerOfBaseObjectCreationExpression(_objectCreationExpression); 83foreach (var init in this.SyntaxFacts.GetInitializersOfObjectMemberInitializer(initializer)) 87this.SyntaxFacts.GetPartsOfNamedMemberInitializer(init, out var name, out _); 104statement, out var left, out var right); 166var name = this.SyntaxFacts.GetNameOfMemberAccessExpression(leftMemberAccess); 197private bool ImplicitMemberAccessWouldBeAffected(SyntaxNode node) 203if (child.AsNode(out var childNode) && 212var expression = this.SyntaxFacts.GetExpressionOfMemberAccessExpression( 237where TExpressionSyntax : SyntaxNode 238where TStatementSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (2)
77var throwStatementSyntax = throwOperation.Syntax; 272var throwStatement = throwOperation.Syntax;
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (18)
63protected abstract SyntaxNode GetArgumentExpression(SyntaxNode syntaxNode); 64protected abstract SyntaxNode? TryGetMatchingNamedArgument(SeparatedSyntaxList<SyntaxNode> arguments, string searchArgumentName); 92var expression = syntaxFacts.GetExpressionOfInvocationExpression(context.Node); 125var formatStringLiteralExpressionSyntax = TryGetFormatStringLiteralExpressionSyntax( 158private static bool IsValidFormatMethod(ISyntaxFacts syntaxFacts, SyntaxNode expression) 163var nameOfMemberAccessExpression = syntaxFacts.GetNameOfMemberAccessExpression(expression); 182SeparatedSyntaxList<SyntaxNode> arguments, 192SeparatedSyntaxList<SyntaxNode> arguments, 196var argsArgument = TryGetArgument(NameOfArgsParameter, arguments, parameters); 203var expression = syntaxFacts.GetExpressionOfArgument(argsArgument); 207protected SyntaxNode? TryGetArgument( 209SeparatedSyntaxList<SyntaxNode> arguments, 213var matchingNamedArgument = TryGetMatchingNamedArgument(arguments, searchArgumentName); 257protected SyntaxNode? TryGetFormatStringLiteralExpressionSyntax( 258SeparatedSyntaxList<SyntaxNode> arguments, 262var formatArgumentSyntax = TryGetArgument(
src\roslyn\src\Analyzers\Core\CodeFixes\AddAccessibilityModifiers\AbstractAddAccessibilityModifiersCodeFixProvider.cs (4)
19protected abstract SyntaxNode MapToDeclarator(SyntaxNode declaration); 47var declaration = diagnostic.AdditionalLocations[0].FindNode(cancellationToken); 48var declarator = MapToDeclarator(declaration);
src\roslyn\src\Analyzers\Core\CodeFixes\AddAccessibilityModifiers\AddAccessibilityModifiersHelpers.cs (3)
13SyntaxEditor editor, ISymbol symbol, SyntaxNode declaration) 27SyntaxNode UpdateAccessibility(SyntaxNode declaration, Accessibility preferredAccessibility)
src\roslyn\src\Analyzers\Core\CodeFixes\AddAnonymousTypeMemberName\AbstractAddAnonymousTypeMemberNameCodeFixProvider.cs (5)
23where TExpressionSyntax : SyntaxNode 24where TAnonymousObjectInitializer : SyntaxNode 25where TAnonymousObjectMemberDeclaratorSyntax : SyntaxNode 56var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 125var anonymousType = current.Parent;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\AbstractAddExplicitCastCodeFixProvider.cs (13)
21where TExpressionSyntax : SyntaxNode 30protected abstract void GetPartsOfCastOrConversionExpression(TExpressionSyntax expression, out SyntaxNode type, out TExpressionSyntax castedExpression); 48Document document, SemanticModel semanticModel, SyntaxNode root, 60Document document, SemanticModel semanticModel, SyntaxNode root, 71var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 114private (SyntaxNode finalTarget, SyntaxNode finalReplacement) ApplyFix( 134(SyntaxNode finalTarget, SyntaxNode finalReplacement) ApplyFixWorker() 139GetPartsOfCastOrConversionExpression(targetNode, out var castTypeNode, out var castedExpression); 159protected virtual (SyntaxNode finalTarget, SyntaxNode finalReplacement) Cast(SemanticModel semanticModel, TExpressionSyntax targetNode, ITypeSymbol conversionType) 216var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (8)
19where TArgumentSyntax : SyntaxNode 20where TArgumentListSyntax : SyntaxNode 21where TInvocationSyntax : SyntaxNode 41SyntaxNode root, 111SyntaxNode root, 205SyntaxNode root, 208SyntaxNode targetNode) 210var newRoot = root.ReplaceNode(oldArgumentList, GenerateNewArgumentList(oldArgumentList, newArguments));
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\InheritanceDistanceComparer.cs (1)
35where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddObsoleteAttribute\AbstractAddObsoleteAttributeCodeFixProvider.cs (8)
43var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45var node = context.Diagnostics[0].Location.FindNode(cancellationToken); 47var container = GetContainer(root, node); 64private SyntaxNode? GetContainer(SyntaxNode root, SyntaxNode node) 79var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 86foreach (var container in containers)
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (17)
31where TArgumentSyntax : SyntaxNode 32where TArgumentListSyntax : SyntaxNode 33where TAttributeArgumentListSyntax : SyntaxNode 34where TExpressionSyntax : SyntaxNode 47protected abstract ITypeSymbol GetArgumentType(SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken); 58SyntaxNode node, 68var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70var initialNode = root.FindNode(diagnostic.Location.SourceSpan); 74for (var node = initialNode; node != null; node = node.Parent) 109SyntaxNode initialNode, SyntaxNode node, Diagnostic diagnostic) 128SyntaxNode node, 133var expression = syntaxFacts.GetExpressionOfInvocationExpression(invocationExpression); 149SyntaxNode node, 156var typeNode = syntaxFacts.IsImplicitObjectCreationExpression(node) 424var expression = syntaxFacts.GetExpressionOfArgument(argument); 474var expressionOfArgument = syntaxFacts.GetExpressionOfArgument(argument);
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (8)
87where TExpressionSyntax : SyntaxNode 113var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 118var methodNode = syntaxRoot.FindNode(currentMethodToUpdate.Locations[0].SourceSpan, getInnermostNodeForTie: true); 130var argumentInitializer = parameterMustBeOptional ? generator.DefaultExpression(newParameterType) : null; 131var parameterDeclaration = generator 148var newRoot = editor.GetChangedRoot(); 183var rewrittenSyntaxRoot = await rewrittenDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 185var parameterDeclaration = rewrittenSyntaxRoot.GetAnnotatedNodes(s_annotation).SingleOrDefault();
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\ArgumentInsertPositionData.cs (1)
7internal readonly struct ArgumentInsertPositionData<TArgumentSyntax>(IMethodSymbol methodToUpdate, TArgumentSyntax argumentToInsert, int argumentInsertionIndex) where TArgumentSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\RegisterFixData.cs (1)
10where TArgumentSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\AddRequiredParentheses\AddRequiredParenthesesCodeFixProvider.cs (1)
45var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\AliasAmbiguousType\AbstractAliasAmbiguousTypeCodeFixProvider.cs (4)
34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var diagnosticNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 61var aliasDirective = syntaxGenerator.AliasImportDeclaration(typeName, symbol); 62var newRoot = addImportService.AddImport(semanticModel, root, diagnosticNode, aliasDirective, syntaxGenerator, placementOption, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\ConflictMarkerResolution\AbstractConflictMarkerCodeFixProvider.cs (3)
74var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 85SyntaxNode root, SourceText text, int position, 406var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertToAsync\AbstractConvertToAsyncCodeFixProvider.cs (9)
18protected abstract Task<string> GetDescriptionAsync(Diagnostic diagnostic, SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken); 19protected abstract Task<(SyntaxTree syntaxTree, SyntaxNode root)?> GetRootInOtherSyntaxTreeAsync(SyntaxNode node, SemanticModel semanticModel, Diagnostic diagnostic, CancellationToken cancellationToken); 23var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 24if (!TryGetNode(root, context.Span, out var node)) 38SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 41var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>(); 52SyntaxNode node, Document document, Diagnostic diagnostic, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertTypeOfToNameOf\AbstractConvertTypeOfToNameOfCodeFixProvider.cs (6)
17where TMemberAccessExpressionSyntax : SyntaxNode 21protected abstract SyntaxNode ConvertToUnboundGeneric(ParseOptions options, SyntaxNode nameOfSyntax); 22protected abstract SyntaxNode GetSymbolTypeExpression(SemanticModel model, TMemberAccessExpressionSyntax node, CancellationToken cancellationToken); 56var typeExpression = GetSymbolTypeExpression(semanticModel, nodeToReplace, cancellationToken); 57var nameOfSyntax = editor.Generator.NameOfExpression(typeExpression);
src\roslyn\src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractAddDocCommentNodesCodeFixProvider.cs (13)
21where TXmlElementSyntax : SyntaxNode 22where TXmlNameAttributeSyntax : SyntaxNode 23where TXmlTextSyntax : SyntaxNode 24where TMemberDeclarationSyntax : SyntaxNode 31var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36var docCommentNode = TryGetDocCommentNode(parentMethod.GetLeadingTrivia()); 52protected abstract SyntaxNode? TryGetDocCommentNode(SyntaxTriviaList parameter); 58Document document, TMemberDeclarationSyntax parentMethod, SyntaxNode docCommentNode, CancellationToken cancellationToken) 60var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62var newDocComment = docCommentNode; 102var nodeAfterNewParamNode = paramNodes.FirstOrDefault() ?? newDocComment.ChildNodes().First(); 120var newRoot = root.ReplaceNode(docCommentNode, newDocComment.WithAdditionalAnnotations(Formatter.Annotation)); 124private List<TXmlElementSyntax> GetElementNodes(SyntaxNode docComment, string nodeName)
src\roslyn\src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractRemoveDocCommentNodeCodeFixProvider.cs (10)
18where TXmlElementSyntax : SyntaxNode 19where TXmlTextSyntax : SyntaxNode 35var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 48private static TXmlElementSyntax? GetParamNode(SyntaxNode root, TextSpan span) 54var paramNode = root.FindNode(span, findInsideTrivia: true); 61var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 63var removedNodes = new List<SyntaxNode> { paramNode }; 80var newRoot = root.RemoveNodes(removedNodes, SyntaxRemoveOptions.KeepNoTrivia); 85private bool ShouldRemovePreviousSibling(List<SyntaxNode> paramNodeSiblings, int paramNodeIndex) 97var nextSibling = paramNodeSiblings[paramNodeIndex + 1];
src\roslyn\src\Analyzers\Core\CodeFixes\FileHeaders\AbstractFileHeaderCodeFixProvider.cs (8)
46private async Task<SyntaxNode> GetTransformedSyntaxRootAsync(Document document, CancellationToken cancellationToken) 55internal static async Task<SyntaxNode> GetTransformedSyntaxRootAsync(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, Document document, string? fileHeaderTemplate, CancellationToken cancellationToken) 58var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 78SyntaxNode newSyntaxRoot; 91private static SyntaxNode ReplaceHeader(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, SyntaxNode root, string expectedFileHeader) 173private static SyntaxNode AddHeader(ISyntaxFacts syntaxFacts, AbstractFileHeaderHelper fileHeaderHelper, SyntaxTrivia newLineTrivia, SyntaxNode root, string expectedFileHeader)
src\roslyn\src\Analyzers\Core\CodeFixes\ForEachCast\AbstractForEachCastCodeFixProvider.cs (6)
20where TForEachStatementSyntax : SyntaxNode 46var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 59var expression = syntaxFacts.GetExpressionOfForeachStatement(forEachStatement); 71var rewritten = GetRewrittenCollection(editor.Generator, expression, variableDeclarator.Symbol.Type, conversion); 80private SyntaxNode GetRewrittenCollection( 82SyntaxNode collection,
src\roslyn\src\Analyzers\Core\CodeFixes\Formatting\FormattingCodeFixProvider.cs (3)
70var root = await context.Document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var formattedRoot = SyntaxFormatting.GetFormattingResult(root, [spanToFormat], formattingOptions, rules: default, cancellationToken: cancellationToken).GetFormattedRoot(cancellationToken); 89var updatedRoot = SyntaxFormatting.GetFormattingResult(editor.OriginalRoot, [editor.OriginalRoot.FullSpan], formattingOptions, rules: default, cancellationToken).GetFormattedRoot(cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.cs (9)
27where TExpressionSyntax : SyntaxNode 30protected abstract bool IsSimpleNameGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 31protected abstract bool IsConstructorInitializerGeneration(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 32protected abstract bool IsImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken); 34protected abstract bool TryInitializeImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 35protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 36protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 37protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 80public async Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (6)
68SyntaxNode node, 83SyntaxNode node, CancellationToken cancellationToken) 296SyntaxNode constructorInitializer, CancellationToken cancellationToken) 314private async ValueTask<bool> TryInitializeImplicitObjectCreationAsync(SyntaxNode implicitObjectCreation, CancellationToken cancellationToken) 332SyntaxNode simpleName, 458private async Task<(ImmutableArray<ISymbol>, ImmutableArray<SyntaxNode>)> GenerateMembersAndAssignmentsAsync(
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (4)
31where TExpressionSyntax : SyntaxNode 85where TExpressionSyntax : SyntaxNode 141where TExpressionSyntax : SyntaxNode 286where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\IGenerateConstructorService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateConstructorAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorCodeFixProvider.cs (3)
18protected abstract SyntaxToken? TryGetTypeName(SyntaxNode typeDeclaration); 28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30if (!headerFacts.IsOnTypeHeader(root, diagnostic.Location.SourceSpan.Start, fullHeader: true, out var typeDecl))
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\AbstractGenerateEnumMemberService.cs (3)
18where TExpressionSyntax : SyntaxNode 20protected abstract bool IsIdentifierNameGeneration(SyntaxNode node); 25public async Task<ImmutableArray<CodeAction>> GenerateEnumMemberAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\AbstractGenerateEnumMemberService.State.cs (2)
30SyntaxNode node, 40SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateEnumMember\IGenerateEnumMemberService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateEnumMemberAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberCodeFixProvider.cs (11)
25protected abstract Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode node, CancellationToken cancellationToken); 26protected abstract bool IsCandidate(SyntaxNode node, SyntaxToken token, Diagnostic diagnostic); 41var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43foreach (var name in names) 56protected virtual SyntaxNode? GetTargetNode(SyntaxNode node) 59private IEnumerable<SyntaxNode> GetTargetNodes( 60ISyntaxFactsService syntaxFacts, SyntaxNode root, 67foreach (var ancestor in token.GetAncestors<SyntaxNode>()) 86var name = GetTargetNode(ancestor);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberService.cs (10)
17where TExpressionSyntax : SyntaxNode 92var beforeDotExpression = syntaxFacts.GetExpressionOfMemberAccessExpression( 103var beforeDotExpression = syntaxFacts.GetExpressionOfConditionalAccessExpression(expression); 113var beforeArrowExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(expression); 126var attributeNode = expression.GetAncestors().FirstOrDefault(syntaxFacts.IsAttribute); 129var attributeName = syntaxFacts.GetNameOfAttribute(attributeNode); 135expression, out var initializedObject)) 141var propertyPatternClause = expression.Ancestors().FirstOrDefault(syntaxFacts.IsPropertyPatternClause); 152var target = syntaxFacts.GetTargetOfMemberBinding(expression); 184SyntaxNode expression,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.cs (6)
19where TExpressionSyntax : SyntaxNode 22protected abstract bool IsImplicitConversionGeneration(SyntaxNode node); 23protected abstract bool IsExplicitConversionGeneration(SyntaxNode node); 24protected abstract bool TryInitializeImplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 25protected abstract bool TryInitializeExplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 29SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.State.cs (4)
21SyntaxNode interfaceNode, 36SyntaxNode node, 57private bool TryInitializeExplicitConversion(TService service, SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken) 81private bool TryInitializeImplicitConversion(TService service, SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.cs (3)
18where TExpressionSyntax : SyntaxNode 21public abstract ImmutableArray<IParameterSymbol> TryMakeParameters(SemanticModel semanticModel, SyntaxNode target, CancellationToken cancellationToken); 25SyntaxNode leftSide,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateDeconstructMethodService.State.cs (2)
28SyntaxNode targetVariables, 44SyntaxNode targetVariables,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.cs (5)
19where TExpressionSyntax : SyntaxNode 22protected abstract bool IsSimpleNameGeneration(SyntaxNode node); 23protected abstract bool IsExplicitInterfaceGeneration(SyntaxNode node); 24protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn); 30SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (3)
28SyntaxNode interfaceNode, 43SyntaxNode node, 82SyntaxNode methodDeclaration,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.cs (1)
21where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (2)
187private ImmutableArray<SyntaxNode> GenerateStatements( 191var throwStatement = CodeGenerationHelpers.GenerateThrowStatement(factory, Document, "System.NotImplementedException");
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateConversionService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateConversionAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateDeconstructMemberService.cs (1)
16Document document, SyntaxNode targetVariables, INamedTypeSymbol typeToGenerateIn, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\IGenerateParameterizedMemberService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateMethodAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.CodeAction.cs (2)
106private ImmutableArray<SyntaxNode> GenerateStatements() 112var throwStatement = CodeGenerationHelpers.GenerateThrowStatement(
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (6)
22where TExpressionSyntax : SyntaxNode 24protected abstract bool IsExplicitInterfaceGeneration(SyntaxNode node); 25protected abstract bool IsIdentifierNameGeneration(SyntaxNode node); 27protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IPropertySymbol propertySymbol, out INamedTypeSymbol typeToGenerateIn); 30protected abstract bool TryConvertToLocalDeclaration(ITypeSymbol type, SyntaxToken identifierToken, SemanticModel semanticModel, CancellationToken cancellationToken, out SyntaxNode newRoot); 34SyntaxNode node,
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.GenerateLocalCodeAction.cs (7)
38var newRoot = await GetNewRootAsync(cancellationToken).ConfigureAwait(false); 44private async Task<SyntaxNode> GetNewRootAsync(CancellationToken cancellationToken) 48if (_service.TryConvertToLocalDeclaration(_state.LocalType, _state.IdentifierToken, semanticModel, cancellationToken, out var newRoot)) 54var initializer = _state.IsOnlyWrittenTo 59var localStatement = syntaxFactory.LocalDeclarationStatement(type, _state.IdentifierToken.ValueText, initializer); 62var root = _state.IdentifierToken.GetAncestors<SyntaxNode>().Last();
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.State.cs (11)
77SyntaxNode interfaceNode, 108SyntaxNode node, CancellationToken cancellationToken) 192SyntaxNode propertyDeclaration, 338var assignmentStatement = simpleName.Ancestors().FirstOrDefault(syntaxFacts.IsSimpleAssignmentStatement); 342assignmentStatement, out var left, out var right); 346var block = assignmentStatement.Parent; 378var siblingNode = sibling.AsNode(); 382siblingNode, out var left, out _); 416private static int GetStatementIndex(ChildSyntaxList children, SyntaxNode statement) 498private bool DetermineIsInConstructor(SyntaxNode simpleName)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\IGenerateVariableService.cs (1)
15Task<ImmutableArray<CodeAction>> GenerateVariableAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (2)
14where TClassNode : SyntaxNode 28var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\ImplementAbstractClassData.cs (14)
27Document document, ImplementTypeOptions options, SyntaxNode classNode, SyntaxToken classIdentifier, 33private readonly SyntaxNode _classNode = classNode; 41Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken) 76Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken) 95var classNodeToAddMembersTo = _classNode; 111var updatedClassNode = info.Service.AddMembers( 117var root = await _document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 118var newRoot = root.ReplaceNode(_classNode, updatedClassNode); 178var body = throughMember == null 246Func<SyntaxNode, SyntaxNode, SyntaxNode> createAddOrRemoveHandler) 252var throughExpression = generator.CreateDelegateThroughExpression(@event, throughMember); 253var statement = generator.ExpressionStatement(createAddOrRemoveHandler(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (2)
13where TTypeSyntax : SyntaxNode 24var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceService.cs (17)
27where TTypeDeclarationSyntax : SyntaxNode 37protected abstract bool TryInitializeState(Document document, SemanticModel model, SyntaxNode interfaceNode, CancellationToken cancellationToken, 38[NotNullWhen(true)] out SyntaxNode? classOrStructDecl, 43protected abstract SyntaxNode AddCommentInsideIfStatement(SyntaxNode ifDisposingStatement, SyntaxTriviaList trivia); 44protected abstract SyntaxNode CreateFinalizer(SyntaxGenerator generator, INamedTypeSymbol classType, string disposeMethodDisplayString); 46protected abstract bool IsTypeInInterfaceBaseList([NotNullWhen(true)] SyntaxNode? type); 47protected abstract void AddInterfaceTypes(TTypeDeclarationSyntax typeDeclaration, ArrayBuilder<SyntaxNode> result); 49public ImmutableArray<SyntaxNode> GetInterfaceTypes(SyntaxNode typeDeclaration) 51using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var result); 59Document document, ImplementTypeOptions options, SyntaxNode node, CancellationToken cancellationToken) 78private async Task<ImplementInterfaceInfo?> AnalyzeAsync(Document document, SyntaxNode interfaceType, CancellationToken cancellationToken) 84protected TNode AddComment<TNode>(string comment, TNode node) where TNode : SyntaxNode 87protected TNode AddComments<TNode>(string comment1, string comment2, TNode node) where TNode : SyntaxNode 90protected TNode AddComments<TNode>(string[] comments, TNode node) where TNode : SyntaxNode 146public async Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(Document document, SyntaxNode? interfaceType, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceService.State.cs (4)
16SyntaxNode contextNode, 28public SyntaxNode ContextNode => Info.ContextNode; 46SyntaxNode interfaceNode, 50out var classOrStructDecl, out var classOrStructType, out var interfaceTypes))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\IImplementInterfaceService.cs (4)
25Task<Document> ImplementInterfaceAsync(Document document, ImplementTypeOptions options, SyntaxNode node, CancellationToken cancellationToken); 41Document document, SyntaxNode? interfaceType, CancellationToken cancellationToken); 43ImmutableArray<SyntaxNode> GetInterfaceTypes(SyntaxNode typeDeclaration);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (6)
69var declarator = syntaxRef.GetSyntax(cancellationToken); 72var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declarator); 85var declarator = syntaxRef.GetSyntax(cancellationToken); 88var initializer = syntaxFacts.GetInitializerOfPropertyDeclaration(declarator); 97bool InitializerReferencesParameter(SyntaxNode? initializer, IParameterSymbol parameter) 101var value = syntaxFacts.GetValueOfEqualsValueClause(initializer);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_DisposePattern.cs (15)
60var rootWithCoreMembers = await docWithCoreMembers.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62var firstGeneratedMember = rootWithCoreMembers.GetAnnotatedNodes(CodeGenerator.Annotation).First(); 63var typeDeclarationWithCoreMembers = firstGeneratedMember.Parent!; 72var typeDeclarationWithAllMembers = info.Service.AddMembers( 89Document document, SyntaxNode finalizer, CancellationToken cancellationToken) 91var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 93var lastGeneratedMember = root.GetAnnotatedNodes(CodeGenerator.Annotation) 103var lastMemberWithComments = lastGeneratedMember.WithPrependedLeadingTrivia( 107var finalRoot = root.ReplaceNode(lastGeneratedMember, lastMemberWithComments); 111private (ImmutableArray<ISymbol>, SyntaxNode) CreateDisposableMethods( 124var finalizer = Service.CreateFinalizer(g, State.ClassOrStructType, disposeMethodDisplayString); 149var ifDisposingStatement = g.IfStatement(g.IdentifierName(DisposingName), []); 158var disposedValueEqualsTrueStatement = this.Service.AddComments( 164var ifStatement = g.IfStatement( 185using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var statements);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Method.cs (2)
45private SyntaxNode GenerateStatement( 55var invocation = factory.InvocationExpression(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Property.cs (2)
147private ImmutableArray<SyntaxNode> GetSetAccessorStatements( 162private ImmutableArray<SyntaxNode> GetGetAccessorStatements(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator.cs (5)
325Func<SyntaxNode, SyntaxNode, SyntaxNode> createAddOrRemoveHandler) 330var throughExpression = generator.CreateDelegateThroughExpression(@event, ThroughMember); 331var statement = generator.ExpressionStatement(createAddOrRemoveHandler(
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceInfo.cs (1)
20public required SyntaxNode ContextNode { get; init; }
src\roslyn\src\Analyzers\Core\CodeFixes\Iterator\AbstractIteratorCodeFixProvider.cs (7)
17protected abstract Task<CodeAction?> GetCodeFixAsync(SyntaxNode root, SyntaxNode node, Document document, Diagnostic diagnostics, CancellationToken cancellationToken); 21var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 22if (!TryGetNode(root, context.Span, out var node)) 35SyntaxNode root, TextSpan span, [NotNullWhen(true)] out SyntaxNode? node) 38var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (5)
22where TSymbolSyntax : SyntaxNode 23where TFieldDeclarationSyntax : SyntaxNode 28protected abstract SyntaxNode? GetInitializerNode(TSymbolSyntax declaration); 43var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 82var newDeclaration = generator
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMemberStatic\AbstractMakeMemberStaticCodeFixProvider.cs (5)
17protected abstract bool TryGetMemberDeclaration(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? memberDeclaration); 33var declaration = diagnostics[i].Location.FindNode(cancellationToken); 35if (TryGetMemberDeclaration(declaration, out var memberDeclaration)) 38var newNode = generator.WithModifiers(memberDeclaration, generator.GetModifiers(declaration).WithIsStatic(true));
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodAsynchronous\AbstractMakeMethodAsynchronousCodeFixProvider.cs (19)
25protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 33protected abstract SyntaxNode FixMethodSignature( 37SyntaxNode node, 51var node = GetContainingFunction(diagnostic, cancellationToken); 134var syntaxNode = semanticDocument.Root.FindNode(location.Location.SourceSpan, getInnermostNodeForTie: true); 149SyntaxNode syntaxNode, 154foreach (var currentNode in syntaxNode.GetAncestorsOrThis<SyntaxNode>()) 182private static IMethodSymbol? GetMethodSymbol(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 204var node = GetContainingFunction(diagnostic, cancellationToken); 249private SyntaxNode? GetContainingFunction(Diagnostic diagnostic, CancellationToken cancellationToken) 252var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 260SyntaxNode node, 276var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 277if (syntaxPath.TryResolve(newRoot, out SyntaxNode? newNode)) 293SyntaxNode node, 296var newNode = FixMethodSignature(addAsyncModifier: true, keepVoid, methodSymbol, node, knownTypes); 308var partialDefinitionNode = partialDefinitionLocation.FindNode(cancellationToken); 309var fixedPartialDefinitionNode =
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodSynchronous\AbstractMakeMethodSynchronousCodeFixProvider.cs (27)
24protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 25protected abstract SyntaxNode RemoveAsyncTokenAndFixReturnType(IMethodSymbol methodSymbol, SyntaxNode node, KnownTaskTypes knownTypes); 35var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 50Document document, SyntaxNode node, CancellationToken cancellationToken) 71private async Task<Solution> RenameThenRemoveAsyncTokenAsync(Document document, SyntaxNode node, IMethodSymbol methodSymbol, CancellationToken cancellationToken) 83var newRoot = await newDocument.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 84if (syntaxPath.TryResolve(newRoot, out SyntaxNode? newNode)) 95Document document, IMethodSymbol methodSymbol, SyntaxNode node, CancellationToken cancellationToken) 101var newNode = RemoveAsyncTokenAndFixReturnType(methodSymbol, node, knownTypes) 104var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 105var newRoot = root.ReplaceNode(node, newNode); 120var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 121var methodDeclaration = syntaxRoot.GetAnnotatedNodes(annotation).FirstOrDefault(); 173var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 180var newRoot = editor.GetChangedRoot(); 195var nameNode = token.Parent; 207var expressionNode = nameNode; 221var invocationExpression = expressionNode.Parent; 227var awaitExpression = invocationExpression.GetRequiredParent(); 235var parentMemberAccessExpression = invocationExpression.GetRequiredParent(); 236var parentMemberAccessExpressionNameNode = syntaxFacts.GetNameOfMemberAccessExpression(parentMemberAccessExpression); 241var parentExpression = parentMemberAccessExpression.Parent; 244var awaitExpression = parentExpression.GetRequiredParent(); 247var currentConfigureAwaitInvocation = syntaxFacts.GetExpressionOfAwaitExpression(currentAwaitExpression); 248var currentMemberAccess = syntaxFacts.GetExpressionOfInvocationExpression(currentConfigureAwaitInvocation); 249var currentInvocationExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(currentMemberAccess);
src\roslyn\src\Analyzers\Core\CodeFixes\MakeTypeAbstract\AbstractMakeTypeAbstractCodeFixProvider.cs (2)
16where TTypeDeclarationSyntax : SyntaxNode 18protected abstract bool IsValidRefactoringContext(SyntaxNode? node, [NotNullWhen(true)] out TTypeDeclarationSyntax? typeDeclaration);
src\roslyn\src\Analyzers\Core\CodeFixes\MakeTypePartial\AbstractMakeTypePartialCodeFixProvider.cs (3)
25var syntaxRoot = editor.OriginalRoot; 31var declaration = syntaxRoot.FindNode(diagnostic.Location.SourceSpan); 42var node = await reference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\NamingStyle\NamingStyleCodeFixProvider.cs (2)
57var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 58var node = root.FindNode(span);
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\ConsecutiveStatementPlacement\ConsecutiveStatementPlacementCodeFixProvider.cs (2)
45var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 52var newRoot = root.ReplaceTokens(
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesCodeFixProvider.cs (2)
47var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 57var newRoot = root.ReplaceTokens(replacements.Keys, (token, _) => replacements[token]);
src\roslyn\src\Analyzers\Core\CodeFixes\OrderModifiers\AbstractOrderModifiersCodeFixProvider.cs (3)
35var syntaxNode = Location.Create(syntaxTree, context.Span).FindNode(context.CancellationToken); 55var memberDeclaration = diagnostic.Location.FindNode(cancellationToken); 64var updatedMemberDeclaration = _syntaxFacts.WithModifiers(currentNode, orderedModifiers);
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchCodeFixProvider.cs (5)
28where TSwitchSyntax : SyntaxNode 29where TSwitchArmSyntax : SyntaxNode 30where TMemberAccessExpression : SyntaxNode 197ref SyntaxNode root, 205root, switchNode, out var newRoot, out var newSwitchNode);
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchExpressionCodeFixProvider.cs (2)
18where TExpressionSyntax : SyntaxNode 20where TSwitchArmSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\PopulateSwitch\AbstractPopulateSwitchStatementCodeFixProvider.cs (5)
21where TSwitchSyntax : SyntaxNode 22where TSwitchArmSyntax : SyntaxNode 23where TMemberAccessExpression : SyntaxNode 47var root = editor.OriginalRoot; 50var newRoot = root.ReplaceNode(switchNode, newSwitchNode);
src\roslyn\src\Analyzers\Core\CodeFixes\QualifyMemberAccess\AbstractQualifyMemberAccessCodeFixProvider.cs (3)
17where TSimpleNameSyntax : SyntaxNode 18where TInvocationSyntax : SyntaxNode 43var qualifiedAccess =
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (38)
20where TReturnStatementSyntax : SyntaxNode 21where TExpressionSyntax : SyntaxNode 23protected abstract bool IsAsyncSupportingFunctionSyntax(SyntaxNode node); 24protected abstract SyntaxNode RemoveAsyncModifier(SyntaxGenerator generator, SyntaxNode methodLikeNode); 25protected abstract SyntaxNode? ConvertToBlockBody(SyntaxNode node, TExpressionSyntax expressionBody); 36var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 67var node = token.GetAncestor(IsAsyncSupportingFunctionSyntax); 93private static IMethodSymbol? GetMethodSymbol(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 106private SyntaxNode RemoveAsyncModifier( 110SyntaxNode node, 117var expression = generator.GetExpression(node); 123var blockBodiedNode = ConvertToBlockBody(node, expressionBody); 135var newExpressionBody = WrapExpressionWithTaskFromResult(generator, expressionBody, returnType, knownTypes); 155private static ControlFlowAnalysis? GetControlFlowAnalysis(SyntaxGenerator generator, SemanticModel semanticModel, SyntaxNode node) 166private static SyntaxNode AddReturnStatement(SyntaxGenerator generator, SyntaxNode node) 169private SyntaxNode ChangeReturnStatements( 173SyntaxNode node, 185var returnExpression = syntaxFacts.GetExpressionOfReturnStatement(returnSyntax); 189var returnTaskCompletedTask = GetReturnTaskCompletedTaskStatement(generator, returnType, knownTypes); 195var newExpression = WrapExpressionWithTaskFromResult(generator, returnExpression, returnType, knownTypes); 203private static SyntaxNode GetReturnTaskCompletedTaskStatement(SyntaxGenerator generator, ITypeSymbol returnType, KnownTaskTypes knownTypes) 205SyntaxNode invocation; 208var taskTypeExpression = TypeExpressionForStaticMemberAccess(generator, knownTypes.TaskType); 216var statement = generator.ReturnStatement(invocation); 220private static SyntaxNode WrapExpressionWithTaskFromResult(SyntaxGenerator generator, SyntaxNode expression, ITypeSymbol returnType, KnownTaskTypes knownTypes) 224var taskTypeExpression = TypeExpressionForStaticMemberAccess(generator, knownTypes.TaskType!); 226var memberName = generator.GenericName(nameof(Task.FromResult), unwrappedReturnType); 227var taskFromResult = generator.MemberAccessExpression(taskTypeExpression, memberName); 238private static SyntaxNode TypeExpressionForStaticMemberAccess(SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 243var typeExpression = generator.TypeExpression(typeSymbol); 247static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 251var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 252var right = expression.ChildNodes().Last();
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveRedundantEquality\RemoveRedundantEqualityCodeFixProvider.cs (12)
22internal sealed class RemoveRedundantEqualityCodeFixProvider() : ForkingSyntaxEditorBasedCodeFixProvider<SyntaxNode> 32SyntaxNode node, 36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 47SyntaxNode RewriteNode() 51syntaxFacts.GetPartsOfBinaryExpression(node, out var left, out var right); 52var rewritten = 63syntaxFacts.GetPartsOfIsPatternExpression(node, out var left, out _, out var right); 64var rewritten = left; 75static SyntaxNode WithElasticTrailingTrivia(SyntaxNode node)
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsCodeFixProvider.cs (1)
56var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesCodeFixProvider.cs (1)
18where TParenthesizedExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryAttributeSuppressionsCodeFixProvider.cs (2)
28var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryPragmaSuppressionsCodeFixProvider.cs (4)
32var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 52using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var processedNodes); 69HashSet<SyntaxNode> processedNodes, 72SyntaxNode node;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedMembers\AbstractRemoveUnusedMembersCodeFixProvider.cs (10)
21where TFieldDeclarationSyntax : SyntaxNode 32protected abstract void AdjustAndAddAppropriateDeclaratorsToRemove(HashSet<TFieldDeclarationSyntax> fieldDeclarators, HashSet<SyntaxNode> declarators); 45var declarators = new HashSet<SyntaxNode>(); 54var diagnosticNode = diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 61var node = await declReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 83foreach (var declarator in declarators) 94protected static void AdjustAndAddAppropriateDeclaratorsToRemove(SyntaxNode parentDeclaration, IEnumerable<SyntaxNode> childDeclarators, HashSet<SyntaxNode> declarators) 103foreach (var childDeclarator in childDeclarators)
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (77)
47where TExpressionSyntax : SyntaxNode 48where TStatementSyntax : SyntaxNode 53where TVariableDeclaratorSyntax : SyntaxNode 54where TSwitchCaseBlockSyntax : SyntaxNode 55where TSwitchCaseLabelOrClauseSyntax : SyntaxNode 75protected abstract SyntaxNode? TryUpdateNameForFlaggedNode(SyntaxNode node, SyntaxToken newName); 99protected abstract SyntaxNode GetReplacementNodeForCompoundAssignment( 100SyntaxNode originalCompoundAssignment, 101SyntaxNode newAssignmentTarget, 109protected abstract SyntaxNode GetReplacementNodeForVarPattern(SyntaxNode originalVarPattern, SyntaxNode newNameNode); 121protected virtual SyntaxNode? TryUpdateParentOfUpdatedNode(SyntaxNode parent, SyntaxNode newNameNode, SyntaxEditor editor, ISyntaxFacts syntaxFacts, SemanticModel semanticModel) => null; 130protected abstract SyntaxNode ComputeReplacementNode(SyntaxNode originalOldNode, SyntaxNode changedOldNode, SyntaxNode proposedReplacementNode); 164var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 165var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 239private static IEnumerable<IGrouping<SyntaxNode, Diagnostic>> GetDiagnosticsGroupedByMember( 242SyntaxNode root, 264private static IEnumerable<IGrouping<SyntaxNode, Diagnostic>> GetDiagnosticsGroupedByMember( 267SyntaxNode root) 278var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 288var newRoot = await GetNewRootAsync(preprocessedDocument, formattingOptions, diagnostics, cancellationToken).ConfigureAwait(false); 292private async Task<SyntaxNode> GetNewRootAsync( 298var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 324var containingMemberDeclaration = diagnosticsToFix.Key; 334var currentRoot = editor.GetChangedRoot(); 335var newRoot = await PostProcessDocumentAsync(document, options, currentRoot, 349SyntaxNode root, 350SyntaxNode containingMemberDeclaration, 386SyntaxNode root, 411var expression = syntaxFacts.GetExpressionOfExpressionStatement(expressionStatement); 427var expression = syntaxFacts.GetExpressionOfExpressionStatement(node); 429var localDecl = editor.Generator.LocalDeclarationStatement( 445SyntaxNode root, 446SyntaxNode containingMemberDeclaration, 469using var _1 = PooledDictionary<SyntaxNode, SyntaxNode>.GetInstance(out var nodeReplacementMap); 470using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var nodesToRemove); 471using var _3 = PooledHashSet<(TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode node)>.GetInstance(out var nodesToAdd); 473using var _4 = PooledHashSet<SyntaxNode>.GetInstance(out var processedNodes); 549var newNameNode = TryUpdateNameForFlaggedNode(node, newNameToken); 569var newParentNode = TryUpdateParentOfUpdatedNode(node.GetRequiredParent(), newNameNode, editor, syntaxFacts, semanticModel); 645foreach (var node in nodesToRemove) 673IEnumerable<(SyntaxNode node, bool isUnusedLocalAssignment)> GetNodesToFix() 677var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 691void InsertLocalDeclarationStatement(TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode node) 694var insertionNode = node.FirstAncestorOrSelf<SyntaxNode>( 724bool ShouldRemoveStatement(TLocalDeclarationStatementSyntax localDeclarationStatement, out SeparatedSyntaxList<SyntaxNode> variables) 730foreach (var variable in variables) 744private async Task<SyntaxNode> PostProcessDocumentAsync( 747SyntaxNode currentRoot, 773private static async Task<SyntaxNode> PostProcessDocumentCoreAsync( 774Func<SyntaxNode, Document, SyntaxFormattingOptions, CancellationToken, Task<SyntaxNode>> processMemberDeclarationAsync, 775SyntaxNode currentRoot, 784var newRoot = await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 785using var _1 = PooledDictionary<SyntaxNode, SyntaxNode>.GetInstance(out var memberDeclReplacementsMap); 787foreach (var memberDecl in newRoot.DescendantNodes().Where(n => n.HasAnnotation(s_memberAnnotation))) 789var newMemberDecl = await processMemberDeclarationAsync(memberDecl, newDocument, options, cancellationToken).ConfigureAwait(false); 805private async Task<SyntaxNode> ReplaceDiscardDeclarationsWithAssignmentsAsync(SyntaxNode memberDeclaration, Document document, SyntaxFormattingOptions options, CancellationToken cancellationToken) 821private async Task<SyntaxNode> AdjustLocalDeclarationsAsync( 822SyntaxNode memberDeclaration, 843var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 844var rootWithTrackedNodes = root.TrackNodes(originalDeclStatementsToMoveOrRemove); 902var rootWithRemovedDeclaration = root.RemoveNode(newDecl, SyntaxGenerator.DefaultRemoveOptions | SyntaxRemoveOptions.KeepLeadingTrivia); 929SyntaxNode memberDeclaration, 934private readonly SyntaxNode _memberDeclaration = memberDeclaration; 940public SyntaxToken GenerateUniqueNameAtSpanStart(SyntaxNode node)
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyBooleanExpression\SimplifyConditionalCodeFixProvider.cs (8)
58SyntaxNode SimplifyConditional(SemanticModel semanticModel, Diagnostic diagnostic, SyntaxNode expr) 63syntaxFacts.GetPartsOfConditionalExpression(expr, out var condition, out var whenTrue, out var whenFalse); 68var replacement = condition.WithoutTrailingTrivia(); 71var right = diagnostic.Properties.ContainsKey(WhenTrue) ? whenTrue : whenFalse; 76var right = diagnostic.Properties.ContainsKey(WhenTrue) ? whenTrue : whenFalse;
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyInterpolation\AbstractSimplifyInterpolationCodeFixProvider.cs (5)
24where TInterpolationSyntax : SyntaxNode 25where TExpressionSyntax : SyntaxNode 26where TInterpolationAlignmentClause : SyntaxNode 27where TInterpolationFormatClause : SyntaxNode 62var node = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyLinqExpression\SimplifyLinqExpressionCodeFixProvider.cs (7)
39var root = editor.OriginalRoot; 43var invocation = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 50var memberAccess = syntaxFacts.GetExpressionOfInvocationExpression(current); 53var outerName = syntaxFacts.GetNameOfMemberAccessExpression(memberAccess); 56var innerInvocationExpression = syntaxFacts.GetExpressionOfMemberAccessExpression(memberAccess)!; 78var innerMemberAccessExpression = syntaxFacts.GetExpressionOfInvocationExpression(innerInvocationExpression); 81var innerName = syntaxFacts.GetNameOfMemberAccessExpression(innerMemberAccessExpression);
src\roslyn\src\Analyzers\Core\CodeFixes\UnsealClass\AbstractUnsealClassCodeFixProvider.cs (5)
34var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var node = syntaxRoot.FindNode(context.Span, getInnermostNodeForTie: true); 64var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 71var declaration = await syntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 76var newDeclaration = generator.WithModifiers(declaration, modifiers.WithIsSealed(false));
src\roslyn\src\Analyzers\Core\CodeFixes\UpdateLegacySuppressions\UpdateLegacySuppressionsCodeFixProvider.cs (2)
29var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 44var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (30)
47where TTypeDeclarationSyntax : SyntaxNode 48where TPropertyDeclaration : SyntaxNode 49where TVariableDeclarator : SyntaxNode 50where TConstructorDeclaration : SyntaxNode 51where TExpression : SyntaxNode 63protected abstract TPropertyDeclaration GetPropertyDeclaration(SyntaxNode node); 64protected abstract SyntaxNode GetNodeToRemove(TVariableDeclarator declarator); 69Document document, SyntaxNode finalPropertyDeclaration); 71protected abstract Task<SyntaxNode> UpdatePropertyAsync( 141var updatedProperty = await GetUpdatedPropertyDeclarationAsync().ConfigureAwait(false); 182var nodeToRemove = GetNodeToRemove(declarator); 228var declaratorTreeRoot = await fieldDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 235var finalFieldRoot = await FormatAsync(updatedFieldDocument, updatedProperty, cancellationToken).ConfigureAwait(false); 242var fieldTreeRoot = await fieldDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 243var propertyTreeRoot = await propertyDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 245var newFieldTreeRoot = fieldTreeRoot.RemoveNode(nodeToRemove, syntaxRemoveOptions); 247var newPropertyTreeRoot = propertyTreeRoot.ReplaceNode(propertyDeclaration, updatedProperty); 261async ValueTask<SyntaxNode> GetUpdatedPropertyDeclarationAsync() 284var updatedProperty = await UpdatePropertyAsync( 336var newNameNode = generator.IdentifierName(property.Name); 343var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 353var qualifiedName = generator.MemberAccessExpression( 430ISyntaxFacts syntaxFacts, SyntaxNode nodeToRemove) 441ISyntaxFactsService syntaxFacts, TPropertyDeclaration property, SyntaxNode fieldToRemove) 454private async Task<SyntaxNode> FormatAsync( 456SyntaxNode finalPropertyDeclaration, 533var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 540var assignment = node.GetRequiredParent(); 541var rightSide = syntaxFacts.GetRightHandSideOfAssignment(assignment); 567var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\UseAutoPropertyFixAllProvider.cs (2)
62var documentsIdsAndNewRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 83var changedRoot = await changedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (18)
28SemanticModel semanticModel, SyntaxNode expressionToCoalesce, 29SyntaxNode leftAssignmentPart, SyntaxNode rightAssignmentPart, 42var expressionToCoalesce = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 43var ifStatement = diagnostic.AdditionalLocations[1].FindNode(getInnermostNodeForTie: true, cancellationToken); 44var whenTrueStatement = diagnostic.AdditionalLocations[2].FindNode(getInnermostNodeForTie: true, cancellationToken); 55var containingStatement = expressionToCoalesce.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement); 72ImmutableArray<SyntaxTrivia> GetLeadingComments(SyntaxNode node) 83SyntaxNode TryAddExplicitCast(SyntaxNode expressionToCoalesce, SyntaxNode whenTrueStatement) 95syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out var left, out var right); 103SyntaxNode GetWhenNullExpression(SyntaxNode whenTrueStatement) 107syntaxFacts.GetPartsOfAssignmentStatement(whenTrueStatement, out _, out var right); 112var expression = syntaxFacts.GetExpressionOfThrowStatement(whenTrueStatement);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs (11)
45var root = editor.OriginalRoot; 49var conditionalExpression = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan, getInnermostNodeForTie: true); 50var conditionExpression = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 51var whenPart = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 53conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 59c, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 61var coalesceExpression = whenPart == whenTrue
src\roslyn\src\Analyzers\Core\CodeFixes\UseCoalesceExpression\UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs (18)
60var root = editor.OriginalRoot; 61var conditionalExpression = root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan, getInnermostNodeForTie: true); 62var conditionalPartHigh = root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan); 63var whenPart = root.FindNode(diagnostic.AdditionalLocations[2].SourceSpan); 65conditionalExpression, out var condition, out var whenTrue, out var whenFalse); 67var conditionalPartLow = syntaxFacts.WalkDownParentheses(conditionalPartHigh); 72c, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 74var coalesceExpression = GetCoalesceExpression( 90private static SyntaxNode GetCoalesceExpression( 92SyntaxNode whenPart, SyntaxNode whenTrue, 93SyntaxNode conditionalPartLow, 94SyntaxNode currentWhenTrue, SyntaxNode currentWhenFalse)
src\roslyn\src\Analyzers\Core\CodeFixes\UseCollectionExpression\AbstractUseCollectionExpressionCodeFixProvider.cs (1)
14where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\UseCollectionInitializer\AbstractUseCollectionInitializerCodeFixProvider.cs (7)
31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 38where TVariableDeclaratorSyntax : SyntaxNode 55protected abstract Task<(SyntaxNode oldNode, SyntaxNode newNode)> GetReplacementNodesAsync( 57ImmutableArray<CollectionMatch<SyntaxNode>> preMatches, 58ImmutableArray<CollectionMatch<SyntaxNode>> postMatches, CancellationToken cancellationToken);
src\roslyn\src\Analyzers\Core\CodeFixes\UseCompoundAssignment\AbstractUseCompoundAssignmentCodeFixProvider.cs (6)
20where TAssignmentSyntax : SyntaxNode 21where TExpressionSyntax : SyntaxNode 58var assignment = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 67out var leftOfAssign, out var equalsToken, out var rightOfAssign); 73out _, out var opToken, out var rightExpr);
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\AbstractUseConditionalExpressionCodeFixProvider.cs (9)
29where TStatementSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 50var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 65var changedRoot = nestedEditor.GetChangedRoot(); 74var formattedRoot = SyntaxFormatting.GetFormattingResult(changedRoot, spansToFormat, formattingOptions, rules, cancellationToken).GetFormattedRoot(cancellationToken); 155Document document, SyntaxNode condition, SyntaxNode trueSyntax, SyntaxNode falseSyntax, SyntaxFormattingOptions formattingOptions, 181var sourceSyntax = value.Syntax;
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (2)
26where TStatementSyntax : SyntaxNode 28where TExpressionSyntax : SyntaxNode
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\UseConditionalExpressionHelpers.cs (1)
16ISyntaxFactsService syntaxFacts, SyntaxNode syntax)
src\roslyn\src\Analyzers\Core\CodeFixes\UseExplicitTupleName\UseExplicitTupleNameCodeFixProvider.cs (2)
39var oldNameNode = diagnostic.Location.FindNode( 45var newNameNode = generator.IdentifierName(preferredName).WithTriviaFrom(oldNameNode);
src\roslyn\src\Analyzers\Core\CodeFixes\UseInferredMemberName\AbstractUseInferredMemberNameCodeFixProvider.cs (3)
16protected abstract void LanguageSpecificRemoveSuggestedNode(SyntaxEditor editor, SyntaxNode node); 30var root = editor.OriginalRoot; 34var node = root.FindNode(diagnostic.Location.SourceSpan);
src\roslyn\src\Analyzers\Core\CodeFixes\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsCodeFixProvider.cs (6)
21where TExpressionSyntax : SyntaxNode 28protected abstract SyntaxNode CreateNullCheck(TExpressionSyntax argument, bool isUnconstrainedGeneric); 29protected abstract SyntaxNode CreateNotNullCheck(TExpressionSyntax argument); 59var invocation = diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 68var toReplace = negate ? invocation.GetRequiredParent() : invocation; 69var replacement = negate
src\roslyn\src\Analyzers\Core\CodeFixes\UseNullPropagation\AbstractUseNullPropagationCodeFixProvider.cs (26)
37TElementBindingArgumentListSyntax> : ForkingSyntaxEditorBasedCodeFixProvider<SyntaxNode> 44where TExpressionSyntax : SyntaxNode 45where TStatementSyntax : SyntaxNode 55where TElementBindingArgumentListSyntax : SyntaxNode 57protected abstract SyntaxNode PostProcessElseIf(TIfStatementSyntax ifStatement, TStatementSyntax newWhenTrueStatement); 82SyntaxNode conditionalExpressionOrIfStatement, 105var root = editor.OriginalRoot; 117conditionalExpression, out _, out var whenTrue, out _); 135conditionalExpression, out var currentCondition, out var currentWhenTrue, out var currentWhenFalse); 137var currentWhenPartToCheck = whenPart == whenTrue ? currentWhenTrue : currentWhenFalse; 139var unwrappedCurrentWhenPartToCheck = syntaxFacts.WalkDownParentheses(currentWhenPartToCheck); 148var newNode = CreateConditionalAccessExpression( 163var root = editor.OriginalRoot; 175SyntaxNode nodeToBeReplaced = ifStatement; 229using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var replacementNodes); 242TContainer container, SyntaxNode match) where TContainer : SyntaxNode 248var memberAccess = match.Parent; 249var nameNode = syntaxFacts.GetNameOfMemberAccessExpression(memberAccess); 271TContainer whenPart, SyntaxNode match, SyntaxNode matchParent) where TContainer : SyntaxNode 275var memberAccess = matchParent; 307private (TExpressionSyntax conditionalPart, SyntaxNode whenPart)? GetPartsOfConditionalExpression(
src\roslyn\src\Analyzers\Core\CodeFixes\UseObjectInitializer\AbstractUseObjectInitializerCodeFixProvider.cs (4)
29where TExpressionSyntax : SyntaxNode 30where TStatementSyntax : SyntaxNode 35where TVariableDeclaratorSyntax : SyntaxNode 72var currentRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\UseSystemHashCode\UseSystemHashCodeCodeFixProvider.cs (4)
54var operationLocation = diagnostic.AdditionalLocations[0].FindNode(cancellationToken); 57var methodDecl = diagnostic.AdditionalLocations[1].FindNode(cancellationToken); 62var methodBlock = declarationService.GetDeclarations(method)[0].GetSyntax(cancellationToken); 76var updatedDecl = generator.WithStatements(
src\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (14)
17internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks, CancellationToken cancellationToken) 23internal static DeclarationInfo GetDeclarationInfo(SyntaxNode node, ISymbol? declaredSymbol, ArrayBuilder<SyntaxNode>? executableCodeBlocks) 25var codeBlocks = ImmutableArray<SyntaxNode>.Empty; 36internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken) 38return GetDeclarationInfo(model, node, getSymbol, (ArrayBuilder<SyntaxNode>?)null, cancellationToken); 41internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, SyntaxNode executableCodeBlock, CancellationToken cancellationToken) 43var builder = ArrayBuilder<SyntaxNode>.GetInstance(); 52internal static DeclarationInfo GetDeclarationInfo(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken, params SyntaxNode[] executableCodeBlocks) 54var builder = ArrayBuilder<SyntaxNode>.GetInstance(); 63private static ISymbol? GetDeclaredSymbol(SemanticModel model, SyntaxNode node, bool getSymbol, CancellationToken cancellationToken)
src\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationInfo.cs (4)
15internal DeclarationInfo(SyntaxNode declaredNode, ImmutableArray<SyntaxNode> executableCodeBlocks, ISymbol? declaredSymbol) 32public SyntaxNode DeclaredNode { get; } 37public ImmutableArray<SyntaxNode> ExecutableCodeBlocks { get; }
Structure\Syntax\AbstractBlockStructureProvider.cs (1)
36var syntaxRoot = context.SyntaxTree.GetRoot(context.CancellationToken);
Structure\Syntax\AbstractSyntaxNodeStructureProvider.cs (2)
12where TSyntaxNode : SyntaxNode 25SyntaxNode node,
Structure\Syntax\AbstractSyntaxStructureProvider.cs (1)
14SyntaxNode node,
Structure\Syntax\AbstractSyntaxTriviaStructureProvider.cs (1)
15SyntaxNode node,
Structure\Syntax\BlockSpanCollector.cs (4)
33SyntaxNode syntaxRoot, 44private void Collect(SyntaxNode root, ArrayBuilder<BlockSpan> spans) 51if (nodeOrToken.AsNode(out var childNode)) 63private void GetBlockSpans(SyntaxToken previousToken, SyntaxNode node, ArrayBuilder<BlockSpan> spans)
Structure\Syntax\BlockStructureExtensions.cs (1)
14where TType : SyntaxNode
SyncNamespaces\AbstractSyncNamespacesService.cs (1)
25where TNamespaceSyntax : SyntaxNode
Testing\AbstractTestMethodFinder.cs (11)
17internal abstract class AbstractTestMethodFinder<TMethodDeclaration>(IEnumerable<ITestFrameworkMetadata> testFrameworks) : ITestMethodFinder where TMethodDeclaration : SyntaxNode 31protected abstract bool DescendIntoChildren(SyntaxNode node); 33public async Task<ImmutableArray<SyntaxNode>> GetPotentialTestMethodsAsync( 49public bool IsMatch(SemanticModel semanticModel, SyntaxNode node, string fullyQualifiedTestName, CancellationToken cancellationToken) 80public bool IsTestMethod(SyntaxNode node) 83public async Task<ImmutableArray<SyntaxNode>> GetSemanticTestMethodsAsync( 84Document document, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 94private async Task<ImmutableArray<SyntaxNode>> GetPotentialTestNodesAsync( 97var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 106using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var testMethods); 117bool ShouldDescend(SyntaxNode node)
Testing\ITestMethodFinder.cs (5)
19Task<ImmutableArray<SyntaxNode>> GetPotentialTestMethodsAsync(Document document, TextSpan textSpan, bool useSemanticDiscovery, CancellationToken cancellationToken); 24bool IsTestMethod(SyntaxNode node); 29Task<ImmutableArray<SyntaxNode>> GetSemanticTestMethodsAsync( 30Document document, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken); 35bool IsMatch(SemanticModel model, SyntaxNode node, string fullyQualifiedTestName, CancellationToken cancellationToken);
UseNamedArguments\AbstractUseNamedArgumentsCodeRefactoringProvider.cs (10)
19Task ComputeRefactoringsAsync(CodeRefactoringContext context, SyntaxNode root); 23where TBaseArgumentSyntax : SyntaxNode 25where TArgumentListSyntax : SyntaxNode 28CodeRefactoringContext context, SyntaxNode root) 44var receiver = GetReceiver(argument); 136SyntaxNode root, 145var newRoot = root.ReplaceNode(argumentList, newArgumentList); 181protected abstract SyntaxNode? GetReceiver(SyntaxNode argument); 205var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
ValueTracking\ValueTracker.cs (6)
138private static async Task AddItemsFromAssignmentAsync(Document document, SyntaxNode lhsNode, OperationCollector collector, CancellationToken cancellationToken) 207var node = location.FindNode(cancellationToken); 255private static async Task<(ISymbol?, SyntaxNode?)> GetSelectedSymbolAsync(TextSpan textSpan, Document document, CancellationToken cancellationToken) 257var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 258var selectedNode = root.FindNode(textSpan); 295var node = definitionLocation.FindNode(cancellationToken);
ValueTracking\ValueTracker.FindReferencesProgress.cs (13)
66var node = location.Location.FindNode(cancellationToken); 99var node = location.Location.FindNode(cancellationToken); 102var elementAccess = node.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsElementAccessExpression); 108syntaxFacts.GetPartsOfElementAccessExpression(elementAccess, out var expression, out var argumentList); 113foreach (var argument in syntaxFacts.GetArgumentsOfArgumentList(argumentList)) 149var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 150var originalNode = syntaxRoot.FindNode(span); 172var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 173var originalNode = syntaxRoot.FindNode(span); 179var invocationSyntax = originalNode.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsInvocationExpression);
Wrapping\AbstractCodeActionComputer.cs (13)
62private readonly List<SyntaxNode> _seenDocumentRoots = []; 134var formattedRoot = await formattedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148foreach (var seenRoot in _seenDocumentRoots) 164SyntaxNode rewrittenRoot, TextSpan spanToFormat, CancellationToken cancellationToken) 172private async Task<(SyntaxNode root, SyntaxNode rewrittenRoot, TextSpan spanToFormat)> RewriteTreeAsync( 221private async Task<(SyntaxNode root, SyntaxNode rewrittenRoot, TextSpan spanToFormat)> RewriteTreeAsync( 226var root = await OriginalDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 232var nodeToFormat = tokens.SelectAsArray(t => t.Parent).FindInnermostCommonNode<SyntaxNode>(); 243var rewrittenRoot = root.ReplaceSyntax( 266var trackedNode = rewrittenRoot.GetAnnotatedNodes(s_toFormatAnnotation).Single();
Wrapping\AbstractWrapper.cs (2)
35Document document, int position, SyntaxNode node, SyntaxWrappingOptions options, bool containsSyntaxError, CancellationToken cancellationToken); 65protected static bool ContainsOverlappingSyntaxError(SyntaxNode declaration, TextSpan headerSpan)
Wrapping\AbstractWrappingCodeRefactoringProvider.cs (2)
42var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 48foreach (var node in token.GetRequiredParent().AncestorsAndSelf())
Wrapping\BinaryExpression\AbstractBinaryExpressionWrapper.cs (6)
22where TBinaryExpressionSyntax : SyntaxNode 44Document document, int position, SyntaxNode node, SyntaxWrappingOptions options, bool containsSyntaxError, CancellationToken cancellationToken) 104PrecedenceKind precedence, SyntaxNode expr, ArrayBuilder<SyntaxNodeOrToken> result) 115_syntaxFacts.GetPartsOfBinaryExpression(currentNodeOrToken.AsNode()!, out var left, out var opToken, out var right); 127bool IsValidBinaryExpression(PrecedenceKind precedence, SyntaxNode? node)
Wrapping\BinaryExpression\BinaryExpressionCodeActionComputer.cs (2)
95var left = _exprsAndOperators[i - 1].AsNode(); 97var right = _exprsAndOperators[i + 1].AsNode();
Wrapping\ChainedExpression\AbstractChainedExpressionWrapper.cs (7)
50where TNameSyntax : SyntaxNode 51where TBaseArgumentListSyntax : SyntaxNode 74Document document, int position, SyntaxNode node, SyntaxWrappingOptions options, bool containsSyntaxError, CancellationToken cancellationToken) 116private ImmutableArray<ImmutableArray<SyntaxNodeOrToken>> GetChainChunks(SyntaxNode node) 240private bool IsDecomposableChainPart(SyntaxNode? node) 268private void Decompose(SyntaxNode node, ArrayBuilder<SyntaxNodeOrToken> pieces) 288var currentNode = nodeOrToken.AsNode()!;
Wrapping\ISyntaxWrapper.cs (1)
27Document document, int position, SyntaxNode node, SyntaxWrappingOptions options, bool containsSyntaxError, CancellationToken cancellationToken);
Wrapping\SeparatedSyntaxList\AbstractSeparatedSyntaxListWrapper.cs (7)
19where TListSyntax : SyntaxNode 20where TListItemSyntax : SyntaxNode 47protected abstract TListSyntax? TryGetApplicableList(SyntaxNode node); 50SyntaxNode root, int position, SyntaxNode declaration, bool containsSyntaxError, TListSyntax listSyntax); 53Document document, int position, SyntaxNode declaration, SyntaxWrappingOptions options, bool containsSyntaxError, CancellationToken cancellationToken) 65var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Wrapping\SeparatedSyntaxList\SeparatedSyntaxListCodeActionComputer.cs (1)
311var item = itemsAndSeparators[i].AsNode()!;
Microsoft.CodeAnalysis.Features.ExternalAccess (19)
AspNetCore\AddPackage\AspNetCoreAddPackageCodeAction.cs (5)
60var importDirective = generator.NamespaceImportDeclaration(namespaceName); 76private static async Task<Document> AddImportAsync(Document document, int position, SyntaxGenerator generator, SyntaxNode importDirective, CancellationToken cancellationToken) 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 85var contextNode = root.FindToken(position).GetRequiredParent(); 86var newRoot = service.AddImport(
Copilot\GenerateImplementation\IExternalCSharpCopilotGenerateImplementationService.cs (2)
17Task<ImmutableDictionary<SyntaxNode, ImplementationDetailsWrapper>> ImplementNotImplementedExceptionsAsync( 19ImmutableDictionary<SyntaxNode, ImmutableArray<ReferencedSymbol>> methodOrProperties,
Copilot\GenerateImplementation\ImplementationDetailsWrapper.cs (1)
21public SyntaxNode? ReplacementNode { get; init; }
Copilot\Internal\Analyzer\AbstractCopilotCodeAnalysisService.cs (4)
28protected abstract Task<ImmutableDictionary<SyntaxNode, ImplementationDetails>> ImplementNotImplementedExceptionsCoreAsync(Document document, ImmutableDictionary<SyntaxNode, ImmutableArray<ReferencedSymbol>> methodOrProperties, CancellationToken cancellationToken); 77public async Task<ImmutableDictionary<SyntaxNode, ImplementationDetails>> ImplementNotImplementedExceptionsAsync( 79ImmutableDictionary<SyntaxNode, ImmutableArray<ReferencedSymbol>> methodOrProperties,
Copilot\Internal\Analyzer\CSharp\CSharpCopilotCodeAnalysisService.cs (3)
112protected override async Task<ImmutableDictionary<SyntaxNode, ImplementationDetails>> ImplementNotImplementedExceptionsCoreAsync( 114ImmutableDictionary<SyntaxNode, ImmutableArray<ReferencedSymbol>> methodOrProperties, 120var resultBuilder = ImmutableDictionary.CreateBuilder<SyntaxNode, ImplementationDetails>();
Copilot\Internal\SemanticSearch\CopilotSemanticSearchQueryService.cs (1)
33public ValueTask OnSyntaxNodeFoundAsync(Document document, SyntaxNode node, CancellationToken cancellationToken)
Copilot\SemanticSearch\CopilotSemanticSearchUtilities.cs (2)
30public static SyntaxTree CreateSyntaxTree(SolutionServices services, string language, string? filePath, ParseOptions options, SourceText? text, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, SyntaxNode root) 42public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
Copilot\SemanticSearch\ICopilotSemanticSearchResultsObserver.cs (1)
17ValueTask OnSyntaxNodeFoundAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
Microsoft.CodeAnalysis.NetAnalyzers (1026)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\AbstractTypesShouldNotHaveConstructors.Fixer.cs (3)
33private static SyntaxNode? GetDeclaration(ISymbol symbol, SyntaxTree tree, CancellationToken cancellationToken) 41SyntaxNode nodeToFix = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 51foreach (SyntaxNode constructor in classSymbol.InstanceConstructors
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DefineAccessorsForAttributeArguments.Fixer.cs (13)
36SyntaxNode root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 40SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan); 80private static SyntaxNode? GetNodeToFix(SyntaxGenerator generator, SyntaxNode node, Diagnostic diagnostic) 103SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 104SyntaxNode? nodeToFix = GetNodeToFix(editor.Generator, node, diagnostic); 126private static async Task AddAccessorAsync(Document document, SyntaxNode parameter, SyntaxEditor editor, CancellationToken cancellationToken) 146SyntaxNode? typeDeclaration = editor.Generator.GetDeclaration(parameter, DeclarationKind.Class); 152SyntaxNode newProperty = editor.Generator.PropertyDeclaration(propName, 166SyntaxNode? propertyDeclaration = editor.Generator.GetDeclaration(await reference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false), DeclarationKind.Property); 177private static void MakePublic(SyntaxNode getMethod, SyntaxNode property, SyntaxEditor editor) 190SyntaxNode? setter = editor.Generator.GetAccessor(property, DeclarationKind.SetAccessor);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\DoNotDirectlyAwaitATask.Fixer.cs (8)
30SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 31SyntaxNode expression = root.FindNode(context.Span); 51private static async Task<Document> GetFixAsync(Document document, SyntaxNode expression, bool argument, CancellationToken cancellationToken) 60private static void FixDiagnostic(DocumentEditor editor, SyntaxNode expression, bool argument) 66SyntaxNode memberAccess = generator.MemberAccessExpression(expression.WithoutTrailingTrivia(), "ConfigureAwait"); 67SyntaxNode argumentLiteral = argument ? generator.TrueLiteralExpression() : generator.FalseLiteralExpression(); 68SyntaxNode invocation = generator.InvocationExpression(memberAccess, argumentLiteral); 91SyntaxNode expression = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\EnumsShouldHaveZeroValue.Fixer.cs (7)
37SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 38SyntaxNode node = root.FindNode(context.Span); 85private static SyntaxNode GetExplicitlyAssignedField(IFieldSymbol originalField, SyntaxNode declaration, SyntaxGenerator generator) 87SyntaxNode? originalInitializer = generator.GetExpression(declaration); 164protected virtual SyntaxNode GetParentNodeOrSelfToFix(SyntaxNode nodeToFix)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\EnumStorageShouldBeInt32.Fixer.cs (5)
19protected abstract SyntaxNode? GetTargetNode(SyntaxNode node); 32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 33if (editor.Generator.GetDeclaration(node, DeclarationKind.Enum) is not SyntaxNode enumDeclarationNode) 39SyntaxNode? targetNode = GetTargetNode(enumDeclarationNode);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\EnumWithFlagsAttribute.Fixer.cs (3)
72SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 75SyntaxNode attribute = editor.Generator.Attribute(editor.Generator.TypeExpression(flagsAttributeType)); 80SyntaxNode attributeNode = enumType.GetAttribute(flagsAttributeType)!.ApplicationSyntaxReference!.GetSyntax(cancellationToken);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\EquatableAnalyzer.Fixer.cs (17)
40SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 42SyntaxNode? declaration = root.FindNode(context.Span); 95SyntaxNode? declaration = editor.Generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan)); 139private static void ImplementEquatableInStruct(SyntaxNode declaration, 145var equalsMethod = generator.MethodDeclaration( 161private static void OverrideObjectEquals(SyntaxNode declaration, 166var argumentName = generator.IdentifierName("obj"); 168SyntaxNode returnStatement; 183var equalsMethod = generator.MethodDeclaration( 217private static SyntaxNode GetReturnStatementForExplicitClass(SyntaxGenerator generator, 218INamedTypeSymbol typeSymbol, SyntaxNode argumentName, INamedTypeSymbol equatableType) 232private static SyntaxNode GetReturnStatementForExplicitStruct(SyntaxGenerator generator, 233INamedTypeSymbol typeSymbol, SyntaxNode argumentName, INamedTypeSymbol equatableType) 251private static SyntaxNode GetReturnStatementForImplicitClass(SyntaxGenerator generator, 252INamedTypeSymbol typeSymbol, SyntaxNode argumentName) 263private static SyntaxNode GetReturnStatementForImplicitStruct(SyntaxGenerator generator, 264INamedTypeSymbol typeSymbol, SyntaxNode argumentName)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ExceptionsShouldBePublic.Fixer.cs (1)
31SyntaxNode classDecl = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\IdentifiersShouldNotContainUnderscores.Fixer.cs (4)
24protected abstract SyntaxNode GetDeclarationNode(SyntaxNode node); 34var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 37var node = root.FindNode(context.Span);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementStandardExceptionConstructors.Fixer.cs (5)
49SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 51if (generator.GetDeclaration(node, DeclarationKind.Class) is not SyntaxNode targetNode || 63SyntaxNode newConstructorNode1 = generator.ConstructorDeclaration(typeSymbol.Name, accessibility: Accessibility.Public); 68SyntaxNode newConstructorNode2 = generator.ConstructorDeclaration( 88SyntaxNode newConstructorNode3 = generator.ConstructorDeclaration(
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\InterfaceMethodsShouldBeCallableByChildTypes.Fixer.cs (6)
36SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 37SyntaxNode nodeToFix = root.FindNode(context.Span); 49SyntaxNode? declaration = generator.GetDeclaration(nodeToFix); 171SyntaxNode newDeclaration = declaration; 174SyntaxNode interfaceTypeNode = docEditor.Generator.TypeExpression(implementedMember.ContainingType); 175if (docEditor.Generator.AsPublicInterfaceImplementation(newDeclaration, interfaceTypeNode) is not SyntaxNode publicImplementation)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\MarkAttributesWithAttributeUsage.Fixer.cs (2)
101var nodeToFix = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 102var attribute = editor.Generator.Attribute(editor.Generator.TypeExpression(attributeUsageAttributeType),
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OperatorOverloadsHaveNamedAlternates.Fixer.cs (8)
35SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 47if ((generator.GetDeclaration(node, DeclarationKind.Operator) ?? generator.GetDeclaration(node, DeclarationKind.ConversionOperator)) is not SyntaxNode methodDeclaration || 64SyntaxNode typeDeclarationSyntax = await typeReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 66typeSymbol.TypeKind == TypeKind.Struct ? DeclarationKind.Struct : DeclarationKind.Class) is not SyntaxNode typeDeclaration) 71SyntaxNode addedMember; 72IEnumerable<SyntaxNode> bodyStatements = generator.DefaultMethodBody(semanticModel.Compilation); 94var nullCheck = generator.IfStatement( 119if ((generator.GetDeclaration(node, DeclarationKind.Method) ?? generator.GetDeclaration(node, DeclarationKind.Property)) is SyntaxNode badVisibilityNode)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OperatorsShouldHaveSymmetricalOverloads.Fixer.cs (5)
41var operatorNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 51var newOperator = generator.OperatorDeclaration( 64private static IEnumerable<SyntaxNode> GetInvertedStatements( 67if (GetInvertedStatement(generator, containingOperator, compilation) is SyntaxNode statement) 73private static SyntaxNode? GetInvertedStatement(
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OverloadOperatorEqualsOnOverridingValueTypeEquals.Fixer.cs (1)
34SyntaxNode? declaration = editor.Generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan));
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OverrideEqualsAndOperatorEqualsOnValueTypes.Fixer.cs (6)
29=> SyntaxEditorFixAllProvider.Create<HashSet<SyntaxNode>>( 30static _ => new HashSet<SyntaxNode>(), 44HashSet<SyntaxNode> fixedDeclarations = new(); 61HashSet<SyntaxNode> fixedDeclarations, 64SyntaxNode enclosingNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 65SyntaxNode? declaration = editor.Generator.GetDeclaration(enclosingNode);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OverrideEqualsOnOverloadingOperatorEquals.Fixer.cs (1)
28SyntaxNode? typeDeclaration = editor.Generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan));
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OverrideGetHashCodeOnOverridingEquals.Fixer.cs (1)
28SyntaxNode? typeDeclaration = editor.Generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan));
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OverrideMethodsOnComparableTypes.Fixer.cs (3)
37SyntaxNode root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 39SyntaxNode? declaration = generator.GetDeclaration(root.FindNode(span)); 54SyntaxNode? declaration = generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan));
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ParameterNamesShouldMatchBaseDeclaration.Fixer.cs (2)
35SyntaxNode syntaxRoot = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 40SyntaxNode node = syntaxRoot.FindNode(context.Span);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\PassSystemUriObjectsInsteadOfStrings.cs (7)
59protected abstract SyntaxNode? GetInvocationExpression(SyntaxNode invocationNode); 66private readonly Func<SyntaxNode, SyntaxNode?> _expressionGetter; 71Func<SyntaxNode, SyntaxNode?> expressionGetter) 98var node = _expressionGetter(context.Operation.Syntax);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ProvideObsoleteAttributeMessage.cs (1)
75SyntaxNode node = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken);
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\TypesThatOwnDisposableFieldsShouldBeDisposable.Fixer.cs (9)
29SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43SyntaxNode? declaration = generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan)); 57SyntaxNode interfaceType = generator.TypeExpression(disposableType); 64SyntaxNode memberPartNode = await disposeMethod.DeclaringSyntaxReferences.Single().GetSyntaxAsync(cancellationToken).ConfigureAwait(false); 65if (generator.GetDeclaration(memberPartNode) is not SyntaxNode memberDeclaration || 66generator.AsPublicInterfaceImplementation(memberDeclaration, interfaceType) is not SyntaxNode implementation) 80SyntaxNode throwStatement = generator.ThrowStatement(generator.ObjectCreationExpression(generator.TypeExpression(notImplementedExceptionType))); 81if (generator.MethodDeclaration(TypesThatOwnDisposableFieldsShouldBeDisposableAnalyzer.Dispose, statements: new[] { throwStatement }) is not SyntaxNode member || 82generator.AsPublicInterfaceImplementation(member, interfaceType) is not SyntaxNode implementation)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\UriParametersShouldNotBeStrings.Fixer.cs (9)
82var parameter = editor.OriginalRoot.FindNode(span, getInnermostNodeForTie: true); 89var methodNode = generator.GetDeclaration(parameter, DeclarationKind.Method); 96var targetNode = generator.GetDeclaration(parameter, DeclarationKind.Class) ?? generator.GetDeclaration(parameter, DeclarationKind.Struct); 120if (CreateNewMethod(generator, methodSymbol, parameterIndex, model.Compilation, uriType) is not SyntaxNode newMethod) 146private static SyntaxNode? CreateNewMethod( 150var originalParameter = generator.ParameterDeclaration(methodSymbol.Parameters[parameterIndex]); 151if (generator.GetType(originalParameter) is not SyntaxNode originalParameterType) 157var newParameter = generator.ReplaceNode(originalParameter, originalParameterType, generator.TypeExpression(uriType)); 160var original = generator.MethodDeclaration(methodSymbol, generator.DefaultMethodBody(compilation));
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidDeadConditionalCode.cs (1)
58protected abstract bool IsSwitchArmExpressionWithWhenClause(SyntaxNode node);
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidLengthCalculationWhenSlicingToEnd.Fixer.cs (5)
29var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 49if (GetLengthArgument(editor.OriginalRoot, semanticModel, diagnostic.Location.SourceSpan, cancellationToken) is SyntaxNode lengthArgument) 55private static SyntaxNode? GetLengthArgument(SyntaxNode root, SemanticModel semanticModel, TextSpan span, CancellationToken cancellationToken) 57var node = root.FindNode(span, getInnermostNodeForTie: true);
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidUnusedPrivateFields.Fixer.cs (2)
32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 33if (editor.Generator.GetDeclaration(node) is SyntaxNode declaration)
Microsoft.CodeQuality.Analyzers\Maintainability\MakeTypesInternal.cs (1)
59protected abstract SyntaxToken? GetIdentifier(SyntaxNode type);
Microsoft.CodeQuality.Analyzers\Maintainability\MakeTypesInternal.Fixer.cs (3)
28var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 36protected abstract SyntaxNode MakeInternal(SyntaxNode node);
Microsoft.CodeQuality.Analyzers\Maintainability\UseCrossPlatformIntrinsicsFixer.cs (12)
31SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 51protected virtual SyntaxNode ReplaceNode(SyntaxNode currentNode, SyntaxGenerator generator, RuleKind ruleKind) 67protected abstract SyntaxNode ReplaceWithUnaryOperator(SyntaxNode currentNode, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode?> unaryOpFunc); 69protected abstract SyntaxNode ReplaceWithBinaryOperator(SyntaxNode currentNode, SyntaxGenerator generator, bool isCommutative, Func<SyntaxNode, SyntaxNode, SyntaxNode?> binaryOpFunc);
Microsoft.CodeQuality.Analyzers\Maintainability\UseNameofInPlaceOfString.Fixer.cs (3)
26var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43var nodeToReplace = editor.OriginalRoot.FindNode(diagnosticSpan, getInnermostNodeForTie: true); 53var nameOfExpression = editor.Generator.NameOfExpression(editor.Generator.IdentifierName(stringText))
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.cs (1)
154protected abstract bool IsExpressionOfForEachStatement(SyntaxNode syntax);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\MarkMembersAsStatic.Fixer.cs (18)
30protected abstract IEnumerable<SyntaxNode>? GetTypeArguments(SyntaxNode node); 31protected abstract SyntaxNode? GetExpressionOfInvocation(SyntaxNode invocation); 32protected virtual SyntaxNode GetSyntaxNodeToReplace(IMemberReferenceOperation memberReference) 44var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 45var node = root.FindNode(context.Span); 59private async Task<Solution> MakeStaticAsync(Document document, SyntaxNode root, SyntaxNode node, CancellationToken cancellationToken) 91var newNode = syntaxGenerator.WithModifiers(node, oldModifiersAndStatic); 140var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 149var referenceNode = root.FindNode(referenceLocation.Location.SourceSpan, getInnermostNodeForTie: true); 157SyntaxNode? nodeToReplace = null; 192SyntaxNode memberName; 198var newNode = editor.Generator.MemberAccessExpression( 240ISymbol? GetSymbolForNodeToReplace(SyntaxNode nodeToReplace, SemanticModel semanticModel) 258var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 259var fixedDeclaration = root.GetAnnotatedNodes(s_annotationForFixedDeclaration).Single();
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RemoveEmptyFinalizers.Fixer.cs (2)
32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 35if (editor.Generator.GetDeclaration(node) is SyntaxNode declaration)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RethrowToPreserveStackDetails.Fixer.cs (3)
27var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 42var nodeToReplace = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 48var rethrow = editor.Generator.ThrowStatement()
Microsoft.CodeQuality.Analyzers\QualityGuidelines\SealMethodsThatSatisfyPrivateInterfaces.Fixer.cs (3)
39var root = await dx.Location.SourceTree.GetRootAsync(context.CancellationToken).ConfigureAwait(false); 40var declarationNode = gen.GetDeclaration(root.FindToken(dx.Location.SourceSpan.Start).Parent); 119e.ReplaceNode(d, (_d, g) => g.WithStatements(_d, Array.Empty<SyntaxNode>()));
Microsoft.CodeQuality.Analyzers\QualityGuidelines\UseLiteralsWhereAppropriate.Fixer.cs (10)
25SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 27SyntaxNode? declaration = root.FindNode(context.Span); 40SyntaxNode? declaration = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 47var fieldDeclaration = GetFieldDeclaration(declaration); 89var constFieldDeclaration = WithModifiers(fieldDeclaration, newModifiers).WithAdditionalAnnotations(Formatter.Annotation); 94protected abstract SyntaxNode? GetFieldDeclaration(SyntaxNode syntaxNode); 99protected abstract SyntaxTokenList GetModifiers(SyntaxNode fieldSyntax); 100protected abstract SyntaxNode WithModifiers(SyntaxNode fieldSyntax, SyntaxTokenList modifiers);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\ValidateArgumentsOfPublicMethods.cs (2)
86ImmutableDictionary<IParameterSymbol, SyntaxNode>? hazardousParameterUsages = null; 103SyntaxNode node = kvp.Value;
Microsoft.NetCore.Analyzers\Data\ReviewSqlQueriesForSecurityVulnerabilities.cs (2)
133SyntaxNode invocationSyntax, 208SyntaxNode syntax,
Microsoft.NetCore.Analyzers\ImmutableCollections\DoNotCallToImmutableCollectionOnAnImmutableCollectionValue.Fixer.cs (6)
41var root = await document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 42var invocationNode = root.FindNode(span, getInnermostNodeForTie: true); 63private static Task<Document> RemoveRedundantCallAsync(Document document, SyntaxNode root, SyntaxNode invocationNode, IInvocationOperation invocationOperation) 65var instance = invocationOperation.GetInstanceSyntax()!.WithTriviaFrom(invocationNode); 66var newRoot = root.ReplaceNode(invocationNode, instance);
Microsoft.NetCore.Analyzers\InteropServices\DynamicInterfaceCastableImplementation.Fixer.cs (8)
29SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 31SyntaxNode enclosingNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 32SyntaxNode? declaration = generator.GetDeclaration(enclosingNode); 90SyntaxNode enclosingNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 91SyntaxNode? declaration = SyntaxGenerator.GetGenerator(document).GetDeclaration(enclosingNode); 112protected abstract bool CodeFixSupportsDeclaration(SyntaxNode declaration); 115SyntaxNode declaration, 121SyntaxNode declaration,
Microsoft.NetCore.Analyzers\InteropServices\ProvidePublicParameterlessSafeHandleConstructor.Fixer.cs (2)
31SyntaxNode enclosingNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 32SyntaxNode? declaration = editor.Generator.GetDeclaration(enclosingNode);
Microsoft.NetCore.Analyzers\InteropServices\SpecifyMarshalingForPInvokeStringArguments.Fixer.cs (14)
27SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 28SyntaxNode node = root.FindNode(context.Span); 46SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 68protected abstract bool IsAttribute(SyntaxNode node); 69protected abstract bool IsDeclareStatement(SyntaxNode node); 70protected abstract void FixDeclareStatement(SyntaxEditor editor, SyntaxNode node); 71protected abstract SyntaxNode FindNamedArgument(IReadOnlyList<SyntaxNode> arguments, string argumentName); 73private void FixAttributeArguments(SyntaxEditor editor, SemanticModel model, SyntaxNode attributeDeclaration, InteropTypes types, CancellationToken cancellationToken) 79IReadOnlyList<SyntaxNode> arguments = generator.GetAttributeArguments(attributeDeclaration); 84SyntaxNode argumentValue = generator.MemberAccessExpression( 87SyntaxNode newCharSetArgument = generator.AttributeArgument(CharSetText, argumentValue); 89SyntaxNode charSetArgument = FindNamedArgument(arguments, CharSetText); 104SyntaxNode newArgument = generator.AttributeArgument(
Microsoft.NetCore.Analyzers\InteropServices\UseValidPlatformString.cs (1)
194static void AnalyzeStringParameter(Action<TContext, Diagnostic> reportDiagnostic, TContext context, SyntaxNode syntax, PooledDictionary<string, int> knownPlatforms, string value)
Microsoft.NetCore.Analyzers\Performance\ConstantExpectedAnalyzer.cs (11)
381var syntax = attributeData.ApplicationSyntaxReference?.GetSyntax() ?? parameterSymbol.DeclaringSyntaxReferences[0].GetSyntax(); 406var syntax = attributeData.ApplicationSyntaxReference?.GetSyntax() ?? parameterSymbol.DeclaringSyntaxReferences[0].GetSyntax(); 586public abstract Location? GetMinLocation(SyntaxNode attributeSyntax); 587public abstract Location? GetMaxLocation(SyntaxNode attributeSyntax); 589public static ImmutableArray<Diagnostic> ParameterIsInvalid(string expectedTypeName, SyntaxNode attributeSyntax) => ImmutableArray.Create(Diagnostic.Create(CA1856.UnsupportedTypeRule, attributeSyntax.GetLocation(), expectedTypeName)); 591public Diagnostic MinIsIncompatible(string expectedTypeName, SyntaxNode attributeSyntax) => Diagnostic.Create(CA1856.IncompatibleConstantTypeRule, GetMinLocation(attributeSyntax)!, ConstantExpectedMin, expectedTypeName); 593public Diagnostic MaxIsIncompatible(string expectedTypeName, SyntaxNode attributeSyntax) => Diagnostic.Create(CA1856.IncompatibleConstantTypeRule, GetMaxLocation(attributeSyntax)!, ConstantExpectedMax, expectedTypeName); 595public Diagnostic MinIsOutOfRange(SyntaxNode attributeSyntax, string typeMinValue, string typeMaxValue) => Diagnostic.Create(CA1856.InvalidBoundsRule, GetMinLocation(attributeSyntax)!, ConstantExpectedMin, typeMinValue, typeMaxValue); 597public Diagnostic MaxIsOutOfRange(SyntaxNode attributeSyntax, string typeMinValue, string typeMaxValue) => Diagnostic.Create(CA1856.InvalidBoundsRule, GetMaxLocation(attributeSyntax)!, ConstantExpectedMax, typeMinValue, typeMaxValue); 599public static Diagnostic MinMaxIsInverted(SyntaxNode attributeSyntax) => Diagnostic.Create(CA1856.InvertedRangeRule, attributeSyntax.GetLocation()); 601public ImmutableArray<Diagnostic> GetError(ErrorKind errorFlags, IParameterSymbol parameterSymbol, SyntaxNode attributeSyntax, string typeMinValue, string typeMaxValue)
Microsoft.NetCore.Analyzers\Performance\ConstantExpectedAnalyzer.UnmanagedHelper.cs (1)
113var syntax = attributeData.ApplicationSyntaxReference?.GetSyntax() ?? parameterSymbol.DeclaringSyntaxReferences[0].GetSyntax();
Microsoft.NetCore.Analyzers\Performance\DoNotGuardCall.Fixer.cs (10)
28SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 44editor.OriginalRoot.FindNode(diagnostic.AdditionalLocations[0].SourceSpan) is not SyntaxNode conditionalSyntax) 62private bool? TryGetGuardedCallInElse(SyntaxNode root, Diagnostic diagnostic) 65root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan) is not SyntaxNode conditionalSyntax || 66root.FindNode(diagnostic.AdditionalLocations[1].SourceSpan) is not SyntaxNode childStatementSyntax || 75protected abstract bool SyntaxSupportedByFixer(SyntaxNode conditionalSyntax, SyntaxNode childStatementSyntax); 77protected abstract bool IsInElseBranch(SyntaxNode childStatementSyntax); 83protected abstract SyntaxNode ReplaceConditionWithChild(SyntaxNode currentConditional, bool guardedCallInElse, SyntaxGenerator generator);
Microsoft.NetCore.Analyzers\Performance\DoNotUseCountWhenAnyCanBeUsed.Fixer.cs (13)
58var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 59var node = root.FindNode(context.Span); 89var pattern = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 93!this.TryGetFixer(pattern, operation!, isAsync, out var expression, out var arguments)) 99var carriedOver = new List<SyntaxNode>(arguments) { expression }; 103foreach (var node in carriedOver) 110SyntaxNode Current(SyntaxNode original) => currentNode.GetCurrentNode(original) ?? original; 112var memberAccess = generator.MemberAccessExpression(Current(expression).WithoutTrailingTrivia(), isAsync ? AsyncMethodName : SyncMethodName); 113var replacementSyntax = generator.InvocationExpression(memberAccess, arguments.Select(Current)); 152SyntaxNode node, 155[NotNullWhen(returnValue: true)] out SyntaxNode? expression, 156[NotNullWhen(returnValue: true)] out IEnumerable<SyntaxNode>? arguments);
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.Fixer.cs (11)
45var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 68var root = editor.OriginalRoot; 82.Concat(toLowerInvocation?.Arguments.Select(a => a.Value.Syntax) ?? Enumerable.Empty<SyntaxNode>()) 87foreach (var node in carriedOver) 94SyntaxNode Current(SyntaxNode original) => currentOuterInvocation.GetCurrentNode(original) ?? original; 96var typeExpression = generator.DottedName(WellKnownTypeNames.SystemConvert); 97var methodExpression = generator.MemberAccessExpression(typeExpression, convertToHexStringName); 98var methodInvocation = bitConverterArgumentsInParameterOrder.Length switch 138private static IInvocationOperation? GetInvocation(SyntaxNode root, SemanticModel semanticModel, TextSpan span, CancellationToken cancellationToken) 140var node = root.FindNode(span, getInnermostNodeForTie: true);
Microsoft.NetCore.Analyzers\Performance\PreferHashDataOverComputeHash.Fixer.cs (52)
28var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36!Helper.TryGetHashCreationNodes(root, diagnostic, out var createHashNode, out var disposeNodes)) 57private readonly SyntaxNode _root; 58public HashDataCodeAction(Document document, HashInstanceTarget hashInstanceTarget, PreferHashDataOverComputeHashFixHelper helper, SyntaxNode root) 72var root = _helper.TrackTarget(_root, _hashInstanceTarget); 117SyntaxNode root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 138private HashInstanceTarget[]? CollectTargets(SyntaxNode root, IGrouping<SyntaxTree, Diagnostic> grouping, CancellationToken cancellationToken) 140var dictionary = PooledDictionary<SyntaxNode, HashInstanceTarget>.GetInstance(); 162if (!_helper.TryGetHashCreationNode(root, d, out var createNode, out var hashCreationIndex)) 182internal SyntaxNode FixDocumentRoot(SyntaxNode root, HashInstanceTarget[] hashInstanceTargets) 195public HashInstanceTarget(SyntaxNode createNode, SyntaxNode[]? disposeNodes) 207public SyntaxNode? CreateNode { get; } 210public SyntaxNode[]? DisposeNodes { get; } 216public ComputeHashSyntaxHolder(SyntaxNode computeHashNode, PreferHashDataOverComputeHashAnalyzer.ComputeType computeType, string hashTypeName) 222public SyntaxNode ComputeHashNode { get; } 269public bool TryComputeHashNode(SyntaxNode root, Diagnostic diagnostic, [NotNullWhen(true)] out ComputeHashSyntaxHolder? computeHashHolder) 278var computeHashNode = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 291public bool TryGetHashCreationNodes(SyntaxNode root, Diagnostic diagnostic, [NotNullWhen(true)] out SyntaxNode? createNode, out SyntaxNode[]? disposeNodes) 303public bool TryGetHashCreationNode(SyntaxNode root, Diagnostic diagnostic, [NotNullWhen(true)] out SyntaxNode? createNode, out int hashCreationIndex) 317public SyntaxNode[]? GetDisposeNodes(SyntaxNode root, Diagnostic diagnostic, int hashCreationIndex) 326var disposeNodes = new SyntaxNode[disposeCount]; 330var node = root.FindNode(additionalLocations[hashCreationIndex + i + 1].SourceSpan); 342public SyntaxNode TrackTargets(SyntaxNode root, HashInstanceTarget[] targets) 344var list = new List<SyntaxNode>(); 366public SyntaxNode TrackTarget(SyntaxNode root, HashInstanceTarget target) 368var list = new List<SyntaxNode>(); 387public SyntaxNode FixHashInstanceTarget(SyntaxNode root, HashInstanceTarget hashInstanceTarget) 392var tracked = root.GetCurrentNode(c.ComputeHashNode)!; 393var hashDataNode = GetHashDataSyntaxNode(c.ComputeType, namespacePrefix, c.HashTypeName, tracked); 409foreach (var disposeNode in hashInstanceTarget.DisposeNodes) 411var trackedDisposeNode = root.GetCurrentNode(disposeNode)!; 417protected SyntaxNode RemoveNodeWithFormatting(SyntaxNode root, SyntaxNode nodeToRemove) 430var parent = nodeToRemove.Parent!; 432var newParent = parent.RemoveNode(nodeToRemove, option)! 449protected abstract SyntaxNode GetHashDataSyntaxNode(PreferHashDataOverComputeHashAnalyzer.ComputeType computeType, string? namespacePrefix, string hashTypeName, SyntaxNode computeHashNode); 450protected abstract SyntaxNode FixHashCreateNode(SyntaxNode root, SyntaxNode createNode); 451protected abstract string? GetQualifiedPrefixNamespaces(SyntaxNode computeHashNode, SyntaxNode? createNode);
Microsoft.NetCore.Analyzers\Performance\PreferIsEmptyOverCount.Fixer.cs (7)
24SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 25SyntaxNode node = root.FindNode(context.Span, getInnermostNodeForTie: true); 43SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 64SyntaxNode? objectExpression = GetObjectExpressionFromOperation(currentNode, operationKey); 67SyntaxNode isEmptyNode = objectExpression is null ? 85protected abstract SyntaxNode? GetObjectExpressionFromOperation(SyntaxNode node, string operationKey);
Microsoft.NetCore.Analyzers\Performance\PreferLengthCountIsEmptyOverAny.Fixer.cs (9)
37SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 64SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 65if (GetNodeToReplace(node) is not SyntaxNode toReplace) 104protected abstract SyntaxNode? GetNodeToReplace(SyntaxNode node); 106protected abstract SyntaxNode? ReplaceAnyWithIsEmpty(SyntaxNode currentNode); 108protected abstract SyntaxNode? ReplaceAnyWithPropertyCheck(SyntaxNode currentNode, string propertyName);
Microsoft.NetCore.Analyzers\Performance\PreferReadOnlySpanOverSpan.Fixer.cs (6)
33var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 46var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 47var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 72private static void ChangeParameterType(SyntaxEditor editor, Compilation compilation, SyntaxNode node, INamedTypeSymbol parameterType) 92var newTypeNode = editor.Generator.TypeExpression(readOnlyType.Construct(parameterType.TypeArguments[0])); 100SyntaxNode node,
Microsoft.NetCore.Analyzers\Performance\RecommendCaseInsensitiveStringComparison.Fixer.cs (26)
28protected abstract IEnumerable<SyntaxNode> GetNewArgumentsForInvocation(SyntaxGenerator generator, 30string? leftOffendingMethod, string? rightOffendingMethod, out SyntaxNode? mainInvocationInstance); 32protected abstract IEnumerable<SyntaxNode> GetNewArgumentsForBinary(SyntaxGenerator generator, SyntaxNode rightNode, SyntaxNode typeMemberAccess); 44SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(ct).ConfigureAwait(false); 46if (root.FindNode(context.Span, getInnermostNodeForTie: true) is not SyntaxNode node) 141private Task<Document> FixInvocationAsync(SyntaxGenerator generator, Document doc, SyntaxNode root, IInvocationOperation mainInvocation, 173IEnumerable<SyntaxNode> newArguments = GetNewArgumentsForInvocation(generator, 175leftOffendingMethod, rightOffendingMethod, out SyntaxNode? mainInvocationInstance); 177SyntaxNode stringMemberAccessExpression = generator.MemberAccessExpression(mainInvocationInstance, mainInvocation.TargetMethod.Name); 179SyntaxNode newInvocation = generator.InvocationExpression(stringMemberAccessExpression, newArguments).WithTriviaFrom(mainInvocation.Syntax); 181SyntaxNode newRoot = generator.ReplaceNode(root, mainInvocation.Syntax, newInvocation.WithTriviaFrom(mainInvocation.Syntax)); 185private Task<Document> FixBinaryAsync(SyntaxGenerator generator, Document doc, SyntaxNode root, IBinaryOperation binaryOperation, 188SyntaxNode leftNode = binaryOperation.LeftOperand is IInvocationOperation leftInvocation ? 192SyntaxNode rightNode = binaryOperation.RightOperand is IInvocationOperation rightInvocation ? 196SyntaxNode memberAccess = generator.MemberAccessExpression(leftNode, RCISCAnalyzer.StringEqualsMethodName).WithTriviaFrom(leftNode); 198SyntaxNode stringComparisonTypeExpression = generator.TypeExpressionForStaticMemberAccess(stringComparisonType); 200SyntaxNode typeMemberAccess = generator.MemberAccessExpression(stringComparisonTypeExpression, caseChangingApproachValue); 202IEnumerable<SyntaxNode> newArguments = GetNewArgumentsForBinary(generator, rightNode, typeMemberAccess); 204SyntaxNode equalsInvocation = generator.InvocationExpression(memberAccess, newArguments); 207var replacement = binaryOperation.OperatorKind == BinaryOperatorKind.NotEquals ? 211SyntaxNode newRoot = generator.ReplaceNode(root, binaryOperation.Syntax, replacement.WithTriviaFrom(binaryOperation.Syntax)); 215protected static SyntaxNode GetNewStringComparisonArgument(SyntaxGenerator generator, 219SyntaxNode stringComparisonEnumValueAccess = generator.MemberAccessExpression( 225SyntaxNode stringComparisonArgument = isAnyArgumentNamed ?
Microsoft.NetCore.Analyzers\Performance\UseAsSpanInsteadOfRangeIndexer.Fixer.cs (10)
49var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 50var node = root.FindNode(context.Span); 84var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 87if (node is null || targetMethod is null || !TrySplitExpression(node, out var toReplace, out _, out _)) 97if (!TrySplitExpression(currentNode, out _, out var target, out var arguments)) 103var asSpan = generator.InvocationExpression(generator.MemberAccessExpression(target, targetMethod)); 116SyntaxNode node, 117out SyntaxNode toReplace, 118[NotNullWhen(true)] out SyntaxNode? target, 119[NotNullWhen(true)] out IEnumerable<SyntaxNode>? arguments);
Microsoft.NetCore.Analyzers\Performance\UsePropertyInsteadOfCountMethodWhenAvailable.Fixer.cs (8)
39var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 40var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 55var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 69if (!TryGetExpression(currentNode, out var memberAccessNode, out var nameNode)) 92SyntaxNode invocationNode, 93[NotNullWhen(returnValue: true)] out SyntaxNode? memberAccessNode, 94[NotNullWhen(returnValue: true)] out SyntaxNode? nameNode);
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (4)
37protected abstract bool IsConstantByteOrCharArrayVariableDeclaratorSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length); 39protected abstract bool IsConstantByteOrCharReadOnlySpanPropertyDeclarationSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length); 41protected abstract bool IsConstantByteOrCharArrayCreationSyntax(SemanticModel semanticModel, SyntaxNode syntax, out int length); 43protected abstract bool ArrayFieldUsesAreLikelyReadOnly(SyntaxNode syntax);
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.Fixer.cs (26)
62protected abstract ValueTask<(SyntaxNode TypeDeclaration, INamedTypeSymbol? TypeSymbol, bool IsRealType)> GetTypeSymbolAsync(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 64protected abstract SyntaxNode ReplaceSearchValuesFieldName(SyntaxNode node); 66protected abstract SyntaxNode GetDeclaratorInitializer(SyntaxNode syntax); 68protected abstract SyntaxNode? TryReplaceArrayCreationWithInlineLiteralExpression(IOperation operation); 83SyntaxNode? argumentNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 107SyntaxNode createArgument = CreateSearchValuesCreateArgument(argumentOperation.Syntax, argumentOperation.Value, out SyntaxNode? memberToRemove, cancellationToken); 134(var typeDeclaration, var typeSymbol, bool isRealType) = await GetTypeSymbolAsync(semanticModel, argumentNode, cancellationToken).ConfigureAwait(false); 151var newField = generator.FieldDeclaration( 191private static void ImportSystemNamespaceIfNeeded(SyntaxEditor editor, SemanticModel semanticModel, INamedTypeSymbol memoryExtensions, SyntaxNode node, FixState state) 300private SyntaxNode CreateSearchValuesCreateArgument(SyntaxNode originalSyntax, IOperation argument, out SyntaxNode? memberToRemove, CancellationToken cancellationToken) 302SyntaxNode createArgument = CreateSearchValuesCreateArgumentCore(originalSyntax, argument, out memberToRemove, cancellationToken); 321private SyntaxNode CreateSearchValuesCreateArgumentCore(SyntaxNode originalSyntax, IOperation argument, out SyntaxNode? memberToRemove, CancellationToken cancellationToken) 337else if (TryGetArgumentFromLocalOrFieldReference(argument, out SyntaxNode? createArgument, out memberToRemove)) 350bool TryGetArgumentFromStringToCharArray(IOperation operation, [NotNullWhen(true)] out SyntaxNode? createArgument, out SyntaxNode? memberToRemove) 372bool TryGetArgumentFromLocalOrFieldReference(IOperation operation, [NotNullWhen(true)] out SyntaxNode? createArgument, out SyntaxNode? memberToRemove) 398SyntaxNode GetDeclarator(ISymbol symbol)
Microsoft.NetCore.Analyzers\Performance\UseSpanClearInsteadOfFIll.Fixer.cs (7)
25var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 26var node = root.FindNode(context.Span, getInnermostNodeForTie: true); 40var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 41var invocationTarget = GetInvocationTarget(node); 50var memberAccess = generator.MemberAccessExpression(invocationTarget, UseSpanClearInsteadOfFillAnalyzer.ClearMethod); 57protected abstract SyntaxNode? GetInvocationTarget(SyntaxNode node);
Microsoft.NetCore.Analyzers\Performance\UseStartsWithInsteadOfIndexOfComparisonWithZero.Fixer.cs (26)
32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 43if (GetIndexOfInvocation(currentNode) is not SyntaxNode invocation) 48SyntaxNode instance = GetInstance(invocation); 49SyntaxNode[] arguments = GetArguments(invocation); 73SyntaxNode lengthAccess = generator.MemberAccessExpression(instance, "Length"); 74SyntaxNode zeroLiteral = generator.LiteralExpression(0); 76SyntaxNode indexed = generator.ElementAccessExpression(instance, zeroLiteral); 77SyntaxNode ch = GetArgumentExpression(arguments[0]); 79SyntaxNode replacement = shouldNegate 103protected abstract SyntaxNode? GetIndexOfInvocation(SyntaxNode comparison); 108protected abstract SyntaxNode GetInstance(SyntaxNode invocation); 113protected abstract SyntaxNode[] GetArguments(SyntaxNode invocation); 118protected abstract SyntaxNode GetArgumentExpression(SyntaxNode argument); 120protected abstract SyntaxNode HandleCharStringComparisonOverload(SyntaxGenerator generator, SyntaxNode instance, SyntaxNode[] arguments, bool shouldNegate); 121protected abstract SyntaxNode AppendElasticMarker(SyntaxNode replacement); 123protected static SyntaxNode CreateStartsWithInvocationFromArguments(SyntaxGenerator generator, SyntaxNode instance, SyntaxNode[] arguments, bool shouldNegate) 125var expression = generator.InvocationExpression(generator.MemberAccessExpression(instance, "StartsWith"), arguments);
Microsoft.NetCore.Analyzers\Performance\UseStringContainsCharOverloadWithSingleCharacters.Fixer.cs (6)
22var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 23var violatingNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 37var violatingNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 45var newExpression = editor.Generator.LiteralExpression(sourceCharLiteral); 56protected abstract bool TryGetArgumentName(SyntaxNode violatingNode, out string argumentName); 57protected abstract bool TryGetLiteralValueFromNode(SyntaxNode violatingNode, out char charLiteral);
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.cs (3)
71protected abstract SyntaxNode? GetArgumentList(SyntaxNode argumentNode); 143var argumentList = GetArgumentList(stringArgument.Syntax);
Microsoft.NetCore.Analyzers\Performance\UseStringMethodCharOverloadWithSingleCharacters.Fixer.cs (8)
25var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 26var argumentListNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 40var argumentListNode = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 66protected abstract bool TryGetChar(SemanticModel model, SyntaxNode argumentListNode, out char c); 68protected abstract ImmutableArray<SyntaxNode> GetArguments(SyntaxNode argumentListNode); 70protected abstract SyntaxNode CreateArgumentList(IEnumerable<SyntaxNode> arguments);
Microsoft.NetCore.Analyzers\Resources\MarkAssembliesWithNeutralResourcesLanguage.cs (2)
122protected static bool CheckResxGeneratedFile(SemanticModel model, SyntaxNode attribute, SyntaxNode? argument, INamedTypeSymbol generatedCode, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\AttributeStringLiteralsShouldParseCorrectly.cs (1)
165var syntax = attributeData.ApplicationSyntaxReference?.GetSyntax(cancellationToken) ?? symbol.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken);
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.Fixer.cs (12)
67SyntaxNode root = editor.OriginalRoot; 68SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan); 106SyntaxNode newMember = generator.FieldDeclaration( 122SyntaxNode partialClass = generator.ClassDeclaration( 127var globalStatement = root.DescendantNodes().First(n => n.RawKind == GlobalStatementKind); 139SyntaxNode lastFieldOrPropertyNode = root.FindNode(span); 140if (generator.GetDeclaration(lastFieldOrPropertyNode) is not SyntaxNode lastFieldOrPropertyDeclaration) 161SyntaxNode identifier = generator.IdentifierName(newMemberName); 173private static IArrayCreationOperation GetArrayCreationOperation(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken, out bool isInvoked) 236internal static SyntaxNode FormatForExtraction(this SyntaxNode node, SyntaxNode previouslyContainingNode)
Microsoft.NetCore.Analyzers\Runtime\AvoidUnreliableStreamRead.Fixer.cs (7)
37var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 51var node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 61var instance = invocation.Instance!.Syntax; 62ImmutableArray<SyntaxNode> replacementArguments = CanUseSpanOverload() 72foreach (SyntaxNode argument in replacementArguments) 81var methodExpression = generator.MemberAccessExpression( 110private static IInvocationOperation? GetReadInvocation(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\AvoidUnsealedAttributes.Fixer.cs (2)
32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 33SyntaxNode? declaration = editor.Generator.GetDeclaration(node);
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.cs (4)
74private static void AnalyzeOperation(OperationAnalysisContext context, IMethodSymbol arrayEmptyMethodSymbol, INamedTypeSymbol? linqExpressionType, Func<SyntaxNode, bool> isAttributeSyntax, Func<SyntaxNode, bool> isCollectionExpressionSyntax) 201protected abstract bool IsAttributeSyntax(SyntaxNode node); 206protected abstract bool IsCollectionExpressionSyntax(SyntaxNode node);
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.Fixer.cs (5)
38SyntaxNode nodeToFix = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 57SyntaxNode arrayEmptyInvocation = GenerateArrayEmptyInvocation(generator, arrayTypeSymbol, elementType).WithTriviaFrom(nodeToFix); 61private static ITypeSymbol? GetArrayElementType(SyntaxNode arrayCreationExpression, SemanticModel semanticModel, CancellationToken cancellationToken) 71private static SyntaxNode GenerateArrayEmptyInvocation(SyntaxGenerator generator, INamedTypeSymbol arrayTypeSymbol, ITypeSymbol elementType) 73SyntaxNode arrayEmptyName = generator.MemberAccessExpression(
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (22)
215protected abstract SyntaxNode? GetPreviewInterfaceNodeForTypeImplementingPreviewInterface(ISymbol typeSymbol, ISymbol previewInterfaceSymbol); 217protected abstract SyntaxNode? GetConstraintSyntaxNodeForTypeConstrainedByPreviewTypes(ISymbol typeOrMethodSymbol, ISymbol previewInterfaceConstraintSymbol); 219protected abstract SyntaxNode? GetPreviewReturnTypeSyntaxNodeForMethodOrProperty(ISymbol methodOrPropertySymbol, ISymbol previewReturnTypeSymbol); 221protected abstract SyntaxNode? GetPreviewParameterSyntaxNodeForMethod(IMethodSymbol methodSymbol, ISymbol parameterSymbol); 223protected abstract SyntaxNode? GetPreviewSyntaxNodeForFieldsOrEvents(ISymbol fieldOrEventSymbol, ISymbol previewSymbol); 225protected abstract SyntaxNode? GetPreviewImplementsClauseSyntaxNodeForMethodOrProperty(ISymbol methodOrPropertySymbol, ISymbol previewSymbol); 342SyntaxNode? node = GetPreviewSyntaxNodeForFieldsOrEvents(symbol, symbolType); 357out SyntaxNode? syntaxNode, 396SyntaxNode? interfaceNode = GetPreviewInterfaceNodeForTypeImplementingPreviewInterface(symbol, anInterface); 412out SyntaxNode? syntaxNode)) 429SyntaxNode? baseTypeNode = GetPreviewInterfaceNodeForTypeImplementingPreviewInterface(symbol, baseType); 442private SyntaxNode? GetPreviewSyntaxNodeFromSymbols(ISymbol symbol, 461out SyntaxNode? previewSyntaxNode, 543SyntaxNode? previewImplementsClause = null; 583SyntaxNode? returnTypeNode = GetPreviewReturnTypeSyntaxNodeForMethodOrProperty(method.IsPropertyGetter() ? method.AssociatedSymbol! : method, methodReturnType); 599SyntaxNode? returnTypeNode = GetPreviewReturnTypeSyntaxNodeForMethodOrProperty(method.IsPropertyGetter() ? method.AssociatedSymbol! : method, innerPreviewSymbol); 622SyntaxNode? previewParameterNode = GetPreviewParameterSyntaxNodeForMethod(method, parameterType); 637out SyntaxNode? syntaxNode, 656out SyntaxNode? referencedPreviewTypeSyntaxNode)) 732out SyntaxNode? _, 851out SyntaxNode? previewSyntaxNode) 933SyntaxNode node,
Microsoft.NetCore.Analyzers\Runtime\DisposeObjectsBeforeLosingScope.cs (1)
220var syntax = location.TryGetNodeToReportDiagnostic(pointsToAnalysisResult);
Microsoft.NetCore.Analyzers\Runtime\DoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectly.Fixer.cs (18)
47var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 48var invocationNode = root.FindNode(context.Span, getInnermostNodeForTie: true); 60var collectionSyntax = invocationOperation.GetInstanceSyntax(); 84private Task<Document> UseCollectionDirectlyAsync(Document document, SyntaxNode root, SyntaxNode invocationNode, SyntaxNode collectionSyntax, string methodName) 88var elementAccessNode = GetReplacementNode(methodName, generator, collectionSyntax); 94var newRoot = root.ReplaceNode(invocationNode, elementAccessNode.WithTrailingTrivia(invocationNode.GetTrailingTrivia())); 98private SyntaxNode? GetReplacementNode(string methodName, SyntaxGenerator generator, SyntaxNode collectionSyntax) 100var adjustedCollectionSyntax = AdjustSyntaxNode(collectionSyntax); 101var adjustedCollectionSyntaxNoTrailingTrivia = adjustedCollectionSyntax.WithoutTrailingTrivia(); 105var zeroLiteral = generator.LiteralExpression(0); 114var countMemberAccess = generator.MemberAccessExpression(collectionSyntax.WithoutTrailingTrivia(), CountPropertyName); 115var oneLiteral = generator.LiteralExpression(1); 118var substraction = generator.SubtractExpression(countMemberAccess, oneLiteral); 132private protected abstract SyntaxNode? AdjustSyntaxNode(SyntaxNode? syntaxNode);
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (3)
40protected abstract SyntaxNode? GetInvocationMethodNameNode(SyntaxNode invocationNode); 108SyntaxNode? nodeToDiagnose = GetInvocationMethodNameNode(context.Operation.Syntax) ?? context.Operation.Syntax;
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Fixer.cs (25)
21where TArgumentSyntax : SyntaxNode 26SyntaxNode node, 32SyntaxNode invocationNode, 33[NotNullWhen(returnValue: true)] out SyntaxNode? expression, 40protected abstract SyntaxNode GetConditionalOperationInvocationExpression(SyntaxNode invocationNode); 42protected abstract SyntaxNode GetTypeSyntaxForArray(IArrayTypeSymbol type); 43protected abstract IEnumerable<SyntaxNode> GetExpressions(ImmutableArray<TArgumentSyntax> newArguments); 44protected abstract SyntaxNode GetArrayCreationExpression(SyntaxGenerator generator, SyntaxNode typeSyntax, IEnumerable<SyntaxNode> expressions); 53SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(ct).ConfigureAwait(false); 85SyntaxNode expression = currentNode.GetCurrentNode(fix.Expression) ?? fix.Expression; 97private bool TryGetFix(SemanticModel model, SyntaxNode root, Diagnostic diagnostic, CancellationToken cancellationToken, out Fix fix) 101if (root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode node) 134if (!TryGetExpressionAndArguments(invocation.Syntax, out SyntaxNode? expression, out ImmutableArray<TArgumentSyntax> arguments)) 145private SyntaxNode GenerateInvocation(SyntaxGenerator generator, in Fix fix, SyntaxNode expression, ImmutableArray<TArgumentSyntax> currentArguments) 147ImmutableArray<SyntaxNode> newArguments; 151var typeSyntax = GetTypeSyntaxForArray(fix.ParamsArrayType); 158newArguments = currentArguments.CastArray<SyntaxNode>(); 161SyntaxNode identifier = generator.IdentifierName(fix.ArgumentName); 162SyntaxNode cancellationTokenArgument; 179public Fix(IInvocationOperation invocation, SyntaxNode expression, ImmutableArray<TArgumentSyntax> arguments, 192public SyntaxNode Expression { get; }
Microsoft.NetCore.Analyzers\Runtime\InstantiateArgumentExceptionsCorrectly.Fixer.cs (12)
38SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 116private static bool TryGetCreation(SemanticModel model, SyntaxNode root, Diagnostic diagnostic, CancellationToken cancellationToken, 128if (root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode node || 164if (argument.Original is SyntaxNode original) 174SyntaxNode[] newArguments = new SyntaxNode[arguments.Length]; 178newArguments[i] = argument.Original is SyntaxNode original 193private FixArgument(SyntaxNode node, bool carriedOver) 199public static FixArgument Generated(SyntaxNode node) => new FixArgument(node, carriedOver: false); 201public static FixArgument CarriedOver(SyntaxNode node) => new FixArgument(node, carriedOver: true); 203public SyntaxNode Node { get; } 205public SyntaxNode? Original { get; }
Microsoft.NetCore.Analyzers\Runtime\MarkAllNonSerializableFields.Fixer.cs (8)
24protected abstract SyntaxNode? GetFieldDeclarationNode(SyntaxNode node); 28SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 29SyntaxNode node = root.FindNode(context.Span); 30SyntaxNode? fieldNode = GetFieldDeclarationNode(node); 55private static async Task<Document> AddNonSerializedAttributeAsync(Document document, SyntaxNode fieldNode, CancellationToken cancellationToken) 63SyntaxNode attr = editor.Generator.Attribute(editor.Generator.TypeExpression(nonSerializedAttributeType)); 78SyntaxNode serializableAttr = docEditor.Generator.Attribute(docEditor.Generator.TypeExpression(serializableAttributeType));
Microsoft.NetCore.Analyzers\Runtime\MarkISerializableTypesWithSerializable.Fixer.cs (2)
34SyntaxNode? node = editor.Generator.GetDeclaration(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan)); 47SyntaxNode attr = editor.Generator.Attribute(editor.Generator.TypeExpression(serializableAttributeType));
Microsoft.NetCore.Analyzers\Runtime\PreferAsSpanOverSubstring.Fixer.cs (7)
25private protected abstract void ReplaceNonConditionalInvocationMethodName(SyntaxEditor editor, SyntaxNode memberInvocation, string newName); 27private protected abstract void ReplaceNamedArgumentName(SyntaxEditor editor, SyntaxNode invocation, string oldArgumentName, string newArgumentName); 35SyntaxNode root = await document.GetRequiredSyntaxRootAsync(token).ConfigureAwait(false); 40root.FindNode(context.Span, getInnermostNodeForTie: true) is not SyntaxNode reportedNode || 85SyntaxNode withoutSystemImport = editor.GetChangedRoot(); 86SyntaxNode systemNamespaceImportStatement = editor.Generator.NamespaceImportDeclaration(nameof(System)); 87SyntaxNode withSystemImport = editor.Generator.AddNamespaceImports(withoutSystemImport, systemNamespaceImportStatement);
Microsoft.NetCore.Analyzers\Runtime\PreferConstCharOverConstUnitString.Fixer.cs (13)
29=> SyntaxEditorFixAllProvider.Create<HashSet<SyntaxNode>>( 30static _ => new HashSet<SyntaxNode>(), 37SyntaxNode root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46HashSet<SyntaxNode> rewritten = new(); 60private static async Task ApplyFixAsync(Document document, Diagnostic diagnostic, SyntaxEditor editor, HashSet<SyntaxNode> rewritten, CancellationToken cancellationToken) 63SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 71(SyntaxNode target, char charValue, string? localName) = fix; 74SyntaxNode charLiteralExpressionNode = generator.LiteralExpression(charValue); 84SyntaxNode charTypeNode = generator.TypeExpression(SpecialType.System_Char); 85SyntaxNode charSyntaxNode = generator.LocalDeclarationStatement(charTypeNode, localName, charLiteralExpressionNode, isConst: true); 94private static async Task<(SyntaxNode Target, char CharValue, string? LocalName)?> TryGetFixAsync( 95SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken) 113SyntaxNode declaringSyntax = await declaringSyntaxReference.GetSyntaxAsync(cancellationToken).ConfigureAwait(false);
Microsoft.NetCore.Analyzers\Runtime\PreferDictionaryContainsMethods.Fixer.cs (6)
32SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 60SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 78private string? GetTitle(SyntaxNode node) 92protected abstract string? GetPropertyName(SyntaxNode invocation); 98protected abstract SyntaxNode? Rewrite(SyntaxNode invocation, string methodName, SyntaxGenerator generator);
Microsoft.NetCore.Analyzers\Runtime\PreferJsonElementParse.Fixer.cs (7)
32SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 34SyntaxNode node = root.FindNode(context.Span, getInnermostNodeForTie: true); 49SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 57ImmutableArray<SyntaxNode> arguments = invocation.Arguments.Select(argument => argument.Syntax).ToImmutableArray(); 59foreach (SyntaxNode argument in arguments) 68SyntaxNode memberAccess = generator.MemberAccessExpression( 77private static IInvocationOperation? GetParseInvocation(SemanticModel model, SyntaxNode node, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\PreferStreamAsyncMemoryOverloads.Fixer.cs (38)
38protected abstract SyntaxNode? GetArgumentByPositionOrName(IInvocationOperation invocation, int index, string name, out bool isNamed); 42protected abstract bool IsPassingZeroAndBufferLength(SemanticModel model, SyntaxNode bufferValueNode, SyntaxNode offsetValueNode, SyntaxNode countValueNode); 45protected abstract SyntaxNode GetNodeWithNullability(IInvocationOperation invocation); 48protected abstract SyntaxNode GetNamedArgument(SyntaxGenerator generator, SyntaxNode node, bool isNamed, string newName); 51protected abstract SyntaxNode GetNamedMemberInvocation(SyntaxGenerator generator, SyntaxNode node, string memberName); 63SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(ct).ConfigureAwait(false); 92SyntaxNode streamInstanceNode = GetNodeWithNullability(fix.Invocation); 98if (fix.CancellationToken.Node is SyntaxNode cancellationTokenNode) 107SyntaxNode Current(SyntaxNode original) => currentNode.GetCurrentNode(original) ?? original; 109SyntaxNode bufferNode = Current(fix.Buffer.Node!); 110SyntaxNode offsetNode = Current(fix.Offset.Node!); 111SyntaxNode countNode = Current(fix.Count.Node!); 114SyntaxNode replacedInvocationNode; 128SyntaxNode namedStartNode = GetNamedArgument(generator, offsetNode, fix.Offset.IsNamed, "start"); 129SyntaxNode namedLengthNode = GetNamedArgument(generator, countNode, fix.Count.IsNamed, "length"); 132SyntaxNode asMemoryExpressionNode = GetNamedMemberInvocation(generator, bufferNode, "AsMemory"); 133SyntaxNode asMemoryInvocationNode = generator.InvocationExpression( 144SyntaxNode currentStreamInstanceNode = Current(streamInstanceNode); 145SyntaxNode asyncMethodNode = generator.MemberAccessExpression(currentStreamInstanceNode, fix.Invocation.TargetMethod.Name); 148SyntaxNode[] nodeArguments; 149if (fix.CancellationToken.Node is SyntaxNode originalCancellationTokenNode) 151SyntaxNode currentCancellationTokenNode = Current(originalCancellationTokenNode); 152SyntaxNode namedCancellationTokenNode = GetNamedArgument(generator, currentCancellationTokenNode, fix.CancellationToken.IsNamed, "cancellationToken"); 153nodeArguments = new SyntaxNode[] { replacedInvocationNode, namedCancellationTokenNode.WithTriviaFrom(currentCancellationTokenNode) }; 157nodeArguments = new SyntaxNode[] { replacedInvocationNode }; 164private bool TryGetFix(SemanticModel model, SyntaxNode root, Diagnostic diagnostic, CancellationToken cancellationToken, out Fix fix) 168if (root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true) is not SyntaxNode node || 180SyntaxNode? bufferNode = GetArgumentByPositionOrName(invocation, 0, "buffer", out bool isBufferNamed); 186SyntaxNode? offsetNode = GetArgumentByPositionOrName(invocation, 1, "offset", out bool isOffsetNamed); 192SyntaxNode? countNode = GetArgumentByPositionOrName(invocation, 2, "count", out bool isCountNamed); 199SyntaxNode? cancellationTokenNode = GetArgumentByPositionOrName(invocation, 3, "cancellationToken", out bool isCancellationTokenNamed); 211public Argument(SyntaxNode? node, bool isNamed) 217public SyntaxNode? Node { get; }
Microsoft.NetCore.Analyzers\Runtime\PreferStringContainsOverIndexOf.Fixer.cs (13)
28SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 45SyntaxNode expression = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 53SyntaxNode instance = invocationOperation.Instance!.Syntax; 56ImmutableArray<SyntaxNode> carriedOver = ImmutableArray.Create(instance).AddRange(indexOfMethodArguments.Select(argument => argument.Syntax)); 58foreach (SyntaxNode node in carriedOver) 67SyntaxNode Current(SyntaxNode original) => currentNode.GetCurrentNode(original) ?? original; 69SyntaxNode containsExpression = generator.MemberAccessExpression(Current(instance), "Contains"); 70SyntaxNode containsInvocation; 81SyntaxNode systemNode = generator.IdentifierName("System"); 82SyntaxNode argument = generator.MemberAccessExpression(generator.MemberAccessExpression(systemNode, "StringComparison"), "CurrentCulture"); 114SyntaxNode newIfCondition = negate ? generator.LogicalNotExpression(containsInvocation) : containsInvocation; 120SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\PreferTypedStringBuilderAppendOverloads.Fixer.cs (9)
37SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62SyntaxNode expression = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 74SyntaxNode replacement = ((IInvocationOperation)((IArgumentOperation)operation!).Value).Instance!.Syntax; 87SyntaxNode instance = invocationOp.Instance!.Syntax; 88SyntaxNode charArgSyntax = objectCreation.Arguments[0].Value.Syntax; 89SyntaxNode intArgSyntax = objectCreation.Arguments[1].Value.Syntax; 98SyntaxNode Current(SyntaxNode original) => currentNode.GetCurrentNode(original) ?? original; 108private static string? GetTitle(SemanticModel model, SyntaxNode? expression, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\PreventNumericIntPtrUIntPtrBehavioralChanges.cs (1)
62protected abstract bool IsAliasUsed(SyntaxNode syntax);
Microsoft.NetCore.Analyzers\Runtime\SealInternalTypes.Fixer.cs (3)
50var root = await document.GetRequiredSyntaxRootAsync(token).ConfigureAwait(false); 51var declaration = root.FindNode(location.SourceSpan); 53var newDeclaration = documentEditor.Generator.WithModifiers(declaration, newModifiers);
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureForToLowerAndToUpper.cs (1)
32protected abstract Location GetMethodNameLocation(SyntaxNode node);
Microsoft.NetCore.Analyzers\Runtime\SpecifyCultureForToLowerAndToUpper.Fixer.cs (16)
30SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 60SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 71if (GetNodeToSpecifyCurrentCultureOn(node, model, cancellationToken) is SyntaxNode target) 73SyntaxNode argument = editor.Generator.Argument(CreateCurrentCultureMemberAccess(editor.Generator, model)); 83if (GetMemberAccessToMakeInvariant(node) is SyntaxNode memberAccess) 90protected static SyntaxNode CreateCurrentCultureMemberAccess(SyntaxGenerator generator, SemanticModel model) 105protected abstract bool ShouldFix(SyntaxNode node); 111protected abstract SyntaxNode? GetNodeToSpecifyCurrentCultureOn(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken); 117protected abstract SyntaxNode SpecifyCurrentCulture(SyntaxNode currentNode, SyntaxNode currentCultureArgument, SyntaxGenerator generator); 123protected abstract SyntaxNode? GetMemberAccessToMakeInvariant(SyntaxNode node); 128protected abstract SyntaxNode UseInvariantVersion(SyntaxNode currentMemberAccess, SyntaxGenerator generator);
Microsoft.NetCore.Analyzers\Runtime\TestForEmptyStringsUsingStringLength.Fixer.cs (37)
35SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 36SyntaxNode node = root.FindNode(context.Span); 38SyntaxNode expressionSyntax = GetExpression(node); 69SyntaxNode expressionSyntax = GetExpression(editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan)); 93private FixResolution? TryGetFixResolution(SyntaxNode expressionSyntax, SemanticModel model, CancellationToken cancellationToken) 98SyntaxNode leftOperand = GetLeftOperand(expressionSyntax); 99SyntaxNode rightOperand = GetRightOperand(expressionSyntax); 113SyntaxNode? target = GetInvocationTarget(expressionSyntax); 126private static bool ContainsSystemStringEmpty(SyntaxNode expressionSyntax, SemanticModel model, CancellationToken cancellationToken) 147SyntaxNode target = currentNode.GetCurrentNode(fixResolution.Target) ?? fixResolution.Target; 149SyntaxNode typeNameSyntax = generator.TypeExpression(SpecialType.System_String); 150SyntaxNode nullOrEmptyMemberSyntax = generator.MemberAccessExpression(typeNameSyntax, "IsNullOrEmpty"); 151SyntaxNode nullOrEmptyInvocationSyntax = generator.InvocationExpression(nullOrEmptyMemberSyntax, target.WithoutTrailingTrivia()); 153SyntaxNode replacementSyntax = fixResolution.UsesEqualsOperator ? nullOrEmptyInvocationSyntax : generator.LogicalNotExpression(nullOrEmptyInvocationSyntax); 161SyntaxNode originalLeftOperand = GetLeftOperand(fixResolution.ExpressionSyntax); 162SyntaxNode originalRightOperand = GetRightOperand(fixResolution.ExpressionSyntax); 170SyntaxNode leftOperand = currentNode.GetCurrentNode(originalLeftOperand) ?? originalLeftOperand; 171SyntaxNode rightOperand = currentNode.GetCurrentNode(originalRightOperand) ?? originalRightOperand; 176SyntaxNode zeroLengthSyntax = generator.LiteralExpression(0); 188SyntaxNode replacementSyntax = fixResolution.UsesEqualsOperator ? 196private static bool ContainsEmptyStringLiteral(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken) 200protected abstract SyntaxNode GetExpression(SyntaxNode node); 201protected abstract bool IsFixableBinaryExpression(SyntaxNode node); 202protected abstract bool IsFixableInvocationExpression(SyntaxNode node); 203protected abstract bool IsEqualsOperator(SyntaxNode node); 204protected abstract bool IsNotEqualsOperator(SyntaxNode node); 205protected abstract SyntaxNode GetLeftOperand(SyntaxNode binaryExpressionSyntax); 206protected abstract SyntaxNode GetRightOperand(SyntaxNode binaryExpressionSyntax); 207protected abstract SyntaxNode? GetInvocationTarget(SyntaxNode node); 211public SyntaxNode ExpressionSyntax { get; } 212public SyntaxNode Target { get; } 215public FixResolution(SyntaxNode expressionSyntax, SyntaxNode target, bool usesEqualsOperator)
Microsoft.NetCore.Analyzers\Runtime\TestForNaNCorrectly.Fixer.cs (20)
25SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 37SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 48SyntaxNode comparisonOperand = resolution.NanIsLeftOperand ? GetRightOperand(currentNode) : GetLeftOperand(currentNode); 49SyntaxNode typeNameSyntax = generator.TypeExpression(resolution.FloatingSystemType); 50SyntaxNode nanMemberSyntax = generator.MemberAccessExpression(typeNameSyntax, "IsNaN"); 51SyntaxNode nanMemberInvocationSyntax = generator.InvocationExpression(nanMemberSyntax, comparisonOperand); 53SyntaxNode replacementSyntax = resolution.UsesEqualsOperator ? nanMemberInvocationSyntax : generator.LogicalNotExpression(nanMemberInvocationSyntax); 58private FixResolution? TryGetFixResolution(SyntaxNode node, SemanticModel model, CancellationToken cancellationToken) 60SyntaxNode binaryExpressionSyntax = GetBinaryExpression(node); 83private static ITypeSymbol? TryGetSystemTypeForNanConstantExpression(SyntaxNode expressionSyntax, SemanticModel model, CancellationToken cancellationToken) 94protected abstract SyntaxNode GetBinaryExpression(SyntaxNode node); 95protected abstract bool IsEqualsOperator(SyntaxNode node); 96protected abstract bool IsNotEqualsOperator(SyntaxNode node); 97protected abstract SyntaxNode GetLeftOperand(SyntaxNode binaryExpressionSyntax); 98protected abstract SyntaxNode GetRightOperand(SyntaxNode binaryExpressionSyntax); 102public SyntaxNode BinaryExpressionSyntax { get; } 107public FixResolution(SyntaxNode binaryExpressionSyntax, ITypeSymbol floatingSystemType, bool nanIsLeftOperand, bool usesEqualsOperator)
Microsoft.NetCore.Analyzers\Runtime\UseCancellationTokenThrowIfCancellationRequested.Fixer.cs (9)
36SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 37SyntaxNode node = root.FindNode(context.Span); 71SyntaxNode expressionStatement = CreateThrowIfCancellationRequestedExpressionStatement(editor, conditional, propertyReference); 98SyntaxNode expressionStatement = CreateThrowIfCancellationRequestedExpressionStatement(editor, conditional, propertyReference) 119private static SyntaxNode CreateThrowIfCancellationRequestedExpressionStatement( 124SyntaxNode memberAccess = editor.Generator.MemberAccessExpression( 127SyntaxNode invocation = editor.Generator.InvocationExpression(memberAccess, Array.Empty<SyntaxNode>()); 130var result = editor.Generator.ExpressionStatement(invocation);
Microsoft.NetCore.Analyzers\Runtime\UseEnvironmentMembersFixer.cs (4)
41SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 43if (root.FindNode(context.Span, getInnermostNodeForTie: true) is SyntaxNode node && 75SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 83SyntaxNode replacement = editor.Generator.MemberAccessExpression(
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpers.cs (2)
241else if (IsGreaterLessEqualThanComparison(condition.Condition, out aooreParameter, out methodName, out SyntaxNode? other)) 528private static bool IsGreaterLessEqualThanComparison(IOperation condition, [NotNullWhen(true)] out IParameterReferenceOperation? parameterReferenceOperation, [NotNullWhen(true)] out string? methodName, [NotNullWhen(true)] out SyntaxNode? other)
Microsoft.NetCore.Analyzers\Runtime\UseExceptionThrowHelpersFixer.cs (17)
33SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 35if (TryGetFixInfo(doc, root, model, context.Diagnostics[0], out INamedTypeSymbol? typeSymbol, out string? methodName, out SyntaxNode? node, out SyntaxNode? arg, out SyntaxNode? other)) 51SyntaxNode root, 56[NotNullWhen(true)] out SyntaxNode? node, 57[NotNullWhen(true)] out SyntaxNode? arg, 58[NotNullWhen(true)] out SyntaxNode? other) 111SyntaxNode node, 112SyntaxNode arg, 113SyntaxNode other, 122other is not null ? new SyntaxNode[] { arg, other } : new SyntaxNode[] { arg })).WithTriviaFrom(node)); 135SyntaxNode root = editor.OriginalRoot; 140if (TryGetFixInfo(document, root, model, diagnostic, out INamedTypeSymbol? typeSymbol, out string? methodName, out SyntaxNode? node, out SyntaxNode? arg, out SyntaxNode? other))
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.cs (1)
41protected abstract Location GetMethodNameLocation(SyntaxNode invocationNode);
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.Fixer.cs (13)
23SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 39private async Task<bool> CanFixAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 59SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan); 71if (!IsInIdentifierNameContext(node) || GetInvocation(node) is not SyntaxNode invocation) 93protected abstract bool IsInArgumentContext(SyntaxNode node); 94protected abstract void FixArgument(SyntaxNode argument, SyntaxEditor editor); 96protected abstract bool IsInIdentifierNameContext(SyntaxNode node); 101protected abstract SyntaxNode? GetInvocation(SyntaxNode identifier); 106protected abstract SyntaxNode AddArgument(SyntaxNode invocation, SyntaxNode argument); 108internal static SyntaxNode CreateOrdinalMemberAccess(SyntaxGenerator generator, SemanticModel model)
Microsoft.NetCore.Analyzers\Runtime\UseRegexMembersFixer.cs (8)
42SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 44SyntaxNode node = root.FindNode(context.Span, getInnermostNodeForTie: true); 75SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 84SyntaxNode? instance = regexCall.Instance?.Syntax; 85ImmutableArray<SyntaxNode> arguments = regexCall.Arguments.Select(argument => argument.Syntax).ToImmutableArray(); 92foreach (SyntaxNode argument in arguments) 101SyntaxNode target = instance is null 113private static IInvocationOperation? GetRegexCall(SemanticModel model, SyntaxNode node, CancellationToken cancellationToken)
Microsoft.NetCore.Analyzers\Runtime\UseSpanBasedStringConcat.Fixer.cs (20)
28private protected abstract SyntaxNode ReplaceInvocationMethodName(SyntaxGenerator generator, SyntaxNode invocationSyntax, string newName); 39var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 40var concatExpressionSyntax = root.FindNode(context.Span, getInnermostNodeForTie: true); 51var concatExpressionSyntax = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 80SyntaxNode Current(SyntaxNode original) => currentNode.GetCurrentNode(original) ?? original; 82SyntaxNode stringTypeNameSyntax = generator.TypeExpressionForStaticMemberAccess(capturedSymbols.StringType); 83SyntaxNode concatMemberAccessSyntax = generator.MemberAccessExpression(stringTypeNameSyntax, roscharConcatMethod.Name); 89var arguments = ImmutableArray.CreateBuilder<SyntaxNode>(operands.Length); 106SyntaxNode concatExpressionSyntax, 149private SyntaxNode ConvertOperandToArgument(in RequiredSymbols symbols, SyntaxGenerator generator, IOperation operand, Func<SyntaxNode, SyntaxNode> current) 156SyntaxNode invocationSyntax = current(invocation.Syntax); 163SyntaxNode argumentSyntax = invocationSyntax.GetCurrentNode(namedStartIndexArgument.Syntax) ?? namedStartIndexArgument.Syntax; 164SyntaxNode startIndexSyntax = invocationSyntax.GetCurrentNode(namedStartIndexArgument.Value.Syntax) ?? namedStartIndexArgument.Value.Syntax; 166var renamedArgumentSyntax = generator.Argument(AsSpanStartParameterName, RefKind.None, startIndexSyntax); 170var asSpanInvocationSyntax = ReplaceInvocationMethodName(generator, invocationSyntax, AsSpanName).WithAddImportsAnnotation().WithAdditionalAnnotations(s_asSpanSymbolAnnotation); 179var stringLiteral = generator.LiteralExpression(literalValue.ToString()).WithTriviaFrom(current(literalOperation.Syntax));
Microsoft.NetCore.Analyzers\Runtime\UseStringEqualsOverStringCompare.Fixer.cs (29)
33var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 54foreach (var argument in replacer.GetArgumentSyntaxes(violation)) 63private static (IOperation Violation, OperationReplacer Replacer)? GetViolation(SyntaxNode root, TextSpan span, SemanticModel semanticModel, CancellationToken cancellationToken) 70var node = root.FindNode(span, getInnermostNodeForTie: true); 119public abstract SyntaxNode CreateReplacementExpression(IOperation violation, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode> current); 124public IEnumerable<SyntaxNode> GetArgumentSyntaxes(IOperation violation) 127protected SyntaxNode CreateEqualsMemberAccess(SyntaxGenerator generator) 129var stringTypeExpression = generator.TypeExpressionForStaticMemberAccess(Symbols.StringType); 147protected static SyntaxNode InvertIfNotEquals(SyntaxNode stringEqualsInvocationExpression, IOperation equalsOrNotEqualsOperation, SyntaxGenerator generator) 178public override SyntaxNode CreateReplacementExpression(IOperation violation, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode> current) 183var equalsInvocationSyntax = generator.InvocationExpression( 202public override SyntaxNode CreateReplacementExpression(IOperation violation, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode> current) 219var stringComparisonMemberAccessSyntax = generator.MemberAccessExpression( 223var equalsInvocationSyntax = generator.InvocationExpression( 244public override SyntaxNode CreateReplacementExpression(IOperation violation, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode> current) 249var equalsInvocationSyntax = generator.InvocationExpression( 268public override SyntaxNode CreateReplacementExpression(IOperation violation, SyntaxGenerator generator, Func<SyntaxNode, SyntaxNode> current) 273var equalsInvocationSyntax = generator.InvocationExpression(
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.Fixer.cs (4)
30SyntaxNode root = await doc.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 59private static (SyntaxNode Expression, IFieldSymbol? ReplacementField) GetTaskCreationOptionsField( 60SyntaxNode root, SemanticModel model, TextSpan span, CancellationToken cancellationToken) 68root.FindNode(span) is SyntaxNode expression &&
Microsoft.NetCore.Analyzers\Tasks\DoNotUseWhenAllOrWaitAllWithSingleArgumentFixer.cs (4)
26var root = await context.Document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 27var nodeToFix = root.FindNode(context.Span, getInnermostNodeForTie: true); 66var newNode = GetSingleArgumentSyntax(operation).WithTriviaFrom(nodeToFix); 99private static SyntaxNode GetSingleArgumentSyntax(IInvocationOperation operation)
Microsoft.NetCore.Analyzers\Usage\DoNotCompareSpanToNull.Fixer.cs (3)
32SyntaxNode node = editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true); 45protected abstract SyntaxNode? MakeIsEmptyCheck(SyntaxNode comparison);
Microsoft.NetCore.Analyzers\Usage\DoNotPassNonNullableValueToArgumentNullExceptionThrowIfNull.Fixer.cs (4)
18where TInvocationExpression : SyntaxNode 40SyntaxNode root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 84if (editor.OriginalRoot.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true) is not TInvocationExpression { Parent: SyntaxNode statement } invocation) 110protected abstract void ReplaceWithNullableStructCheck(TInvocationExpression invocation, SyntaxNode statement, SyntaxEditor editor);
Microsoft.NetCore.Analyzers\Usage\ImplementGenericMathInterfacesCorrectly.cs (4)
69SyntaxNode? typeParameter = FindTheTypeArgumentOfTheInterfaceFromTypeDeclaration(symbol, anInterface); 84SyntaxNode? typeParameter = FindTheTypeArgumentOfTheInterfaceFromTypeDeclaration(symbol, symbol.BaseType!); 134private static Diagnostic CreateDiagnostic(DiagnosticDescriptor GMIRule, SyntaxNode? parameter, 139protected abstract SyntaxNode? FindTheTypeArgumentOfTheInterfaceFromTypeDeclaration(ISymbol typeSymbol, ISymbol theInterfaceSymbol);
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.cs (4)
106!TryGetModifiedInvocationSyntax(invocationContext, out var modifiedInvocationSyntax)) 220public SyntaxNode Syntax => Invocation.Syntax; 258public bool IsTypeOfArgumentSyntax(SyntaxNode argumentSyntax) 326protected abstract bool TryGetModifiedInvocationSyntax(RuntimeTypeInvocationContext invocationContext, [NotNullWhen(true)] out SyntaxNode? modifiedInvocationSyntax);
Microsoft.NetCore.Analyzers\Usage\PreferGenericOverloads.Fixer.cs (2)
30var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 31var node = root.FindNode(context.Span, getInnermostNodeForTie: true);
Microsoft.NetCore.Analyzers\Usage\UseVolatileReadWrite.Fixer.cs (8)
31var root = await context.Document.GetRequiredSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 74var methodExpression = generator.MemberAccessExpression( 91protected abstract ImmutableArray<SyntaxNode> GetArguments(SyntaxNode invocationSyntax); 97protected abstract SyntaxNode WithParameterName(SyntaxNode argumentSyntax, string parameterName); 100SemanticModel semanticModel, SyntaxNode root, TextSpan span, CancellationToken cancellationToken) 102var node = root.FindNode(span, getInnermostNodeForTie: true);
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (5)
131internal SyntaxNode XmlDocumentDefinition { get; set; } 144internal SyntaxNode XmlTextReaderDefinition { get; set; } 162internal SyntaxNode XmlReaderSettingsDefinition { get; set; } 251private void AnalyzeMethodOverloads(OperationAnalysisContext context, IMethodSymbol method, ImmutableArray<IArgumentOperation> arguments, SyntaxNode expressionSyntax) 345SyntaxNode node = objCreation.Syntax;
Microsoft.NetFramework.Analyzers\Helpers\SecurityDiagnosticHelpers.cs (2)
229public static string GetNonEmptyParentName(SyntaxNode current, SemanticModel model, CancellationToken cancellationToken) 233SyntaxNode parent = current.Parent;
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (2)
592SyntaxNode operationSyntax, 614SyntaxNode operationSyntax,
src\40daf5e1cab76dff\TaintedDataAbstractValue.cs (1)
57internal static TaintedDataAbstractValue CreateTainted(ISymbol taintedSymbol, SyntaxNode accessingSyntax, ISymbol accessingMethod)
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
126SyntaxNode parameterSyntaxNode;
src\47c588c5b8785708\ParameterValidationAnalysis.cs (4)
29public static ImmutableDictionary<IParameterSymbol, SyntaxNode> GetOrComputeHazardousParameterUsages( 45return ImmutableDictionary<IParameterSymbol, SyntaxNode>.Empty; 57private static ImmutableDictionary<IParameterSymbol, SyntaxNode> GetOrComputeHazardousParameterUsages( 81return ImmutableDictionary<IParameterSymbol, SyntaxNode>.Empty;
src\47c588c5b8785708\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (6)
26private readonly ImmutableDictionary<IParameterSymbol, SyntaxNode>.Builder? _hazardousParameterUsageBuilder; 37_hazardousParameterUsageBuilder = ImmutableDictionary.CreateBuilder<IParameterSymbol, SyntaxNode>(); 43public ImmutableDictionary<IParameterSymbol, SyntaxNode> HazardousParameterUsages 185private void HandleHazardousOperation(SyntaxNode syntaxNode, IEnumerable<AbstractLocation> nonValidatedLocations) 194if (!_hazardousParameterUsageBuilder.TryGetValue(parameter, out var currentSyntaxNode) || 369var syntaxNode = kvp.Value;
src\47c588c5b8785708\ParameterValidationAnalysisResult.cs (2)
15ImmutableDictionary<IParameterSymbol, SyntaxNode> hazardousParameterUsages) 21public ImmutableDictionary<IParameterSymbol, SyntaxNode> HazardousParameterUsages { get; }
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\CodeMetricsAnalysisContext.cs (1)
33internal SemanticModel GetSemanticModel(SyntaxNode node)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (10)
66SyntaxNode declSyntax = GetTopmostSyntaxNodeForDeclaration(decl, symbol, context); 175internal static SyntaxNode GetTopmostSyntaxNodeForDeclaration(SyntaxReference declaration, ISymbol declaredSymbol, CodeMetricsAnalysisContext context) 177var declSyntax = declaration.GetSyntax(context.CancellationToken); 199var nodesToProcess = new Queue<SyntaxNode>(); 200using var applicableAttributeNodes = PooledHashSet<SyntaxNode>.GetInstance(); 204SyntaxNode syntax = GetTopmostSyntaxNodeForDeclaration(declaration, symbol, context); 214var parameterSyntax = parameterSyntaxRef.GetSyntax(context.CancellationToken); 230var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken); 240var node = nodesToProcess.Dequeue(); 314foreach (var child in node.ChildNodes())
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
17this SyntaxNode node, 23this SyntaxNode node, 30this SyntaxNode node,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
568var syntax = decl.GetSyntax(cancellationToken); 578foreach (var descendant in syntax.DescendantNodesAndSelf())
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (2)
52private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken) 623public static SyntaxNode? GetInstanceSyntax(this IInvocationOperation invocationOperation)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\SemanticModelExtensions.cs (1)
13public static IOperation? GetOperationWalkingUpParentChain(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Lightup\LightupHelpers.cs (2)
16where TSyntax : SyntaxNode 60where TSyntax : SyntaxNode
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SymbolAccess.cs (1)
16public SymbolAccess(ISymbol symbol, SyntaxNode syntaxNode, ISymbol accessingMethod)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (6)
126public SyntaxNode? TryGetNodeToReportDiagnostic(PointsToAnalysisResult? pointsToAnalysisResult) 135var syntaxNode = TryGetSyntaxNodeToReportDiagnostic(creation, pointsToAnalysisResult); 153SyntaxNode? TryGetSyntaxNodeToReportDiagnostic(IOperation creation, PointsToAnalysisResult pointsToAnalysisResult) 167var syntaxNode = TryGetSyntaxNodeToReportDiagnosticCore(argument); 176SyntaxNode? TryGetSyntaxNodeToReportDiagnosticCore(IOperation operation) 181SyntaxNode? TryGetSyntaxNodeToReportDiagnosticForPointsValue(PointsToAbstractValue pointsToValue, IOperation operation)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntity.cs (2)
40SyntaxNode? instanceReferenceOperationSyntax, 197public SyntaxNode? InstanceReferenceOperationSyntax { get; }
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (1)
122public TAbstractAnalysisValue this[OperationKind operationKind, SyntaxNode syntax]
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Workspaces\DocumentExtensions.cs (2)
33public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 35if (document.TryGetSyntaxRoot(out var root))
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Workspaces\SyntaxGeneratorExtensions.cs (60)
31/// A <see cref="SyntaxNode"/> representing the declaration. 33public static SyntaxNode DefaultOperatorEqualityDeclaration(this SyntaxGenerator generator, 36var leftArgument = generator.IdentifierName(LeftIdentifierName); 37var rightArgument = generator.IdentifierName(RightIdentifierName); 39List<SyntaxNode> statements = new List<SyntaxNode>(); 74/// <returns>A <see cref="SyntaxNode"/> representing the type reference expression.</returns> 75public static SyntaxNode TypeExpressionForStaticMemberAccess(this SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 80var typeExpression = generator.TypeExpression(typeSymbol); 84static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 88var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 89var right = expression.ChildNodes().Last(); 107/// A <see cref="SyntaxNode"/> representing the declaration. 109public static SyntaxNode DefaultOperatorInequalityDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 111var leftArgument = generator.IdentifierName(LeftIdentifierName); 112var rightArgument = generator.IdentifierName(RightIdentifierName); 114var returnStatement = generator.ReturnStatement( 133/// A <see cref="SyntaxNode"/> representing the declaration. 135public static SyntaxNode DefaultOperatorLessThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 137var leftArgument = generator.IdentifierName(LeftIdentifierName); 138var rightArgument = generator.IdentifierName(RightIdentifierName); 140SyntaxNode expression; 171var returnStatement = generator.ReturnStatement(expression); 185/// A <see cref="SyntaxNode"/> representing the declaration. 187public static SyntaxNode DefaultOperatorLessThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 189var leftArgument = generator.IdentifierName(LeftIdentifierName); 190var rightArgument = generator.IdentifierName(RightIdentifierName); 192SyntaxNode expression; 218var returnStatement = generator.ReturnStatement(expression); 232/// A <see cref="SyntaxNode"/> representing the declaration. 234public static SyntaxNode DefaultOperatorGreaterThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 236var leftArgument = generator.IdentifierName(LeftIdentifierName); 237var rightArgument = generator.IdentifierName(RightIdentifierName); 239SyntaxNode expression; 266var returnStatement = generator.ReturnStatement(expression); 280/// A <see cref="SyntaxNode"/> representing the declaration. 282public static SyntaxNode DefaultOperatorGreaterThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 284var leftArgument = generator.IdentifierName(LeftIdentifierName); 285var rightArgument = generator.IdentifierName(RightIdentifierName); 287SyntaxNode expression; 317var returnStatement = generator.ReturnStatement(expression); 321private static SyntaxNode ComparisonOperatorDeclaration(this SyntaxGenerator generator, OperatorKind operatorKind, INamedTypeSymbol containingType, params SyntaxNode[] statements) 347/// A <see cref="SyntaxNode"/> representing the declaration. 349public static SyntaxNode DefaultEqualsOverrideDeclaration(this SyntaxGenerator generator, Compilation compilation, INamedTypeSymbol containingType) 351var argumentName = generator.IdentifierName("obj"); 353List<SyntaxNode> statements = new List<SyntaxNode>(); 402/// A <see cref="SyntaxNode"/> representing the declaration. 404public static SyntaxNode DefaultGetHashCodeOverrideDeclaration( 426public static IEnumerable<SyntaxNode> DefaultMethodBody( 432public static SyntaxNode DefaultMethodStatement(this SyntaxGenerator generator, Compilation compilation) 434SyntaxNode expression = compilation.TryGetOrCreateTypeByMetadataName( 443public static SyntaxNode? TryGetContainingDeclaration(this SyntaxGenerator generator, SyntaxNode? node, DeclarationKind kind) 478/// A <see cref="SyntaxNode"/> representing an unused identifier name. 481public static SyntaxNode FirstUnusedIdentifierName(this SyntaxGenerator generator, SemanticModel semanticModel, int position, string baseName, int maxTries = int.MaxValue, ISet<string>? reservedNames = null) 483var identifierName = generator.IdentifierName(baseName); 503bool IsUnused(string candidate, SyntaxNode candidateName)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Workspaces\SyntaxNodeExtensions.cs (2)
33public static SyntaxNode WithAddImportsAnnotation(this SyntaxNode syntaxNode)
SyntaxEditorBasedCodeFixProvider.cs (3)
58/// <see cref="SyntaxEditor.ReplaceNode(SyntaxNode, Func{SyntaxNode, SyntaxGenerator, SyntaxNode})"/>
SyntaxEditorFixAllProvider.cs (4)
53/// <see cref="SyntaxEditor.ReplaceNode(SyntaxNode, Func{SyntaxNode, SyntaxGenerator, SyntaxNode})"/> 175SyntaxNode root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Microsoft.CodeAnalysis.Razor.Compiler (8)
Analyzers\ComponentParameterNullableWarningSuppressor.cs (1)
36var node = diagnostic.Location.SourceTree?.GetRoot(context.CancellationToken).FindNode(diagnostic.Location.SourceSpan);
CSharp\GenericTypeNameRewriter.cs (3)
55public override SyntaxNode Visit(SyntaxNode node) 78public override SyntaxNode VisitGenericName(GenericNameSyntax node)
CSharp\GlobalQualifiedTypeNameRewriter.cs (4)
52public override SyntaxNode Visit(SyntaxNode node) 57public override SyntaxNode VisitQualifiedName(QualifiedNameSyntax node) 86public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node)
Microsoft.CodeAnalysis.ResxSourceGenerator (1151)
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeMetricsAnalysisContext.cs (1)
34internal SemanticModel GetSemanticModel(SyntaxNode node)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (10)
67SyntaxNode declSyntax = GetTopmostSyntaxNodeForDeclaration(decl, symbol, context); 176internal static SyntaxNode GetTopmostSyntaxNodeForDeclaration(SyntaxReference declaration, ISymbol declaredSymbol, CodeMetricsAnalysisContext context) 178var declSyntax = declaration.GetSyntax(context.CancellationToken); 200var nodesToProcess = new Queue<SyntaxNode>(); 201using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var applicableAttributeNodes); 205SyntaxNode syntax = GetTopmostSyntaxNodeForDeclaration(declaration, symbol, context); 215var parameterSyntax = parameterSyntaxRef.GetSyntax(context.CancellationToken); 231var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken); 241var node = nodesToProcess.Dequeue(); 315foreach (var child in node.ChildNodes())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
19this SyntaxNode node, 25this SyntaxNode node, 32this SyntaxNode node,
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
441var syntax = decl.GetSyntax(cancellationToken); 451foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
54private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (214)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\BasicEnumsShouldHaveZeroValue.Fixer.vb (2)
17Protected Overrides Function GetParentNodeOrSelfToFix(nodeToFix As SyntaxNode) As SyntaxNode
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\BasicEnumStorageShouldBeInt32.Fixer.vb (2)
17Protected Overrides Function GetTargetNode(node As SyntaxNode) As SyntaxNode
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\BasicIdentifiersShouldNotContainUnderscores.Fixer.vb (2)
30Protected Overrides Function GetDeclarationNode(node As SyntaxNode) As SyntaxNode
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\BasicPassSystemUriObjectsInsteadOfStrings.vb (2)
16Protected Overrides Function GetInvocationExpression(invocationNode As SyntaxNode) As SyntaxNode
Microsoft.CodeQuality.Analyzers\Maintainability\BasicAvoidDeadConditionalCode.vb (1)
12Protected Overrides Function IsSwitchArmExpressionWithWhenClause(node As SyntaxNode) As Boolean
Microsoft.CodeQuality.Analyzers\Maintainability\BasicMakeTypesInternal.Fixer.vb (2)
15Protected Overrides Function MakeInternal(node As SyntaxNode) As SyntaxNode
Microsoft.CodeQuality.Analyzers\Maintainability\BasicMakeTypesInternal.vb (1)
13Protected Overrides Function GetIdentifier(type As SyntaxNode) As SyntaxToken?
Microsoft.CodeQuality.Analyzers\QualityGuidelines\BasicAvoidMultipleEnumerationsAnalyzer.vb (1)
14Protected Overrides Function IsExpressionOfForEachStatement(syntax As SyntaxNode) As Boolean
Microsoft.CodeQuality.Analyzers\QualityGuidelines\BasicMarkMembersAsStatic.Fixer.vb (5)
19Protected Overrides Function GetTypeArguments(node As SyntaxNode) As IEnumerable(Of SyntaxNode) 23Protected Overrides Function GetExpressionOfInvocation(invocation As SyntaxNode) As SyntaxNode 27Protected Overrides Function GetSyntaxNodeToReplace(memberReference As IMemberReferenceOperation) As SyntaxNode
Microsoft.CodeQuality.Analyzers\QualityGuidelines\BasicUseLiteralsWhereAppropriate.Fixer.vb (5)
18Protected Overrides Function GetFieldDeclaration(syntaxNode As SyntaxNode) As SyntaxNode 41Protected Overrides Function GetModifiers(fieldSyntax As SyntaxNode) As SyntaxTokenList 46Protected Overrides Function WithModifiers(fieldSyntax As SyntaxNode, modifiers As SyntaxTokenList) As SyntaxNode
Microsoft.NetCore.Analyzers\InteropServices\BasicSpecifyMarshalingForPInvokeStringArguments.Fixer.vb (5)
17Protected Overrides Function IsAttribute(node As SyntaxNode) As Boolean 21Protected Overrides Function FindNamedArgument(arguments As IReadOnlyList(Of SyntaxNode), argumentName As String) As SyntaxNode 27Protected Overrides Function IsDeclareStatement(node As SyntaxNode) As Boolean 32Protected Overrides Sub FixDeclareStatement(editor As SyntaxEditor, node As SyntaxNode)
Microsoft.NetCore.Analyzers\Performance\BasicDoNotGuardCall.Fixer.vb (5)
20Protected Overrides Function SyntaxSupportedByFixer(conditionalSyntax As SyntaxNode, childStatementSyntax As SyntaxNode) As Boolean 36Protected Overrides Function IsInElseBranch(childStatementSyntax As SyntaxNode) As Boolean 40Protected Overrides Function ReplaceConditionWithChild(currentConditional As SyntaxNode, guardedCallInElse As Boolean, generator As SyntaxGenerator) As SyntaxNode
Microsoft.NetCore.Analyzers\Performance\BasicDoNotUseCountWhenAnyCanBeUsedFixer.vb (6)
27Protected Overrides Function TryGetFixer(node As SyntaxNode, operation As String, isAsync As Boolean, ByRef expression As SyntaxNode, ByRef arguments As IEnumerable(Of SyntaxNode)) As Boolean 98Private Shared Function TryGetExpressionAndInvocationArguments(sourceExpression As ExpressionSyntax, isAsync As Boolean, ByRef expression As SyntaxNode, ByRef arguments As IEnumerable(Of SyntaxNode)) As Boolean 137arguments = Enumerable.Empty(Of SyntaxNode)()
Microsoft.NetCore.Analyzers\Performance\BasicPreferDictionaryTryMethodsOverContainsKeyGuardFixer.vb (13)
60Private Shared Function GetTryGetValueFix(diagnostic As Diagnostic, root As SyntaxNode, semanticModel As SemanticModel) As TryGetValueFix 67Dim dictionaryAccessors As New List(Of SyntaxNode) 69Dim changedValueNode As SyntaxNode = Nothing 133Dim anchor As SyntaxNode = containsKeyAccess.FirstAncestorOrSelf(Of MultiLineIfBlockSyntax) 188Dim newValueAssignment As SyntaxNode = generator.ExpressionStatement( 208Private Shared Function GetTryAddFix(diagnostic As Diagnostic, root As SyntaxNode) As TryAddFix 263Private Shared Function GetDictionaryValueType(semanticModel As SemanticModel, dictionary As SyntaxNode) As ITypeSymbol 270valueAssignmentAnchor As SyntaxNode, dictionaryAccessors As List(Of SyntaxNode), 271addStatementNode As ExecutableStatementSyntax, changedValueNode As SyntaxNode, variableName As String, 293Public ReadOnly Property ValueAssignmentAnchor As SyntaxNode 295Public ReadOnly Property DictionaryAccessors As List(Of SyntaxNode) 299Public ReadOnly Property ChangedValueNode As SyntaxNode
Microsoft.NetCore.Analyzers\Performance\BasicPreferHashDataOverComputeHash.Fixer.vb (9)
36Protected Overrides Function FixHashCreateNode(root As SyntaxNode, createNode As SyntaxNode) As SyntaxNode 61Private Function MoveStatementsOutOfUsingBlockWithFormatting(root As SyntaxNode, usingBlock As UsingBlockSyntax) As SyntaxNode 93Protected Overrides Function GetHashDataSyntaxNode(computeType As PreferHashDataOverComputeHashAnalyzer.ComputeType, namespacePrefix As String, hashTypeName As String, computeHashNode As SyntaxNode) As SyntaxNode 164Protected Overrides Function GetQualifiedPrefixNamespaces(computeHashNode As SyntaxNode, createNode As SyntaxNode) As String
Microsoft.NetCore.Analyzers\Performance\BasicPreferIsEmptyOverCount.Fixer.vb (4)
18Protected Overrides Function GetObjectExpressionFromOperation(node As SyntaxNode, operationKey As String) As SyntaxNode 19Dim countNode As SyntaxNode = Nothing 75Dim objectNode As SyntaxNode = Nothing
Microsoft.NetCore.Analyzers\Performance\BasicPreferLengthCountIsEmptyOverAnyFixer.vb (9)
15Protected Overrides Function GetNodeToReplace(node As SyntaxNode) As SyntaxNode 17Dim target As SyntaxNode 39Protected Overrides Function ReplaceAnyWithIsEmpty(currentNode As SyntaxNode) As SyntaxNode 64Protected Overrides Function ReplaceAnyWithPropertyCheck(currentNode As SyntaxNode, propertyName As String) As SyntaxNode 90Private Shared Function TrySplit(currentNode As SyntaxNode, ByRef isNegated As Boolean, ByRef expression As ExpressionSyntax) As Boolean 94Dim operand = If(isNegated, CType(unary.Operand, SyntaxNode), currentNode)
Microsoft.NetCore.Analyzers\Performance\BasicRecommendCaseInsensitiveStringComparisonFixer.vb (10)
19leftOffendingMethod As String, rightOffendingMethod As String, ByRef mainInvocationInstance As SyntaxNode) As IEnumerable(Of SyntaxNode) 55Dim arguments As New List(Of SyntaxNode) 60Dim newArgumentNode As SyntaxNode 62Dim actualArgumentNode As SyntaxNode = arg.Syntax 133Dim stringComparisonArgument As SyntaxNode = GetNewStringComparisonArgument(generator, stringComparisonType, caseChangingApproachValue, isAnyArgumentNamed) 141Protected Overrides Function GetNewArgumentsForBinary(generator As SyntaxGenerator, rightNode As SyntaxNode, typeMemberAccess As SyntaxNode) As IEnumerable(Of SyntaxNode) 143Return New List(Of SyntaxNode) From
Microsoft.NetCore.Analyzers\Performance\BasicUsePropertyInsteadOfCountMethodWhenAvailable.Fixer.vb (3)
29Protected Overrides Function TryGetExpression(invocationNode As SyntaxNode, ByRef memberAccessNode As SyntaxNode, ByRef nameNode As SyntaxNode) As Boolean
Microsoft.NetCore.Analyzers\Performance\BasicUseStartsWithInsteadOfIndexOfComparisonWithZero.Fixer.vb (14)
17Protected Overrides Function GetIndexOfInvocation(comparison As SyntaxNode) As SyntaxNode 38Protected Overrides Function GetInstance(invocation As SyntaxNode) As SyntaxNode 42Protected Overrides Function GetArguments(invocation As SyntaxNode) As SyntaxNode() 46Protected Overrides Function GetArgumentExpression(argument As SyntaxNode) As SyntaxNode 50Protected Overrides Function AppendElasticMarker(replacement As SyntaxNode) As SyntaxNode 54Protected Overrides Function HandleCharStringComparisonOverload(generator As SyntaxGenerator, instance As SyntaxNode, arguments As SyntaxNode(), shouldNegate As Boolean) As SyntaxNode 69Private Shared Function GetCharacterArgumentIndex(arguments As SyntaxNode()) As Integer
Microsoft.NetCore.Analyzers\Performance\BasicUseStringContainsCharOverloadWithSingleCharactersFixer.vb (2)
15Protected Overrides Function TryGetArgumentName(violatingNode As SyntaxNode, ByRef argumentName As String) As Boolean 29Protected Overrides Function TryGetLiteralValueFromNode(violatingNode As SyntaxNode, ByRef charLiteral As Char) As Boolean
Microsoft.NetCore.Analyzers\Performance\BasicUseStringMethodCharOverloadWithSingleCharacters.Fixer.vb (6)
17Protected Overrides Function TryGetChar(model As SemanticModel, argumentListNode As SyntaxNode, ByRef c As Char) As Boolean 41Protected Overrides Function GetArguments(argumentListNode As SyntaxNode) As ImmutableArray(Of SyntaxNode) 42Return CType(argumentListNode, ArgumentListSyntax).Arguments.Cast(Of SyntaxNode)().ToImmutableArray() 45Protected Overrides Function CreateArgumentList(arguments As IEnumerable(Of SyntaxNode)) As SyntaxNode
Microsoft.NetCore.Analyzers\Performance\BasicUseStringMethodCharOverloadWithSingleCharacters.vb (2)
14Protected Overrides Function GetArgumentList(argumentNode As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicAvoidZeroLengthArrayAllocationsAnalyzer.vb (2)
16Protected Overrides Function IsAttributeSyntax(node As SyntaxNode) As Boolean 20Protected Overrides Function IsCollectionExpressionSyntax(node As SyntaxNode) As Boolean
Microsoft.NetCore.Analyzers\Runtime\BasicDetectPreviewFeatureAnalyzer.vb (17)
55Private Function TryMatchGenericSyntaxNodeWithGivenSymbol(genericName As GenericNameSyntax, previewReturnTypeSymbol As ISymbol, ByRef syntaxNode As SyntaxNode) As Boolean 81Private Function TryGetPreviewInterfaceNodeForClassOrStructImplementingPreviewInterface(baseListTypes As SyntaxList(Of InheritsStatementSyntax), previewInterfaceSymbol As ISymbol, ByRef previewInterfaceNode As SyntaxNode) As Boolean 95Private Function TryGetPreviewInterfaceNodeForClassOrStructImplementingPreviewInterface(baseType As TypeSyntax, previewInterfaceSymbol As ISymbol, ByRef previewInterfaceNode As SyntaxNode) As Boolean 104Dim previewConstraint As SyntaxNode = Nothing 115Private Function TryGetPreviewInterfaceNodeForClassOrStructImplementingPreviewInterface(baseListTypes As SyntaxList(Of ImplementsStatementSyntax), previewInterfaceSymbol As ISymbol, ByRef previewInterfaceNode As SyntaxNode) As Boolean 129Protected Overrides Function GetPreviewInterfaceNodeForTypeImplementingPreviewInterface(typeSymbol As ISymbol, previewInterfaceSymbol As ISymbol) As SyntaxNode 138Dim syntaxNode As SyntaxNode = Nothing 151Protected Overrides Function GetConstraintSyntaxNodeForTypeConstrainedByPreviewTypes(typeOrMethodSymbol As ISymbol, previewInterfaceConstraintSymbol As ISymbol) As SyntaxNode 169Private Function GetSyntaxNodeFromTypeConstraints(typeParameters As TypeParameterListSyntax, previewSymbol As ISymbol) As SyntaxNode 190Private Function GetTypeConstraints(constraint As ConstraintSyntax, previewSymbol As ISymbol) As SyntaxNode 199Private Function TryGetNodeFromAsClauseForMethodOrProperty(asClause As AsClauseSyntax, previewReturnTypeSymbol As ISymbol) As SyntaxNode 210Dim previewNode As SyntaxNode = Nothing 220Protected Overrides Function GetPreviewReturnTypeSyntaxNodeForMethodOrProperty(methodOrPropertySymbol As ISymbol, previewReturnTypeSymbol As ISymbol) As SyntaxNode 247Private Shared Function GetSyntaxNodeFromImplementsClause(implementsClause As ImplementsClauseSyntax, previewSymbol As ISymbol) As SyntaxNode 267Protected Overrides Function GetPreviewImplementsClauseSyntaxNodeForMethodOrProperty(methodOrPropertySymbol As ISymbol, previewSymbol As ISymbol) As SyntaxNode 289Protected Overrides Function GetPreviewParameterSyntaxNodeForMethod(methodSymbol As IMethodSymbol, parameterSymbol As ISymbol) As SyntaxNode 322Protected Overrides Function GetPreviewSyntaxNodeForFieldsOrEvents(fieldOrEventSymbol As ISymbol, previewSymbol As ISymbol) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicDoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectlyFixer.vb (2)
12Private Protected Overrides Function AdjustSyntaxNode(syntaxNode As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Analyzer.vb (2)
17Protected Overrides Function GetInvocationMethodNameNode(invocationNode As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Fixer.vb (10)
23Protected Overrides Function TryGetInvocation(model As SemanticModel, node As SyntaxNode, ct As CancellationToken, <NotNullWhen(True)> ByRef invocation As IInvocationOperation) As Boolean 46Protected Overrides Function GetConditionalOperationInvocationExpression(invocationNode As SyntaxNode) As SyntaxNode 53Protected Overrides Function TryGetExpressionAndArguments(invocationNode As SyntaxNode, ByRef expression As SyntaxNode, ByRef arguments As ImmutableArray(Of ArgumentSyntax)) As Boolean 71Protected Overrides Function GetTypeSyntaxForArray(type As IArrayTypeSymbol) As SyntaxNode 75Protected Overrides Function GetExpressions(newArguments As ImmutableArray(Of ArgumentSyntax)) As IEnumerable(Of SyntaxNode) 80Protected Overrides Function GetArrayCreationExpression(generator As SyntaxGenerator, typeSyntax As SyntaxNode, expressions As IEnumerable(Of SyntaxNode)) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicMarkAllNonSerializableFields.Fixer.vb (2)
14Protected Overrides Function GetFieldDeclarationNode(node As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicPreferAsSpanOverSubstring.Fixer.vb (2)
16Private Protected Overrides Sub ReplaceNonConditionalInvocationMethodName(editor As SyntaxEditor, memberInvocation As SyntaxNode, newName As String) 24Private Protected Overrides Sub ReplaceNamedArgumentName(editor As SyntaxEditor, invocation As SyntaxNode, oldArgumentName As String, newArgumentName As String)
Microsoft.NetCore.Analyzers\Runtime\BasicPreferDictionaryContainsMethods.Fixer.vb (4)
14Protected Overrides Function GetPropertyName(invocation As SyntaxNode) As String 23Protected Overrides Function Rewrite(invocation As SyntaxNode, methodName As String, generator As SyntaxGenerator) As SyntaxNode 33Private Shared Function GetKeysOrValuesMemberAccess(node As SyntaxNode) As MemberAccessExpressionSyntax
Microsoft.NetCore.Analyzers\Runtime\BasicPreferStreamAsyncMemoryOverloads.Fixer.vb (9)
18Protected Overrides Function GetArgumentByPositionOrName(invocation As IInvocationOperation, index As Integer, name As String, ByRef isNamed As Boolean) As SyntaxNode 43Protected Overrides Function IsPassingZeroAndBufferLength(model As SemanticModel, bufferValueNode As SyntaxNode, offsetValueNode As SyntaxNode, countValueNode As SyntaxNode) As Boolean 94Protected Overrides Function GetNodeWithNullability(invocation As IInvocationOperation) As SyntaxNode 99Protected Overrides Function GetNamedArgument(generator As SyntaxGenerator, node As SyntaxNode, isNamed As Boolean, newName As String) As SyntaxNode 113Protected Overrides Function GetNamedMemberInvocation(generator As SyntaxGenerator, node As SyntaxNode, memberName As String) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicSpecifyCultureForToLowerAndToUpper.Fixer.vb (10)
18Protected Overrides Function ShouldFix(node As SyntaxNode) As Boolean 23Protected Overrides Function GetNodeToSpecifyCurrentCultureOn(node As SyntaxNode, model As SemanticModel, cancellationToken As CancellationToken) As SyntaxNode 43Protected Overrides Function SpecifyCurrentCulture(currentNode As SyntaxNode, currentCultureArgument As SyntaxNode, generator As SyntaxGenerator) As SyntaxNode 55Protected Overrides Function GetMemberAccessToMakeInvariant(node As SyntaxNode) As SyntaxNode 59Protected Overrides Function UseInvariantVersion(currentMemberAccess As SyntaxNode, generator As SyntaxGenerator) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicSpecifyCultureForToLowerAndToUpper.vb (1)
14Protected Overrides Function GetMethodNameLocation(node As SyntaxNode) As Location
Microsoft.NetCore.Analyzers\Runtime\BasicTestForEmptyStringsUsingStringLength.Fixer.vb (12)
17Protected Overrides Function GetExpression(node As SyntaxNode) As SyntaxNode 22Protected Overrides Function IsEqualsOperator(node As SyntaxNode) As Boolean 26Protected Overrides Function IsNotEqualsOperator(node As SyntaxNode) As Boolean 30Protected Overrides Function GetLeftOperand(binaryExpressionSyntax As SyntaxNode) As SyntaxNode 34Protected Overrides Function GetRightOperand(binaryExpressionSyntax As SyntaxNode) As SyntaxNode 38Protected Overrides Function IsFixableBinaryExpression(node As SyntaxNode) As Boolean 42Protected Overrides Function IsFixableInvocationExpression(node As SyntaxNode) As Boolean 46Protected Overrides Function GetInvocationTarget(node As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicTestForNaNCorrectly.Fixer.vb (8)
18Protected Overrides Function GetBinaryExpression(node As SyntaxNode) As SyntaxNode 23Protected Overrides Function IsEqualsOperator(node As SyntaxNode) As Boolean 27Protected Overrides Function IsNotEqualsOperator(node As SyntaxNode) As Boolean 31Protected Overrides Function GetLeftOperand(binaryExpressionSyntax As SyntaxNode) As SyntaxNode 35Protected Overrides Function GetRightOperand(binaryExpressionSyntax As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicUseOrdinalStringComparison.Fixer.vb (8)
17Protected Overrides Function IsInArgumentContext(node As SyntaxNode) As Boolean 23Protected Overrides Sub FixArgument(argument As SyntaxNode, editor As SyntaxEditor) 40Protected Overrides Function IsInIdentifierNameContext(node As SyntaxNode) As Boolean 45Protected Overrides Function GetInvocation(identifier As SyntaxNode) As SyntaxNode 49Protected Overrides Function AddArgument(invocation As SyntaxNode, argument As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicUseOrdinalStringComparison.vb (1)
14Protected Overrides Function GetMethodNameLocation(invocationNode As SyntaxNode) As Location
Microsoft.NetCore.Analyzers\Runtime\BasicUseSpanBasedStringConcat.Fixer.vb (2)
16Private Protected Overrides Function ReplaceInvocationMethodName(generator As SyntaxGenerator, invocationSyntax As SyntaxNode, newName As String) As SyntaxNode
Microsoft.NetCore.Analyzers\Usage\BasicDoNotCompareSpanToNull.Fixer.vb (2)
15Protected Overrides Function MakeIsEmptyCheck(comparison As SyntaxNode) As SyntaxNode
Microsoft.NetCore.Analyzers\Usage\BasicDoNotPassNonNullableValueToArgumentNullExceptionThrowIfNullFixer.vb (2)
14Protected Overrides Sub ReplaceWithNullableStructCheck(invocation As InvocationExpressionSyntax, statement As SyntaxNode, editor As SyntaxEditor) 21editor.ReplaceNode(statement, generator.IfStatement(condition, New SyntaxNode() {throwExpression}))
Microsoft.NetCore.Analyzers\Usage\BasicPreferGenericOverloads.vb (2)
19<NotNullWhen(True)> ByRef modifiedInvocationSyntax As SyntaxNode) As Boolean 26Friend Shared Function GetModifiedInvocationSyntax(invocationContext As RuntimeTypeInvocationContext) As SyntaxNode
Microsoft.NetCore.Analyzers\Usage\BasicUseVolatileReadWriteFixer.vb (5)
16Protected Overrides Function GetArguments(invocationSyntax As SyntaxNode) As ImmutableArray(Of SyntaxNode) 17Return ImmutableArray.CreateRange(Of SyntaxNode)(DirectCast(invocationSyntax, InvocationExpressionSyntax).ArgumentList.Arguments) 20Protected Overrides Function WithParameterName(argumentSyntax As SyntaxNode, parameterName As String) As SyntaxNode
Microsoft.CodeAnalysis.Workspaces (3394)
CaseCorrection\AbstractCaseCorrectionService.cs (7)
20protected abstract void AddReplacements(SemanticModel? semanticModel, SyntaxNode root, ImmutableArray<TextSpan> spans, ConcurrentDictionary<SyntaxToken, SyntaxToken> replacements, CancellationToken cancellationToken); 29var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 37var newRoot = CaseCorrect(semanticModel, root, spans, cancellationToken); 41public SyntaxNode CaseCorrect(SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken) 44private SyntaxNode CaseCorrect(SemanticModel? semanticModel, SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken)
CaseCorrection\CaseCorrector.cs (4)
28var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 43var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 69internal static SyntaxNode CaseCorrect(SyntaxNode root, ImmutableArray<TextSpan> spans, SolutionServices services, CancellationToken cancellationToken = default)
CaseCorrection\ICaseCorrectionService.cs (2)
23SyntaxNode CaseCorrect(SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken);
ChangeNamespace\IChangeNamespaceService.cs (3)
42Task<bool> CanChangeNamespaceAsync(Document document, SyntaxNode container, CancellationToken cancellationToken); 58Task<Solution> ChangeNamespaceAsync(Document document, SyntaxNode container, string targetNamespace, CancellationToken cancellationToken); 62/// use namespace containers considered valid by <see cref="CanChangeNamespaceAsync(Document, SyntaxNode, CancellationToken)"/>
Classification\AbstractClassificationService.cs (6)
27private Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>>? _getNodeClassifiers; 185(Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>>, Func<SyntaxToken, ImmutableArray<ISyntaxClassifier>>) GetExtensionClassifiers( 203var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 208SolutionServices services, SyntaxNode? root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken) 231public TextChangeRange? ComputeSyntacticChangeRange(SolutionServices services, SyntaxNode oldRoot, SyntaxNode newRoot, TimeSpan timeout, CancellationToken cancellationToken)
Classification\ClassificationServiceExtensions.cs (1)
18SyntaxNode? root,
Classification\Classifier.cs (1)
90var root = semanticModel.SyntaxTree.GetRoot(cancellationToken);
Classification\IClassificationService.cs (3)
34void AddSyntacticClassifications(SolutionServices services, SyntaxNode? root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken); 112SolutionServices workspace, SyntaxNode oldRoot, SyntaxNode newRoot,
Classification\SyntaxClassification\AbstractNameSyntaxClassifier.cs (2)
13protected abstract bool IsParentAnAttribute(SyntaxNode node); 15protected ISymbol? TryGetSymbol(SyntaxNode node, SymbolInfo symbolInfo)
Classification\SyntaxClassification\AbstractSyntaxClassificationService.cs (5)
19public abstract void AddSyntacticClassifications(SyntaxNode root, ImmutableArray<TextSpan> textSpans, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken); 29Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 50Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 59public TextChangeRange? ComputeSyntacticChangeRange(SyntaxNode oldRoot, SyntaxNode newRoot, TimeSpan timeout, CancellationToken cancellationToken)
Classification\SyntaxClassification\AbstractSyntaxClassificationService.Worker.cs (6)
25private readonly Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> _getNodeClassifiers; 38Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 60Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 65var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 117if (nodeOrToken.AsNode(out var node)) 123private void ClassifyNode(SyntaxNode syntax)
Classification\SyntaxClassification\AbstractSyntaxClassifier.cs (1)
22public virtual void AddClassifications(SyntaxNode syntax, TextSpan textSpan, SemanticModel semanticModel, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken)
Classification\SyntaxClassification\ISyntaxClassificationService.cs (5)
28SyntaxNode root, 38Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 47Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 60SyntaxNode oldRoot, SyntaxNode newRoot, TimeSpan timeout, CancellationToken cancellationToken);
Classification\SyntaxClassification\ISyntaxClassifier.cs (1)
29void AddClassifications(SyntaxNode node, TextSpan textSpan, SemanticModel semanticModel, ClassificationOptions options, SegmentedList<ClassifiedSpan> result, CancellationToken cancellationToken);
Classification\SyntaxClassification\SyntacticChangeRangeComputer.cs (3)
18/// cref="SyntaxNode.IsIncrementallyIdenticalTo"/>). This algorithm is intended to be <em>fast</em>. It is 41public static TextChangeRange ComputeSyntacticChangeRange(SyntaxNode oldRoot, SyntaxNode newRoot, TimeSpan timeout, CancellationToken cancellationToken)
Classification\SyntaxClassification\SyntaxClassificationExtensions.cs (3)
19SyntaxNode root, 32Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers, 51Func<SyntaxNode, ImmutableArray<ISyntaxClassifier>> getNodeClassifiers,
CodeActions\CodeAction_Cleanup.cs (2)
213var changedRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 234var newRoot = await cleanedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
CodeCleanup\AbstractCodeCleanerService.cs (28)
27protected abstract ImmutableArray<TextSpan> GetSpansToAvoid(SyntaxNode root); 42var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 62var annotatedRoot = newNode; 73public async Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers, CancellationToken cancellationToken) 104var annotatedRoot = newNode; 115SyntaxNode node, 149SyntaxNode node, 269private static (SyntaxNode newNode, List<(SyntaxAnnotation previous, SyntaxAnnotation next)> annotations) AnnotateNodeForTextSpans( 270SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken) 313var newNode = InjectAnnotations(root, tokenAnnotationMap); 321SyntaxNode root, ImmutableArray<TextSpan> spans, CancellationToken cancellationToken) 359SyntaxNode root, TextSpan span, 382SyntaxNode root, TextSpan span, 404private static SyntaxToken FindTokenOnRightOfPosition(SyntaxNode root, int position) 418private static SyntaxToken FindTokenOnLeftOfPosition(SyntaxNode root, int position) 458Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter, 483var root = await currentDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 521SyntaxNode root, Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter) 535private async Task<SyntaxNode> IterateAllCodeCleanupProvidersAsync( 536SyntaxNode originalRoot, 537SyntaxNode annotatedRoot, 539Func<SyntaxNode, ImmutableArray<TextSpan>> spanGetter, 546var currentRoot = annotatedRoot; 547SyntaxNode? previousRoot = null; 593private static SyntaxNode InjectAnnotations(SyntaxNode node, Dictionary<SyntaxToken, List<SyntaxAnnotation>> map)
CodeCleanup\CodeCleaner.cs (5)
62var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 87public static Task<SyntaxNode> CleanupAsync(SyntaxNode root, TextSpan span, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default) 94public static Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers = default, CancellationToken cancellationToken = default)
CodeCleanup\ICodeCleanerService.cs (2)
37Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, ImmutableArray<ICodeCleanupProvider> providers, CancellationToken cancellationToken);
CodeCleanup\Providers\FormatCodeCleanupProvider.cs (3)
23var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 32public Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, CancellationToken cancellationToken)
CodeCleanup\Providers\ICodeCleanupProvider.cs (2)
34Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, CancellationToken cancellationToken);
CodeCleanup\Providers\SimplificationCodeCleanupProvider.cs (2)
22public async Task<SyntaxNode> CleanupAsync(SyntaxNode root, ImmutableArray<TextSpan> spans, SyntaxFormattingOptions options, SolutionServices services, CancellationToken cancellationToken)
CodeFixesAndRefactorings\DocumentBasedFixAllProviderHelpers.cs (2)
67var changedRootsAndTexts = await ProducerConsumer<(DocumentId documentId, (SyntaxNode? node, SourceText? text))>.RunParallelAsync( 87var newRoot = newDocument.SupportsSyntaxTree ? await newDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false) : null;
CodeRefactorings\SyntaxEditorBasedCodeRefactoringProvider.cs (2)
69var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 74var newRoot = editor.GetChangedRoot();
Differencing\AbstractSyntaxComparer.cs (38)
12internal abstract class AbstractSyntaxComparer : TreeComparer<SyntaxNode> 19protected readonly SyntaxNode? _oldRoot; 20protected readonly SyntaxNode? _newRoot; 21private readonly IEnumerable<SyntaxNode>? _oldRootChildren; 22private readonly IEnumerable<SyntaxNode>? _newRootChildren; 31SyntaxNode? oldRoot, 32SyntaxNode? newRoot, 33IEnumerable<SyntaxNode>? oldRootChildren, 34IEnumerable<SyntaxNode>? newRootChildren, 45protected internal sealed override bool TreesEqual(SyntaxNode oldNode, SyntaxNode newNode) 48protected internal sealed override TextSpan GetSpan(SyntaxNode node) 55protected abstract bool TryComputeWeightedDistance(SyntaxNode oldNode, SyntaxNode newNode, out double distance); 57protected abstract bool IsLambdaBodyStatementOrExpression(SyntaxNode node); 59protected internal override bool TryGetParent(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? parent) 76protected internal override IEnumerable<SyntaxNode>? GetChildren(SyntaxNode node) 91private IEnumerable<SyntaxNode> EnumerateChildren(SyntaxNode node) 93foreach (var child in node.ChildNodes()) 106foreach (var descendant in child.DescendantNodes(DescendIntoChildren)) 116private bool DescendIntoChildren(SyntaxNode node) 119protected internal sealed override IEnumerable<SyntaxNode> GetDescendants(SyntaxNode node) 125private IEnumerable<SyntaxNode> EnumerateDescendants(IEnumerable<SyntaxNode> nodes) 127foreach (var node in nodes) 134foreach (var descendant in EnumerateDescendants(node)) 144private IEnumerable<SyntaxNode> EnumerateDescendants(SyntaxNode node) 150var descendantNode = descendant.AsNode(); 160bool ShouldEnumerateChildren(SyntaxNode child) 179protected bool HasChildren(SyntaxNode node) 195internal bool HasLabel(SyntaxNode node) 198internal abstract int Classify(int kind, SyntaxNode? node, out bool isLeaf); 200protected internal override int GetLabel(SyntaxNode node)
Editing\DocumentEditor.cs (2)
18private DocumentEditor(Document document, SemanticModel model, SyntaxNode root) 36var root = model.SyntaxTree.GetRoot(cancellationToken);
Editing\ImportAdder.cs (2)
20var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Editing\SymbolEditor.cs (13)
183public async Task<IReadOnlyList<SyntaxNode>> GetCurrentDeclarationsAsync(ISymbol symbol, CancellationToken cancellationToken = default) 192private IEnumerable<SyntaxNode> GetDeclarations(ISymbol symbol) 203private bool TryGetBestDeclarationForSingleEdit(ISymbol symbol, out SyntaxNode declaration) 214public delegate void DeclarationEditAction(DocumentEditor editor, SyntaxNode declaration); 222public delegate Task AsyncDeclarationEditAction(DocumentEditor editor, SyntaxNode declaration, CancellationToken cancellationToken); 240if (TryGetBestDeclarationForSingleEdit(currentSymbol, out var declaration)) 280SyntaxNode declaration, 295var newDeclaration = model.SyntaxTree.GetRoot(cancellationToken).GetCurrentNode(declaration); 370var decl = this.GetDeclarations(currentSymbol).FirstOrDefault(d => 407var declaration = this.GetDeclarations(currentSymbol).FirstOrDefault(d => memberDecls.Any(md => md.SyntaxTree == d.SyntaxTree && d.FullSpan.IntersectsWith(md.FullSpan))); 467foreach (var decl in declGroup) 482foreach (var decl in declGroup) 484var newDeclaration = model.SyntaxTree.GetRoot(cancellationToken).GetCurrentNode(decl);
Editing\SymbolEditorExtensions.cs (6)
19public static async Task<SyntaxNode> GetBaseOrInterfaceDeclarationReferenceAsync( 38foreach (var decl in currentDecls) 44var typeRef = gen.GetBaseAndInterfaceTypes(decl).FirstOrDefault(r => model.GetTypeInfo(r, cancellationToken).Type.Equals(baseOrInterfaceType)); 60Func<SyntaxGenerator, SyntaxNode> getNewBaseType, 68var typeRef = await editor.GetBaseOrInterfaceDeclarationReferenceAsync(symbol, baseType, cancellationToken).ConfigureAwait(false); 82var newBaseType = getNewBaseType(e.Generator);
Editing\SyntaxEditor.cs (81)
14/// particular tree <em>in order</em>. Changes are given a <see cref="SyntaxNode"/> they will apply to in the 23/// Each change has its given <see cref="SyntaxNode"/> tracked, using a <see cref="SyntaxAnnotation"/>, producing a 31/// A change first attempts to find its <see cref="SyntaxNode"/> in the 'current' root. If that node cannot be 37/// cref="SyntaxNode"/> found in the current root. The 'current' root will then be updated by replacing the current 51/// <para/> If a client wants to make a replacement, then find the <em>value</em> <see cref="SyntaxNode"/> put into 63public SyntaxEditor(SyntaxNode root, Workspace workspace) 71public SyntaxEditor(SyntaxNode root, HostWorkspaceServices services) 79public SyntaxEditor(SyntaxNode root, SolutionServices services) 85internal SyntaxEditor(SyntaxNode root, SyntaxGenerator generator) 92/// The <see cref="SyntaxNode"/> that was specified when the <see cref="SyntaxEditor"/> was constructed. 94public SyntaxNode OriginalRoot { get; } 97/// A <see cref="SyntaxGenerator"/> to use to create and change <see cref="SyntaxNode"/>'s. 104public SyntaxNode GetChangedRoot() 108var newRoot = OriginalRoot.TrackNodes(nodes); 119public void TrackNode(SyntaxNode node) 129public void RemoveNode(SyntaxNode node) 137public void RemoveNode(SyntaxNode node, SyntaxRemoveOptions options) 149public void ReplaceNode(SyntaxNode node, Func<SyntaxNode, SyntaxGenerator, SyntaxNode> computeReplacement) 158internal void ReplaceNode(SyntaxNode node, Func<SyntaxNode, SyntaxGenerator, IEnumerable<SyntaxNode>> computeReplacement) 167internal void ReplaceNode<TArgument>(SyntaxNode node, Func<SyntaxNode, SyntaxGenerator, TArgument, SyntaxNode> computeReplacement, TArgument argument) 181public void ReplaceNode(SyntaxNode node, SyntaxNode newNode) 195public void InsertBefore(SyntaxNode node, IEnumerable<SyntaxNode> newNodes) 209public void InsertBefore(SyntaxNode node, SyntaxNode newNode) 217public void InsertAfter(SyntaxNode node, IEnumerable<SyntaxNode> newNodes) 231public void InsertAfter(SyntaxNode node, SyntaxNode newNode) 234private void CheckNodeInOriginalTree(SyntaxNode node) 245private abstract class Change(SyntaxNode node) 247internal readonly SyntaxNode OriginalNode = node; 249public SyntaxNode Apply(SyntaxNode root, SyntaxGenerator generator) 251var currentNode = root.GetCurrentNode(OriginalNode); 258protected static SyntaxNode ValidateNewRoot(SyntaxNode? root) 261protected abstract SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator); 264private sealed class NoChange(SyntaxNode node) : Change(node) 266protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator) 270private sealed class RemoveChange(SyntaxNode node, SyntaxRemoveOptions options) : Change(node) 272protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator) 278private readonly Func<SyntaxNode, SyntaxGenerator, SyntaxNode?> _modifier; 281SyntaxNode node, 282Func<SyntaxNode, SyntaxGenerator, SyntaxNode?> modifier) 289protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator) 294SyntaxNode node, 295Func<SyntaxNode, SyntaxGenerator, IEnumerable<SyntaxNode>> modifier) : Change(node) 297protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator) 302SyntaxNode node, 303Func<SyntaxNode, SyntaxGenerator, TArgument, SyntaxNode> modifier, 306protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator) 310private sealed class InsertChange(SyntaxNode node, IEnumerable<SyntaxNode> newNodes, bool isBefore) : Change(node) 312private readonly List<SyntaxNode> _newNodes = [.. newNodes]; 314protected override SyntaxNode Apply(SyntaxNode root, SyntaxNode currentNode, SyntaxGenerator generator)
Editing\SyntaxEditorExtensions.cs (38)
11public static void SetAccessibility(this SyntaxEditor editor, SyntaxNode declaration, Accessibility accessibility) 14public static void SetModifiers(this SyntaxEditor editor, SyntaxNode declaration, DeclarationModifiers modifiers) 17internal static void RemoveAllAttributes(this SyntaxEditor editor, SyntaxNode declaration) 20internal static void RemoveAllComments(this SyntaxEditor editor, SyntaxNode declaration) 23internal static void RemoveAllTypeInheritance(this SyntaxEditor editor, SyntaxNode declaration) 26public static void SetName(this SyntaxEditor editor, SyntaxNode declaration, string name) 29public static void SetType(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode type) 32public static void SetTypeParameters(this SyntaxEditor editor, SyntaxNode declaration, IEnumerable<string> typeParameters) 35public static void SetTypeConstraint(this SyntaxEditor editor, SyntaxNode declaration, string typeParameterName, SpecialTypeConstraintKind kind, IEnumerable<SyntaxNode> types) 38public static void SetExpression(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode expression) 41public static void SetStatements(this SyntaxEditor editor, SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 44public static void SetGetAccessorStatements(this SyntaxEditor editor, SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 47public static void SetSetAccessorStatements(this SyntaxEditor editor, SyntaxNode declaration, IEnumerable<SyntaxNode> statements) 50public static void AddParameter(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode parameter) 53public static void InsertParameter(this SyntaxEditor editor, SyntaxNode declaration, int index, SyntaxNode parameter) 56public static void AddAttribute(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode attribute) 59public static void AddReturnAttribute(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode attribute) 62public static void AddAttributeArgument(this SyntaxEditor editor, SyntaxNode attributeDeclaration, SyntaxNode attributeArgument) 65public static void AddMember(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode member) 68public static void InsertMembers(this SyntaxEditor editor, SyntaxNode declaration, int index, IEnumerable<SyntaxNode> members) 71public static void AddInterfaceType(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode interfaceType) 74public static void AddBaseType(this SyntaxEditor editor, SyntaxNode declaration, SyntaxNode baseType) 77internal static void RemovePrimaryConstructor(this SyntaxEditor editor, SyntaxNode declaration)
Editing\SyntaxGenerator.cs (806)
29/// possible. For example, generating <see cref="MemberAccessExpression(SyntaxNode, string)"/> 86public SyntaxNode? GetDeclaration(SyntaxNode? node) 104public SyntaxNode? GetDeclaration(SyntaxNode? node, DeclarationKind kind) 122public abstract SyntaxNode FieldDeclaration( 124SyntaxNode type, 127SyntaxNode? initializer = null); 132public SyntaxNode FieldDeclaration(IFieldSymbol field) 136var initializer = field.HasConstantValue ? this.LiteralExpression(field.ConstantValue, canUseFieldReference) : null; 143public SyntaxNode FieldDeclaration(IFieldSymbol field, SyntaxNode? initializer) 161public SyntaxNode MethodDeclaration( 163IEnumerable<SyntaxNode>? parameters = null, 165SyntaxNode? returnType = null, 168IEnumerable<SyntaxNode>? statements = null) 175private protected abstract SyntaxNode MethodDeclaration( 177IEnumerable<SyntaxNode>? parameters, 178IEnumerable<SyntaxNode>? typeParameters, 179SyntaxNode? returnType, 182IEnumerable<SyntaxNode>? statements); 187public SyntaxNode MethodDeclaration(IMethodSymbol method, IEnumerable<SyntaxNode>? statements = null) 190internal SyntaxNode MethodDeclaration(IMethodSymbol method, string name, IEnumerable<SyntaxNode>? statements = null) 192var decl = MethodDeclaration( 256public virtual SyntaxNode OperatorDeclaration( 258IEnumerable<SyntaxNode>? parameters = null, 259SyntaxNode? returnType = null, 262IEnumerable<SyntaxNode>? statements = null) 267private protected abstract SyntaxNode OperatorDeclaration( 270IEnumerable<SyntaxNode>? parameters = null, 271SyntaxNode? returnType = null, 274IEnumerable<SyntaxNode>? statements = null); 279public SyntaxNode OperatorDeclaration(IMethodSymbol method, IEnumerable<SyntaxNode>? statements = null) 284var decl = OperatorDeclaration( 300public SyntaxNode ParameterDeclaration( 302SyntaxNode? type = null, 303SyntaxNode? initializer = null, 310private protected abstract SyntaxNode ParameterDeclaration( 312SyntaxNode? type, 313SyntaxNode? initializer, 322public SyntaxNode ParameterDeclaration(IParameterSymbol symbol, SyntaxNode? initializer = null) 335private protected abstract SyntaxNode TypeParameter(ITypeParameterSymbol typeParameter); 336private protected abstract SyntaxNode TypeParameter(string name); 338private protected abstract SyntaxNode GenerateExpression(ITypeSymbol? type, object? value, bool canUseFieldReference); 353public abstract SyntaxNode PropertyDeclaration( 355SyntaxNode type, 358IEnumerable<SyntaxNode>? getAccessorStatements = null, 359IEnumerable<SyntaxNode>? setAccessorStatements = null); 364public SyntaxNode PropertyDeclaration( 366IEnumerable<SyntaxNode>? getAccessorStatements = null, 367IEnumerable<SyntaxNode>? setAccessorStatements = null) 373SyntaxNode? getAccessor = null; 374SyntaxNode? setAccessor = null; 391var propDecl = PropertyDeclaration( 408private protected abstract SyntaxNode PropertyDeclaration( 410SyntaxNode type, 411SyntaxNode? getAccessor, 412SyntaxNode? setAccessor, 416public SyntaxNode WithAccessorDeclarations(SyntaxNode declaration, params SyntaxNode[] accessorDeclarations) 417=> WithAccessorDeclarations(declaration, (IEnumerable<SyntaxNode>)accessorDeclarations); 419public abstract SyntaxNode WithAccessorDeclarations(SyntaxNode declaration, IEnumerable<SyntaxNode> accessorDeclarations); 421public abstract SyntaxNode GetAccessorDeclaration( 423IEnumerable<SyntaxNode>? statements = null); 425public SyntaxNode SetAccessorDeclaration( 427IEnumerable<SyntaxNode>? statements = null) 430private protected abstract SyntaxNode SetAccessorDeclaration( 431Accessibility accessibility, bool isInitOnly, IEnumerable<SyntaxNode>? statements); 436public abstract SyntaxNode IndexerDeclaration( 437IEnumerable<SyntaxNode> parameters, 438SyntaxNode type, 441IEnumerable<SyntaxNode>? getAccessorStatements = null, 442IEnumerable<SyntaxNode>? setAccessorStatements = null); 447public SyntaxNode IndexerDeclaration( 449IEnumerable<SyntaxNode>? getAccessorStatements = null, 450IEnumerable<SyntaxNode>? setAccessorStatements = null) 452var indexerDecl = IndexerDeclaration( 472public abstract SyntaxNode AddEventHandler(SyntaxNode @event, SyntaxNode handler); 477public abstract SyntaxNode RemoveEventHandler(SyntaxNode @event, SyntaxNode handler); 482public abstract SyntaxNode EventDeclaration( 484SyntaxNode type, 491public SyntaxNode EventDeclaration(IEventSymbol symbol) 493var ev = EventDeclaration( 511public abstract SyntaxNode CustomEventDeclaration( 513SyntaxNode type, 516IEnumerable<SyntaxNode>? parameters = null, 517IEnumerable<SyntaxNode>? addAccessorStatements = null, 518IEnumerable<SyntaxNode>? removeAccessorStatements = null); 523public SyntaxNode CustomEventDeclaration( 525IEnumerable<SyntaxNode>? addAccessorStatements = null, 526IEnumerable<SyntaxNode>? removeAccessorStatements = null) 544public abstract SyntaxNode ConstructorDeclaration( 546IEnumerable<SyntaxNode>? parameters = null, 549IEnumerable<SyntaxNode>? baseConstructorArguments = null, 550IEnumerable<SyntaxNode>? statements = null); 555public SyntaxNode ConstructorDeclaration( 557IEnumerable<SyntaxNode>? baseConstructorArguments = null, 558IEnumerable<SyntaxNode>? statements = null) 569private protected abstract SyntaxNode DestructorDeclaration(IMethodSymbol destructorMethod); 575public SyntaxNode? AsPublicInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceType) 582public abstract SyntaxNode? AsPublicInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceType, string? interfaceMemberName); 588public SyntaxNode? AsPrivateInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceType) 595public abstract SyntaxNode? AsPrivateInterfaceImplementation(SyntaxNode declaration, SyntaxNode interfaceType, string? interfaceMemberName); 600public SyntaxNode ClassDeclaration( 605SyntaxNode? baseType = null, 606IEnumerable<SyntaxNode>? interfaceTypes = null, 607IEnumerable<SyntaxNode>? members = null) 613private protected abstract SyntaxNode ClassDeclaration( 616IEnumerable<SyntaxNode>? typeParameters, 619SyntaxNode? baseType, 620IEnumerable<SyntaxNode>? interfaceTypes, 621IEnumerable<SyntaxNode>? members); 626public SyntaxNode StructDeclaration( 631IEnumerable<SyntaxNode>? interfaceTypes = null, 632IEnumerable<SyntaxNode>? members = null) 638private protected abstract SyntaxNode StructDeclaration( 641IEnumerable<SyntaxNode>? typeParameters, 644IEnumerable<SyntaxNode>? interfaceTypes, 645IEnumerable<SyntaxNode>? members); 650public SyntaxNode InterfaceDeclaration( 654IEnumerable<SyntaxNode>? interfaceTypes = null, 655IEnumerable<SyntaxNode>? members = null) 661private protected abstract SyntaxNode InterfaceDeclaration( 663IEnumerable<SyntaxNode>? typeParameters, 665IEnumerable<SyntaxNode>? interfaceTypes, 666IEnumerable<SyntaxNode>? members); 671public abstract SyntaxNode EnumDeclaration( 675IEnumerable<SyntaxNode>? members = null); 680internal abstract SyntaxNode EnumDeclaration( 682SyntaxNode? underlyingType, 685IEnumerable<SyntaxNode>? members = null); 690internal abstract SyntaxNode ExtensionBlockDeclaration( 691SyntaxNode extensionParameter, 692IEnumerable<SyntaxNode>? typeParameters, 693IEnumerable<SyntaxNode> members); 698public abstract SyntaxNode EnumMember(string name, SyntaxNode? expression = null); 703public SyntaxNode DelegateDeclaration( 705IEnumerable<SyntaxNode>? parameters = null, 707SyntaxNode? returnType = null, 715private protected abstract SyntaxNode DelegateDeclaration( 717IEnumerable<SyntaxNode>? parameters, 718IEnumerable<SyntaxNode>? typeParameters, 719SyntaxNode? returnType, 726public SyntaxNode Declaration(ISymbol symbol) 767var declaration = type.TypeKind switch 913private SyntaxNode WithTypeParametersAndConstraints(SyntaxNode declaration, ImmutableArray<ITypeParameterSymbol> typeParameters) 939internal abstract SyntaxNode WithExplicitInterfaceImplementations( 940SyntaxNode declaration, ImmutableArray<ISymbol> explicitInterfaceImplementations, bool removeDefaults = true); 945public SyntaxNode WithTypeParameters(SyntaxNode declaration, IEnumerable<string> typeParameters) 948private protected abstract SyntaxNode WithTypeParameters(SyntaxNode declaration, IEnumerable<SyntaxNode> typeParameters); 953public SyntaxNode WithTypeParameters(SyntaxNode declaration, params string[] typeParameters) 960public SyntaxNode WithTypeConstraint(SyntaxNode declaration, string typeParameterName, SpecialTypeConstraintKind kinds, IEnumerable<SyntaxNode>? types = null) 964private protected abstract SyntaxNode WithTypeConstraint( 965SyntaxNode declaration, string typeParameterName, SpecialTypeConstraintKind kinds, bool isUnamangedType, IEnumerable<SyntaxNode>? types); 967private protected abstract SyntaxNode WithDefaultConstraint(SyntaxNode declaration, string typeParameterName); 972public SyntaxNode WithTypeConstraint(SyntaxNode declaration, string typeParameterName, SpecialTypeConstraintKind kinds, params SyntaxNode[] types) 973=> WithTypeConstraint(declaration, typeParameterName, kinds, (IEnumerable<SyntaxNode>)types); 978public SyntaxNode WithTypeConstraint(SyntaxNode declaration, string typeParameterName, params SyntaxNode[] types) 979=> WithTypeConstraint(declaration, typeParameterName, SpecialTypeConstraintKind.None, (IEnumerable<SyntaxNode>)types); 986public abstract SyntaxNode NamespaceDeclaration(SyntaxNode name, IEnumerable<SyntaxNode> declarations); 993public SyntaxNode NamespaceDeclaration(SyntaxNode name, params SyntaxNode[] declarations) 994=> NamespaceDeclaration(name, (IEnumerable<SyntaxNode>)declarations); 1001public SyntaxNode NamespaceDeclaration(string name, IEnumerable<SyntaxNode> declarations) 1009public SyntaxNode NamespaceDeclaration(string name, params SyntaxNode[] declarations) 1010=> NamespaceDeclaration(DottedName(name), (IEnumerable<SyntaxNode>)declarations); 1016public abstract SyntaxNode CompilationUnit(IEnumerable<SyntaxNode> declarations); 1022public SyntaxNode CompilationUnit(params SyntaxNode[] declarations) 1023=> CompilationUnit((IEnumerable<SyntaxNode>)declarations); 1029public abstract SyntaxNode NamespaceImportDeclaration(SyntaxNode name); 1035public SyntaxNode NamespaceImportDeclaration(string name) 1043public SyntaxNode AliasImportDeclaration(string aliasIdentifierName, INamespaceOrTypeSymbol symbol) 1051public abstract SyntaxNode AliasImportDeclaration(string aliasIdentifierName, SyntaxNode name); 1056public abstract SyntaxNode Attribute(SyntaxNode name, IEnumerable<SyntaxNode>? attributeArguments = null); 1061public SyntaxNode Attribute(string name, IEnumerable<SyntaxNode>? attributeArguments = null) 1067public SyntaxNode Attribute(string name, params SyntaxNode[] attributeArguments) 1068=> Attribute(name, (IEnumerable<SyntaxNode>)attributeArguments); 1073public SyntaxNode Attribute(AttributeData attribute) 1089public abstract SyntaxNode AttributeArgument(string? name, SyntaxNode expression); 1094public SyntaxNode AttributeArgument(SyntaxNode expression) 1100public SyntaxNode RemoveAllAttributes(SyntaxNode declaration) 1107internal abstract SyntaxNode RemoveAllComments(SyntaxNode node); 1109internal SyntaxNode RemovePrimaryConstructor(SyntaxNode declaration) 1111var node = GetPrimaryConstructorParameterList(declaration); 1115internal abstract SyntaxNode? GetPrimaryConstructorParameterList(SyntaxNode declaration); 1117internal SyntaxNode RemoveLeadingAndTrailingComments(SyntaxNode node) 1133internal SyntaxNode RemoveAllTypeInheritance(SyntaxNode declaration) 1136internal abstract ImmutableArray<SyntaxNode> GetTypeInheritance(SyntaxNode declaration); 1141public abstract IReadOnlyList<SyntaxNode> GetAttributes(SyntaxNode declaration); 1146public abstract SyntaxNode InsertAttributes(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributes); 1151public SyntaxNode InsertAttributes(SyntaxNode declaration, int index, params SyntaxNode[] attributes) 1152=> this.InsertAttributes(declaration, index, (IEnumerable<SyntaxNode>)attributes); 1157public SyntaxNode AddAttributes(SyntaxNode declaration, IEnumerable<SyntaxNode> attributes) 1163public SyntaxNode AddAttributes(SyntaxNode declaration, params SyntaxNode[] attributes) 1164=> AddAttributes(declaration, (IEnumerable<SyntaxNode>)attributes); 1169public abstract IReadOnlyList<SyntaxNode> GetReturnAttributes(SyntaxNode declaration); 1174public abstract SyntaxNode InsertReturnAttributes(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> attributes); 1179public SyntaxNode InsertReturnAttributes(SyntaxNode declaration, int index, params SyntaxNode[] attributes) 1180=> this.InsertReturnAttributes(declaration, index, (IEnumerable<SyntaxNode>)attributes); 1185public SyntaxNode AddReturnAttributes(SyntaxNode declaration, IEnumerable<SyntaxNode> attributes) 1191public SyntaxNode AddReturnAttributes(SyntaxNode declaration, params SyntaxNode[] attributes) 1192=> AddReturnAttributes(declaration, (IEnumerable<SyntaxNode>)attributes); 1197public abstract IReadOnlyList<SyntaxNode> GetAttributeArguments(SyntaxNode attributeDeclaration); 1202public abstract SyntaxNode InsertAttributeArguments(SyntaxNode attributeDeclaration, int index, IEnumerable<SyntaxNode> attributeArguments); 1207public SyntaxNode AddAttributeArguments(SyntaxNode attributeDeclaration, IEnumerable<SyntaxNode> attributeArguments) 1213public abstract IReadOnlyList<SyntaxNode> GetNamespaceImports(SyntaxNode declaration); 1218public abstract SyntaxNode InsertNamespaceImports(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> imports); 1223public SyntaxNode InsertNamespaceImports(SyntaxNode declaration, int index, params SyntaxNode[] imports) 1224=> this.InsertNamespaceImports(declaration, index, (IEnumerable<SyntaxNode>)imports); 1229public SyntaxNode AddNamespaceImports(SyntaxNode declaration, IEnumerable<SyntaxNode> imports) 1235public SyntaxNode AddNamespaceImports(SyntaxNode declaration, params SyntaxNode[] imports) 1236=> this.AddNamespaceImports(declaration, (IEnumerable<SyntaxNode>)imports); 1241public abstract IReadOnlyList<SyntaxNode> GetMembers(SyntaxNode declaration); 1246public abstract SyntaxNode InsertMembers(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> members); 1251public SyntaxNode InsertMembers(SyntaxNode declaration, int index, params SyntaxNode[] members) 1252=> this.InsertMembers(declaration, index, (IEnumerable<SyntaxNode>)members); 1257public SyntaxNode AddMembers(SyntaxNode declaration, IEnumerable<SyntaxNode> members) 1263public SyntaxNode AddMembers(SyntaxNode declaration, params SyntaxNode[] members) 1264=> this.AddMembers(declaration, (IEnumerable<SyntaxNode>)members); 1269public abstract Accessibility GetAccessibility(SyntaxNode declaration); 1274public abstract SyntaxNode WithAccessibility(SyntaxNode declaration, Accessibility accessibility); 1279public abstract DeclarationModifiers GetModifiers(SyntaxNode declaration); 1284public SyntaxNode WithModifiers(SyntaxNode declaration, DeclarationModifiers modifiers) 1285=> WithModifiers<SyntaxNode>(declaration, modifiers); 1288where TSyntaxNode : SyntaxNode; 1293public abstract DeclarationKind GetDeclarationKind(SyntaxNode declaration); 1298public abstract string GetName(SyntaxNode declaration); 1303public abstract SyntaxNode WithName(SyntaxNode declaration, string name); 1308public abstract SyntaxNode? GetType(SyntaxNode declaration); 1313public abstract SyntaxNode WithType(SyntaxNode declaration, SyntaxNode type); 1318public abstract IReadOnlyList<SyntaxNode> GetParameters(SyntaxNode declaration); 1320internal abstract SyntaxNode? GetParameterListNode(SyntaxNode declaration); 1325public abstract SyntaxNode InsertParameters(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> parameters); 1330public SyntaxNode AddParameters(SyntaxNode declaration, IEnumerable<SyntaxNode> parameters) 1336public abstract IReadOnlyList<SyntaxNode> GetSwitchSections(SyntaxNode switchStatement); 1341public abstract SyntaxNode InsertSwitchSections(SyntaxNode switchStatement, int index, IEnumerable<SyntaxNode> switchSections); 1346public SyntaxNode AddSwitchSections(SyntaxNode switchStatement, IEnumerable<SyntaxNode> switchSections) 1352public abstract SyntaxNode? GetExpression(SyntaxNode declaration); 1357public abstract SyntaxNode WithExpression(SyntaxNode declaration, SyntaxNode expression); 1362public abstract IReadOnlyList<SyntaxNode> GetStatements(SyntaxNode declaration); 1367public abstract SyntaxNode WithStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements); 1372public abstract IReadOnlyList<SyntaxNode> GetAccessors(SyntaxNode declaration); 1377public SyntaxNode? GetAccessor(SyntaxNode declaration, DeclarationKind kind) 1383public abstract SyntaxNode InsertAccessors(SyntaxNode declaration, int index, IEnumerable<SyntaxNode> accessors); 1388public SyntaxNode AddAccessors(SyntaxNode declaration, IEnumerable<SyntaxNode> accessors) 1394public abstract IReadOnlyList<SyntaxNode> GetGetAccessorStatements(SyntaxNode declaration); 1399public abstract SyntaxNode WithGetAccessorStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements); 1404public abstract IReadOnlyList<SyntaxNode> GetSetAccessorStatements(SyntaxNode declaration); 1409public abstract SyntaxNode WithSetAccessorStatements(SyntaxNode declaration, IEnumerable<SyntaxNode> statements); 1414public abstract IReadOnlyList<SyntaxNode> GetBaseAndInterfaceTypes(SyntaxNode declaration); 1419public abstract SyntaxNode AddBaseType(SyntaxNode declaration, SyntaxNode baseType); 1424public abstract SyntaxNode AddInterfaceType(SyntaxNode declaration, SyntaxNode interfaceType); 1426internal abstract SyntaxNode AsInterfaceMember(SyntaxNode member); 1435public virtual SyntaxNode ReplaceNode(SyntaxNode root, SyntaxNode node, SyntaxNode? newDeclaration) 1438internal static SyntaxNode ReplaceNode(SyntaxNode root, SyntaxNode node, IEnumerable<SyntaxNode> newDeclarations) 1447public virtual SyntaxNode InsertNodesBefore(SyntaxNode root, SyntaxNode node, IEnumerable<SyntaxNode> newDeclarations) 1453public virtual SyntaxNode InsertNodesAfter(SyntaxNode root, SyntaxNode node, IEnumerable<SyntaxNode> newDeclarations) 1459public virtual SyntaxNode RemoveNode(SyntaxNode root, SyntaxNode node) 1465public virtual SyntaxNode RemoveNode(SyntaxNode root, SyntaxNode node, SyntaxRemoveOptions options) 1471public SyntaxNode RemoveNodes(SyntaxNode root, IEnumerable<SyntaxNode> declarations) 1473var newRoot = root.TrackNodes(declarations); 1475foreach (var declaration in declarations) 1477var newDeclaration = newRoot.GetCurrentNode(declaration); 1493internal abstract SeparatedSyntaxList<TElement> SeparatedList<TElement>(SyntaxNodeOrTokenList list) where TElement : SyntaxNode; 1495internal abstract SeparatedSyntaxList<TElement> SeparatedList<TElement>(IEnumerable<TElement> nodes, IEnumerable<SyntaxToken> separators) where TElement : SyntaxNode; 1520protected static SyntaxNode? PreserveTrivia<TNode>(TNode? node, Func<TNode, SyntaxNode> nodeChanger) where TNode : SyntaxNode 1529var changedNode = nodeChanger(nodeWithoutTrivia); 1540protected static SyntaxNode ReplaceWithTrivia(SyntaxNode root, SyntaxNode original, SyntaxNode replacement) 1542var combinedTriviaReplacement = 1549protected static SyntaxNode ReplaceWithTrivia<TNode>(SyntaxNode root, TNode original, Func<TNode, SyntaxNode> replacer) 1550where TNode : SyntaxNode 1555protected static SyntaxNode ReplaceWithTrivia(SyntaxNode root, SyntaxToken original, SyntaxToken replacement) 1568public abstract TNode ClearTrivia<TNode>([MaybeNull] TNode node) where TNode : SyntaxNode; 1585protected static SyntaxNode ReplaceRange(SyntaxNode root, SyntaxNode node, IEnumerable<SyntaxNode> replacements) 1587var first = replacements.First(); 1588var trackedFirst = first.TrackNodes(first); 1589var newRoot = root.ReplaceNode(node, trackedFirst); 1590var currentFirst = newRoot.GetCurrentNode(first); 1597where TNode : SyntaxNode 1608where TNode : SyntaxNode 1626public abstract SyntaxNode ExpressionStatement(SyntaxNode expression); 1632public abstract SyntaxNode ReturnStatement(SyntaxNode? expression = null); 1638internal SyntaxNode YieldReturnStatement(SyntaxNode expression) 1645public abstract SyntaxNode ThrowStatement(SyntaxNode? expression = null); 1650public abstract SyntaxNode ThrowExpression(SyntaxNode expression); 1661/// <see cref="LocalDeclarationStatement(ITypeSymbol, string, SyntaxNode, bool)"/>. 1669public abstract SyntaxNode LocalDeclarationStatement( 1670SyntaxNode? type, string identifier, SyntaxNode? initializer = null, bool isConst = false); 1672internal SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false) 1675internal SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer) 1678internal SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value) 1684public SyntaxNode LocalDeclarationStatement(ITypeSymbol type, string name, SyntaxNode? initializer = null, bool isConst = false) 1690public SyntaxNode LocalDeclarationStatement(string name, SyntaxNode initializer) 1691=> LocalDeclarationStatement(type: (SyntaxNode?)null, name, initializer); 1696internal SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 1705public abstract SyntaxNode IfStatement( 1706SyntaxNode condition, IEnumerable<SyntaxNode> trueStatements, IEnumerable<SyntaxNode>? falseStatements = null); 1714public SyntaxNode IfStatement(SyntaxNode condition, IEnumerable<SyntaxNode> trueStatements, SyntaxNode falseStatement) 1720public abstract SyntaxNode SwitchStatement(SyntaxNode expression, IEnumerable<SyntaxNode> sections); 1725public SyntaxNode SwitchStatement(SyntaxNode expression, params SyntaxNode[] sections) 1726=> SwitchStatement(expression, (IEnumerable<SyntaxNode>)sections); 1731public abstract SyntaxNode SwitchSection(IEnumerable<SyntaxNode> caseExpressions, IEnumerable<SyntaxNode> statements); 1733internal abstract SyntaxNode SwitchSectionFromLabels(IEnumerable<SyntaxNode> labels, IEnumerable<SyntaxNode> statements); 1738public SyntaxNode SwitchSection(SyntaxNode caseExpression, IEnumerable<SyntaxNode> statements) 1744public abstract SyntaxNode DefaultSwitchSection(IEnumerable<SyntaxNode> statements); 1749public abstract SyntaxNode ExitSwitchStatement(); 1754public abstract SyntaxNode UsingStatement(SyntaxNode? type, string name, SyntaxNode expression, IEnumerable<SyntaxNode> statements); 1759public SyntaxNode UsingStatement(string name, SyntaxNode expression, IEnumerable<SyntaxNode> statements) 1765public abstract SyntaxNode UsingStatement(SyntaxNode expression, IEnumerable<SyntaxNode> statements); 1770public abstract SyntaxNode LockStatement(SyntaxNode expression, IEnumerable<SyntaxNode> statements); 1775public abstract SyntaxNode TryCatchStatement(IEnumerable<SyntaxNode> tryStatements, IEnumerable<SyntaxNode>? catchClauses, IEnumerable<SyntaxNode>? finallyStatements = null); 1780public SyntaxNode TryCatchStatement(IEnumerable<SyntaxNode> tryStatements, params SyntaxNode[] catchClauses) 1781=> TryCatchStatement(tryStatements, (IEnumerable<SyntaxNode>?)catchClauses); 1786public SyntaxNode TryFinallyStatement(IEnumerable<SyntaxNode> tryStatements, IEnumerable<SyntaxNode> finallyStatements) 1792public abstract SyntaxNode CatchClause(SyntaxNode type, string identifier, IEnumerable<SyntaxNode> statements); 1797public SyntaxNode CatchClause(ITypeSymbol type, string identifier, IEnumerable<SyntaxNode> statements) 1803public abstract SyntaxNode WhileStatement(SyntaxNode condition, IEnumerable<SyntaxNode> statements); 1808internal abstract SyntaxNode ScopeBlock(IEnumerable<SyntaxNode> statements); 1810internal abstract SyntaxNode GlobalStatement(SyntaxNode statement); 1820internal SyntaxNode InterpolatedStringText(SyntaxToken textToken) 1822internal SyntaxNode Interpolation(SyntaxNode syntaxNode) 1824internal SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken) 1826internal SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment) 1828internal SyntaxNode InterpolationFormatClause(string format) 1835public SyntaxNode DefaultExpression(SyntaxNode type) 1838public SyntaxNode DefaultExpression(ITypeSymbol type) 1844public abstract SyntaxNode ThisExpression(); 1849public abstract SyntaxNode BaseExpression(); 1854public SyntaxNode LiteralExpression(object? value) 1860private SyntaxNode LiteralExpression(object? value, bool canUseFieldReference) 1866public abstract SyntaxNode TypedConstantExpression(TypedConstant value); 1871public SyntaxNode FalseLiteralExpression() 1877public SyntaxNode TrueLiteralExpression() 1883public SyntaxNode NullLiteralExpression() 1890public SyntaxNode IdentifierName(string identifier) 1893internal abstract SyntaxNode IdentifierName(SyntaxToken identifier); 1895internal abstract SyntaxNode NamedAnonymousObjectMemberDeclarator(SyntaxNode identifier, SyntaxNode expression); 1900public abstract SyntaxNode GenericName(string identifier, IEnumerable<SyntaxNode> typeArguments); 1902internal abstract SyntaxNode GenericName(SyntaxToken identifier, IEnumerable<SyntaxNode> typeArguments); 1907public SyntaxNode GenericName(string identifier, IEnumerable<ITypeSymbol> typeArguments) 1913public SyntaxNode GenericName(string identifier, params SyntaxNode[] typeArguments) 1914=> GenericName(identifier, (IEnumerable<SyntaxNode>)typeArguments); 1919public SyntaxNode GenericName(string identifier, params ITypeSymbol[] typeArguments) 1926public abstract SyntaxNode WithTypeArguments(SyntaxNode expression, IEnumerable<SyntaxNode> typeArguments); 1932public SyntaxNode WithTypeArguments(SyntaxNode expression, params SyntaxNode[] typeArguments) 1933=> WithTypeArguments(expression, (IEnumerable<SyntaxNode>)typeArguments); 1940public abstract SyntaxNode QualifiedName(SyntaxNode left, SyntaxNode right); 1945internal abstract SyntaxNode GlobalAliasedName(SyntaxNode name); 1950public SyntaxNode DottedName(string dottedName) 1960SyntaxNode? name = null; 1983public abstract SyntaxNode NameExpression(INamespaceOrTypeSymbol namespaceOrTypeSymbol); 1988public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 1996public SyntaxNode TypeExpression(ITypeSymbol typeSymbol, bool addImport) 1998var expression = TypeExpression(typeSymbol); 2007public abstract SyntaxNode TypeExpression(SpecialType specialType); 2012public abstract SyntaxNode ArrayTypeExpression(SyntaxNode type); 2017public abstract SyntaxNode NullableTypeExpression(SyntaxNode type); 2022public SyntaxNode TupleTypeExpression(IEnumerable<SyntaxNode> elements) 2037internal abstract SyntaxNode CreateTupleType(IEnumerable<SyntaxNode> elements); 2042public SyntaxNode TupleTypeExpression(params SyntaxNode[] elements) 2043=> TupleTypeExpression((IEnumerable<SyntaxNode>)elements); 2048public SyntaxNode TupleTypeExpression(IEnumerable<ITypeSymbol> elementTypes, IEnumerable<string>? elementNames = null) 2072public abstract SyntaxNode TupleElementExpression(SyntaxNode type, string? name = null); 2077public SyntaxNode TupleElementExpression(ITypeSymbol type, string? name = null) 2084public abstract SyntaxNode AssignmentStatement(SyntaxNode left, SyntaxNode right); 2089public abstract SyntaxNode ValueEqualsExpression(SyntaxNode left, SyntaxNode right); 2094public abstract SyntaxNode ReferenceEqualsExpression(SyntaxNode left, SyntaxNode right); 2099public abstract SyntaxNode ValueNotEqualsExpression(SyntaxNode left, SyntaxNode right); 2104public abstract SyntaxNode ReferenceNotEqualsExpression(SyntaxNode left, SyntaxNode right); 2109public abstract SyntaxNode LessThanExpression(SyntaxNode left, SyntaxNode right); 2114public abstract SyntaxNode LessThanOrEqualExpression(SyntaxNode left, SyntaxNode right); 2119public abstract SyntaxNode GreaterThanExpression(SyntaxNode left, SyntaxNode right); 2124public abstract SyntaxNode GreaterThanOrEqualExpression(SyntaxNode left, SyntaxNode right); 2129public abstract SyntaxNode NegateExpression(SyntaxNode expression); 2134public abstract SyntaxNode AddExpression(SyntaxNode left, SyntaxNode right); 2139public abstract SyntaxNode SubtractExpression(SyntaxNode left, SyntaxNode right); 2144public abstract SyntaxNode MultiplyExpression(SyntaxNode left, SyntaxNode right); 2149public abstract SyntaxNode DivideExpression(SyntaxNode left, SyntaxNode right); 2154public abstract SyntaxNode ModuloExpression(SyntaxNode left, SyntaxNode right); 2159public abstract SyntaxNode BitwiseAndExpression(SyntaxNode left, SyntaxNode right); 2164public SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right) 2170public abstract SyntaxNode BitwiseNotExpression(SyntaxNode operand); 2175public abstract SyntaxNode LogicalAndExpression(SyntaxNode left, SyntaxNode right); 2180public abstract SyntaxNode LogicalOrExpression(SyntaxNode left, SyntaxNode right); 2185public abstract SyntaxNode LogicalNotExpression(SyntaxNode expression); 2190public abstract SyntaxNode ConditionalExpression(SyntaxNode condition, SyntaxNode whenTrue, SyntaxNode whenFalse); 2195/// cref="ElementBindingExpression(IEnumerable{SyntaxNode})"/> to generate the <paramref 2198public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 2203public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 2208public abstract SyntaxNode ElementBindingExpression(IEnumerable<SyntaxNode> arguments); 2213public SyntaxNode ElementBindingExpression(params SyntaxNode[] arguments) 2214=> ElementBindingExpression((IEnumerable<SyntaxNode>)arguments); 2219public abstract SyntaxNode CoalesceExpression(SyntaxNode left, SyntaxNode right); 2224public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 2227internal SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName) 2230internal SyntaxNode RefExpression(SyntaxNode expression) 2236public SyntaxNode MemberAccessExpression(SyntaxNode? expression, string memberName) 2242public abstract SyntaxNode ArrayCreationExpression(SyntaxNode elementType, SyntaxNode size); 2247public abstract SyntaxNode ArrayCreationExpression(SyntaxNode elementType, IEnumerable<SyntaxNode> elements); 2252public abstract SyntaxNode ObjectCreationExpression(SyntaxNode namedType, IEnumerable<SyntaxNode> arguments); 2254internal abstract SyntaxNode ObjectCreationExpression( 2255SyntaxNode namedType, SyntaxToken openParen, SeparatedSyntaxList<SyntaxNode> arguments, SyntaxToken closeParen); 2260public SyntaxNode ObjectCreationExpression(ITypeSymbol type, IEnumerable<SyntaxNode> arguments) 2266public SyntaxNode ObjectCreationExpression(SyntaxNode type, params SyntaxNode[] arguments) 2267=> ObjectCreationExpression(type, (IEnumerable<SyntaxNode>)arguments); 2272public SyntaxNode ObjectCreationExpression(ITypeSymbol type, params SyntaxNode[] arguments) 2273=> ObjectCreationExpression(type, (IEnumerable<SyntaxNode>)arguments); 2278public abstract SyntaxNode InvocationExpression(SyntaxNode expression, IEnumerable<SyntaxNode> arguments); 2283public SyntaxNode InvocationExpression(SyntaxNode expression, params SyntaxNode[] arguments) 2284=> InvocationExpression(expression, (IEnumerable<SyntaxNode>)arguments); 2289public abstract SyntaxNode Argument(string? name, RefKind refKind, SyntaxNode expression); 2294public SyntaxNode Argument(RefKind refKind, SyntaxNode expression) 2300public SyntaxNode Argument(SyntaxNode expression) 2306public abstract SyntaxNode ElementAccessExpression(SyntaxNode expression, IEnumerable<SyntaxNode> arguments); 2311public SyntaxNode ElementAccessExpression(SyntaxNode expression, params SyntaxNode[] arguments) 2312=> ElementAccessExpression(expression, (IEnumerable<SyntaxNode>)arguments); 2317public abstract SyntaxNode TypeOfExpression(SyntaxNode type); 2322public abstract SyntaxNode IsTypeExpression(SyntaxNode expression, SyntaxNode type); 2327public SyntaxNode IsTypeExpression(SyntaxNode expression, ITypeSymbol type) 2333public abstract SyntaxNode TryCastExpression(SyntaxNode expression, SyntaxNode type); 2338public SyntaxNode TryCastExpression(SyntaxNode expression, ITypeSymbol type) 2344public SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression) 2350public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 2356public SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression) 2362public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression) 2368public abstract SyntaxNode ValueReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, SyntaxNode expression); 2373public abstract SyntaxNode VoidReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, SyntaxNode expression); 2378public abstract SyntaxNode ValueReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, IEnumerable<SyntaxNode> statements); 2383public abstract SyntaxNode VoidReturningLambdaExpression(IEnumerable<SyntaxNode>? lambdaParameters, IEnumerable<SyntaxNode> statements); 2388public SyntaxNode ValueReturningLambdaExpression(string parameterName, SyntaxNode expression) 2394public SyntaxNode VoidReturningLambdaExpression(string parameterName, SyntaxNode expression) 2400public SyntaxNode ValueReturningLambdaExpression(string parameterName, IEnumerable<SyntaxNode> statements) 2406public SyntaxNode VoidReturningLambdaExpression(string parameterName, IEnumerable<SyntaxNode> statements) 2412public SyntaxNode ValueReturningLambdaExpression(SyntaxNode expression) 2413=> ValueReturningLambdaExpression((IEnumerable<SyntaxNode>?)null, expression); 2418public SyntaxNode VoidReturningLambdaExpression(SyntaxNode expression) 2419=> VoidReturningLambdaExpression((IEnumerable<SyntaxNode>?)null, expression); 2424public SyntaxNode ValueReturningLambdaExpression(IEnumerable<SyntaxNode> statements) 2425=> ValueReturningLambdaExpression((IEnumerable<SyntaxNode>?)null, statements); 2430public SyntaxNode VoidReturningLambdaExpression(IEnumerable<SyntaxNode> statements) 2431=> VoidReturningLambdaExpression((IEnumerable<SyntaxNode>?)null, statements); 2436public abstract SyntaxNode LambdaParameter(string identifier, SyntaxNode? type = null); 2441public SyntaxNode LambdaParameter(string identifier, ITypeSymbol type) 2447public abstract SyntaxNode AwaitExpression(SyntaxNode expression); 2452internal SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 2458public abstract SyntaxNode NameOfExpression(SyntaxNode expression); 2463public abstract SyntaxNode TupleExpression(IEnumerable<SyntaxNode> arguments); 2468internal abstract SyntaxNode ParseExpression(string stringToParse); 2470internal abstract SyntaxNode ParseTypeName(string stringToParse); 2472internal abstract SyntaxTrivia Trivia(SyntaxNode node); 2474internal abstract SyntaxNode DocumentationCommentTrivia(IEnumerable<SyntaxNode> nodes, SyntaxTriviaList trailingTrivia, string endOfLineString); 2476internal abstract SyntaxNode? DocumentationCommentTriviaWithUpdatedContent(SyntaxTrivia trivia, IEnumerable<SyntaxNode> content);
ExtensionManager\IExtensionManagerExtensions.cs (1)
90public static Func<SyntaxNode, ImmutableArray<TExtension>> CreateNodeExtensionGetter<TExtension>(
ExternalAccess\Pythia\Api\PythiaDocumentExtensions.cs (1)
13public static Task<SemanticModel> GetSemanticModelForNodeAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
FindSymbols\FindLiterals\FindLiteralsSearchEngine.cs (3)
141var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 151ISyntaxFactsService syntaxFacts, SyntaxNode node, 157if (child.AsNode(out var childNode))
FindSymbols\FindReferences\Finders\AbstractMemberScopedReferenceFinder.cs (1)
112var syntax = declaration.GetSyntax(cancellationToken);
FindSymbols\FindReferences\Finders\AbstractMethodOrPropertyOrEventSymbolReferenceFinder.cs (1)
16FindReferencesDocumentState state, IPropertySymbol property, SyntaxNode node, CancellationToken cancellationToken)
FindSymbols\FindReferences\Finders\AbstractReferenceFinder_GlobalSuppressions.cs (4)
82var root = state.Root; 184var attributeArgument = token.Parent?.Parent; 190var attributeNode = attributeArgument!.Parent?.Parent; 204SyntaxNode root,
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (16)
45var parent = symbol.IsDelegateType() 54ISymbol searchSymbol, FindReferencesDocumentState state, SyntaxNode node, CancellationToken cancellationToken) 218SyntaxNode node, 227var directive = node.GetRequiredParent(); 374SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData); 387foreach (var node in state.Root.DescendantNodesAndSelf()) 406SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData) 445SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData) 451foreach (var expression in expressions) 484SyntaxNode node, 524SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData) 562SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData) 593SyntaxNode node, FindReferencesDocumentState state, Action<FinderLocation, TData> processResult, TData processResultData) 637SyntaxNode node, 646SyntaxNode node, FindReferencesDocumentState state) 663void TryAddAdditionalProperty(SyntaxNode? node, string key)
FindSymbols\FindReferences\Finders\AliasSymbolReferenceFinder.cs (1)
53var parent = state.SyntaxFacts.TryGetBindableParent(token);
FindSymbols\FindReferences\Finders\ConstructorSymbolReferenceFinder.cs (3)
269var node = newKeywordToken.Parent; 312var parent = token.GetRequiredParent(); 319var node = parent.GetRequiredParent();
FindSymbols\FindReferences\Finders\CrefTypeParameterSymbolReferenceFinder.cs (3)
53var root = state.Root; 60var attribute = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => syntaxFacts.SyntaxKinds.XmlCrefAttribute == n.RawKind);
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.cs (1)
82var node = token.GetRequiredParent();
FindSymbols\FindReferences\Finders\FinderLocation.cs (4)
7internal readonly struct FinderLocation(SyntaxNode node, ReferenceLocation location) 14public readonly SyntaxNode Node = node; 21/// cref="SyntaxNode.GetLocation"/>. Instead, this location is where we want to navigate 29public void Deconstruct(out SyntaxNode node, out ReferenceLocation location)
FindSymbols\FindReferences\Finders\ImplicitConstructorInitializerSymbolReferenceFinder.cs (1)
62foreach (var constructorNode in constructorNodes)
FindSymbols\FindReferences\Finders\OrdinaryMethodReferenceFinder.cs (1)
206SyntaxNode node,
FindSymbols\FindReferences\Finders\ParameterSymbolReferenceFinder.cs (8)
97var parameterNode = parameter.DeclaringSyntaxReferences.Select(r => r.GetSyntax(cancellationToken)).FirstOrDefault(); 108var lambdaNode = parameter.ContainingSymbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax(cancellationToken)).First(); 114var container = GetContainer(semanticModel, parameterNode, syntaxFacts); 131SyntaxNode container, 148var lambdaNode = symbol.ContainingSymbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax(cancellationToken)).First(); 169private static SyntaxNode? GetContainer(SemanticModel semanticModel, SyntaxNode parameterNode, ISyntaxFactsService syntaxFactsService) 171for (var current = parameterNode; current != null; current = current.Parent)
FindSymbols\FindReferences\Finders\PropertySymbolReferenceFinder.cs (16)
89var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 212foreach (var node in indexerReferenceExpressions) 232private static (bool matched, CandidateReason reason, SyntaxNode indexerReference) ComputeIndexerInformation( 235SyntaxNode node, 260private static (bool matched, CandidateReason reason, SyntaxNode indexerReference) ComputeIndexerMemberCRefInformation( 261IPropertySymbol symbol, FindReferencesDocumentState state, SyntaxNode node, CancellationToken cancellationToken) 269private static (bool matched, CandidateReason reason, SyntaxNode indexerReference) ComputeConditionalAccessInformation( 270IPropertySymbol symbol, SyntaxNode node, FindReferencesDocumentState state, CancellationToken cancellationToken) 274syntaxFacts.GetPartsOfConditionalAccessExpression(node, out _, out var indexerReference); 288private static (bool matched, CandidateReason reason, SyntaxNode? indexerReference) ComputeElementAccessInformation( 289IPropertySymbol symbol, SyntaxNode node, FindReferencesDocumentState state, CancellationToken cancellationToken) 292state.SyntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out var indexerReference); 305private static (bool matched, CandidateReason reason, SyntaxNode indexerReference) ComputeImplicitElementAccessInformation( 306IPropertySymbol symbol, SyntaxNode node, FindReferencesDocumentState state, CancellationToken cancellationToken) 308var argumentList = state.SyntaxFacts.GetArgumentListOfImplicitElementAccess(node);
FindSymbols\FindReferences\FindReferenceCache.cs (13)
41var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 54public readonly SyntaxNode Root; 66private readonly ConcurrentDictionary<SyntaxNode, SymbolInfo> _symbolInfoCache = []; 72private ImmutableArray<SyntaxNode> _constructorDeclarations; 75Document document, SourceText text, SemanticModel semanticModel, SemanticModel nullableEnabledSemanticModel, SyntaxNode root, SyntaxTreeIndex syntaxTreeIndex) 93public SymbolInfo GetSymbolInfo(SyntaxNode node, CancellationToken cancellationToken) 165if (current.AsNode(out var currentNode)) 227foreach (var constructor in this.GetConstructorDeclarations(cancellationToken)) 240public ImmutableArray<SyntaxNode> GetConstructorDeclarations(CancellationToken cancellationToken) 251private ImmutableArray<SyntaxNode> ComputeConstructorDeclarations(CancellationToken cancellationToken) 256using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var constructors); 260void AppendConstructors(SyntaxList<SyntaxNode> members) 262foreach (var member in members)
FindSymbols\FindReferences\FindReferencesDocumentState.cs (1)
25public SyntaxNode Root => this.Cache.Root;
FindSymbols\FindReferences\FindReferencesSearchEngine_FindReferencesInDocuments.cs (1)
182var parent = state.SyntaxFacts.TryGetBindableParent(token) ?? token.GetRequiredParent();
FindSymbols\Shared\AbstractSyntaxIndex.cs (4)
19protected delegate TIndex IndexCreator(ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken); 125var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 145private static bool ContainsIfDirective(SyntaxNode node, int ifDirectiveKind) 152if (child.AsNode(out var childNode))
FindSymbols\SymbolFinder.cs (3)
203var originalRoot = await location.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 212var linkedSyntaxRoot = await linkedDocument.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 216var linkedNode = linkedSyntaxRoot.FindNode(location.Span, getInnermostNodeForTie: true);
FindSymbols\SyntaxTree\SyntaxTreeIndex_Create.cs (17)
40ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken _) 91var node = current.AsNode(); 225bool IsPartialClass(SyntaxNode node) 241private static bool IsGlobalSuppressMessageAttribute(ISyntaxFactsService syntaxFacts, SyntaxNode node) 246var name = syntaxFacts.GetNameOfAttribute(node); 249syntaxFacts.GetPartsOfQualifiedName(name, out _, out _, out var right); 267SyntaxNode node) 284foreach (var attributeList in attributeLists) 286foreach (var attribute in syntaxFacts.GetAttributesOfAttributeList(attributeList)) 288syntaxFacts.GetPartsOfAttribute(attribute, out var attributeName, out var argumentList); 296var versionArg = syntaxFacts.GetExpressionOfAttributeArgument(arguments[0]); 297var dataArg = syntaxFacts.GetExpressionOfAttributeArgument(arguments[1]); 312syntaxFacts.GetPartsOfQualifiedName(attributeName, out _, out _, out var right); 336SyntaxNode node) 341syntaxFacts.GetPartsOfUsingAliasDirective(node, out var globalToken, out var alias, out var usingTarget); 346syntaxFacts.GetPartsOfQualifiedName(usingTarget, out _, out _, out var right);
FindSymbols\TopLevelSyntaxTree\DeclaredSymbolInfo.cs (2)
229var root = semanticModel.SyntaxTree.GetRoot(cancellationToken); 232var node = root.FindNode(this.Span);
FindSymbols\TopLevelSyntaxTree\IDeclaredSymbolInfoFactoryService.cs (1)
16void AddDeclaredSymbolInfos(ProjectState project, SyntaxNode root, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, Dictionary<string, ArrayBuilder<int>> extensionMemberInfo, CancellationToken cancellationToken);
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex_Create.cs (1)
15ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Create.cs (1)
15ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken)
Formatting\Formatter.cs (34)
94var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 134var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 153public static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 156internal static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken) 159private static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 179internal static SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 190public static SyntaxNode Format(SyntaxNode node, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 193internal static SyntaxNode Format(SyntaxNode node, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken) 205public static SyntaxNode Format(SyntaxNode node, TextSpan span, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 208internal static SyntaxNode Format(SyntaxNode node, TextSpan span, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken) 220public static SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 223private static SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 229internal static SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 232private static IFormattingResult? GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 256internal static IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 267public static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 270internal static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken) 282public static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, TextSpan span, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 285internal static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, TextSpan span, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken = default) 297public static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options = null, CancellationToken cancellationToken = default) 300internal static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, CancellationToken cancellationToken = default) 303private static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, Workspace workspace, OptionSet? options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 311internal static IList<TextChange> GetFormattedTextChanges(SyntaxNode node, IEnumerable<TextSpan>? spans, SolutionServices services, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken = default)
LanguageServices\DeclaredSymbolFactoryService\AbstractDeclaredSymbolInfoFactoryService.cs (10)
26where TCompilationUnitSyntax : SyntaxNode 27where TUsingDirectiveSyntax : SyntaxNode 33where TMemberDeclarationSyntax : SyntaxNode 34where TNameSyntax : SyntaxNode 70SyntaxNode container, TTypeDeclarationSyntax typeDeclaration, StringTable stringTable, string containerDisplayName, string fullyQualifiedContainerName); 72SyntaxNode container, TEnumDeclarationSyntax enumDeclaration, StringTable stringTable, string containerDisplayName, string fullyQualifiedContainerName); 74SyntaxNode container, TMemberDeclarationSyntax memberDeclaration, StringTable stringTable, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, string containerDisplayName, string fullyQualifiedContainerName); 78SyntaxNode container, TMemberDeclarationSyntax memberDeclaration, StringTable stringTable, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, string containerDisplayName, string fullyQualifiedContainerName, CancellationToken cancellationToken); 163SyntaxNode root, 184SyntaxNode container,
ObsoleteSymbol\AbstractObsoleteSymbolService.cs (7)
36var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 61using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 70while (stack.TryPop(out var current)) 78if (child.AsNode(out var childNode)) 92static void ExtractStructureFromTrivia(ArrayBuilder<SyntaxNode> stack, SyntaxTriviaList triviaList) 109SyntaxToken ProcessNode(SemanticModel semanticModel, SyntaxNode node) 113syntaxFacts.GetPartsOfUsingAliasDirective(node, out _, out var aliasToken, out var name);
ReassignedVariable\AbstractReassignedVariableService.cs (21)
27where TParameterSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 29where TSingleVariableDesignationSyntax : SyntaxNode 30where TIdentifierNameSyntax : SyntaxNode 32protected abstract SyntaxNode GetParentScope(SyntaxNode localDeclaration); 33protected abstract SyntaxNode GetMemberBlock(SyntaxNode methodOrPropertyDeclaration); 35protected abstract bool HasInitializer(SyntaxNode variable); 46var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 63using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 74var current = stack.Last(); 83if (child.AsNode(out var childNode)) 103void ProcessNode(SemanticModel semanticModel, SyntaxNode node) 204var declaration = syntaxReference.GetSyntax(cancellationToken); 226var methodOrPropertyDeclaration = methodOrProperty.DeclaringSyntaxReferences.First().GetSyntax(cancellationToken); 271var localDeclaration = local.DeclaringSyntaxReferences 295SyntaxNode parentScope) 298using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 303var current = stack.Last(); 308if (child.AsNode(out var childNode))
Recommendations\AbstractRecommendationService.cs (1)
21where TAnonymousFunctionSyntax : SyntaxNode
Recommendations\AbstractRecommendationServiceRunner.cs (6)
44public abstract bool TryGetExplicitTypeOfLambdaParameter(SyntaxNode lambdaSyntax, int ordinalInLambda, [NotNullWhen(returnValue: true)] out ITypeSymbol explicitLambdaParameterType); 90var invocationExpression = lambdaSyntax.Parent.Parent.Parent; 94var expressionOfInvocationExpression = syntaxFactsService.GetExpressionOfInvocationExpression(invocationExpression); 134private ImmutableArray<ITypeSymbol> SubstituteTypeParameters(ImmutableArray<ITypeSymbol> parameterTypeSymbols, SyntaxNode invocationExpression) 271where TNamespaceDeclarationSyntax : SyntaxNode 331protected static bool IsNonIntersectingNamespace(ISymbol recommendationSymbol, SyntaxNode declarationSyntax)
Rename\ConflictEngine\ConflictResolver.cs (3)
123private static ImmutableArray<ISymbol> SymbolsForEnclosingInvocationExpressionWorker(SyntaxNode invocationExpression, SemanticModel semanticModel, CancellationToken cancellationToken) 131private static SyntaxNode? GetExpansionTargetForLocationPerLanguage(SyntaxToken tokenOrNode, Document document) 134var complexifiedTarget = renameRewriterService.GetExpansionTargetForLocation(tokenOrNode);
Rename\ConflictEngine\ConflictResolver.Session.cs (9)
329var syntaxRoot = await newDocument.GetRequiredSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 355var syntaxRoot = await newDocument.GetRequiredSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 359var baseRoot = await baseDocument.GetRequiredSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 425var complexifiedTarget = GetExpansionTargetForLocationPerLanguage(baseToken, baseDocument); 451var syntaxRoot = await newDocument.GetRequiredSyntaxRootAsync(_cancellationToken).ConfigureAwait(false); 483SyntaxNode syntaxRoot) 645var invocationReferencedSymbols = SymbolsForEnclosingInvocationExpressionWorker((SyntaxNode)tokenOrNode!, newDocumentSemanticModel, _cancellationToken); 783var originalSyntaxRoot = await semanticModel.SyntaxTree.GetRootAsync(_cancellationToken).ConfigureAwait(false); 826var newRoot = renameRewriterLanguageService.AnnotateAndRename(parameters);
Rename\ConflictEngine\MutableConflictResolution.cs (3)
74var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 78var newRoot = root.ReplaceSyntax( 176internal static async ValueTask<Solution> WithDocumentSyntaxRootAsync(Solution solution, DocumentId documentId, SyntaxNode newRoot, CancellationToken cancellationToken)
Rename\ConflictEngine\RenamedSpansTracker.cs (3)
182var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 186.Select(x => Tuple.Create(renameAnnotations.GetAnnotations<RenameNodeSimplificationAnnotation>(x).First(), (SyntaxNode)x!)); 192var node = annotationAndNode.Item2;
Rename\IRenameRewriterLanguageService.cs (4)
26SyntaxNode AnnotateAndRename(RenameRewriterParameters parameters); 118SyntaxNode? GetExpansionTargetForLocation(SyntaxToken token); 123public abstract SyntaxNode AnnotateAndRename(RenameRewriterParameters parameters); 127public abstract SyntaxNode? GetExpansionTargetForLocation(SyntaxToken token);
Rename\Renamer.RenameSymbolDocumentAction.cs (4)
44var matchingTypeDeclaration = await GetMatchingTypeDeclarationAsync( 69private static async Task<SyntaxNode?> GetMatchingTypeDeclarationAsync(Document document, CancellationToken cancellationToken) 71var syntaxRoot = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 99var matchingDeclaration = await GetMatchingTypeDeclarationAsync(document, cancellationToken).ConfigureAwait(false);
Rename\RenameRewriterParameters.cs (2)
17SyntaxNode syntaxRoot, 48internal readonly SyntaxNode SyntaxRoot = syntaxRoot;
Rename\SymbolicRenameLocations.ReferenceProcessing.cs (4)
343var syntaxRoot = await location.Document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 346var bindableParent = syntaxFacts.TryGetBindableParent(token) ?? token.Parent; 405var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 423var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Shared\Extensions\SemanticModelExtensions.cs (4)
19public static SemanticMap GetSemanticMap(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 93var tokenParent = token.Parent; 97var usingStatement = token.Parent; 112var bindableParent = syntaxFacts.TryGetBindableParent(token);
Shared\Extensions\SyntaxGeneratorExtensions.cs (7)
48SyntaxNode? getBody; 49SyntaxNode? setBody; 54var statement = codeFactory.CreateThrowNotImplementedStatement(compilation); 174private static SyntaxNode WrapWithRefIfNecessary(SyntaxGenerator codeFactory, IPropertySymbol overriddenProperty, SyntaxNode body) 245var statement = codeFactory.CreateThrowNotImplementedStatement(compilation); 257var body = codeFactory.InvocationExpression(
Shared\Utilities\SemanticMap.cs (2)
15private readonly Dictionary<SyntaxNode, SymbolInfo> _expressionToInfoMap = []; 23internal static SemanticMap From(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
Shared\Utilities\SemanticMap.Walker.cs (2)
14public void Visit(SyntaxNode node) 18if (child.AsNode(out var childNode))
Simplification\Simplifier.cs (15)
62public static async Task<TNode> ExpandAsync<TNode>(TNode node, Document document, Func<SyntaxNode, bool>? expandInsideNode = null, bool expandParameter = false, CancellationToken cancellationToken = default) where TNode : SyntaxNode 81public static TNode Expand<TNode>(TNode node, SemanticModel semanticModel, Workspace workspace, Func<SyntaxNode, bool>? expandInsideNode = null, bool expandParameter = false, CancellationToken cancellationToken = default) where TNode : SyntaxNode 92internal static TNode Expand<TNode>(TNode node, SemanticModel semanticModel, SolutionServices services, Func<SyntaxNode, bool>? expandInsideNode = null, bool expandParameter = false, CancellationToken cancellationToken = default) where TNode : SyntaxNode 103var result = services.GetRequiredLanguageService<ISimplificationService>(node.Language) 112public static async Task<SyntaxToken> ExpandAsync(SyntaxToken token, Document document, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default) 126public static SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Workspace workspace, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default) 137internal static SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, SolutionServices services, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default) 159var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 167var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 187var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 195var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 248var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.cs (20)
27where TStatementSyntax : SyntaxNode 29where TVariableDeclaratorSyntax : SyntaxNode 31protected abstract bool IsMeaningfulBlock(SyntaxNode node); 32protected abstract bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock); 33protected abstract SyntaxNode GetVariableDeclaratorSymbolNode(TVariableDeclaratorSyntax variableDeclarator); 36protected abstract Task<bool> TypesAreCompatibleAsync(Document document, ILocalSymbol localSymbol, TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode right, CancellationToken cancellationToken); 38public async Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 47private async Task<State> ComputeStateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 78Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken) 84var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114var newRoot = editor.GetChangedRoot(); 151var originalNextStatement = state.OutermostBlockStatements[statementIndex + 1]; 187var blocks = state.InnermostBlock.GetAncestorsOrThis<SyntaxNode>(); 188foreach (var block in blocks) 211var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(state.VariableDeclarator); 218syntaxFacts.GetPartsOfAssignmentStatement(firstStatement, out var left, out var right); 243out var _, out var operatorToken, out var right);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.State.cs (5)
30public SyntaxNode OutermostBlock { get; private set; } 31public SyntaxNode InnermostBlock { get; private set; } 32public IReadOnlyList<SyntaxNode> OutermostBlockStatements { get; private set; } 33public IReadOnlyList<SyntaxNode> InnermostBlockStatements { get; private set; } 104var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\IMoveDeclarationNearReferenceService.cs (2)
17Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken); 24Task<Document> MoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken);
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (98)
37public abstract SyntaxNode LocalDeclarationStatement( 38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false); 43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 46public abstract SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer); 51public abstract SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer); 53public abstract SyntaxNode EqualsValueClause(SyntaxNode value); 54public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value); 58public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 60public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 62public abstract SyntaxNode RefExpression(SyntaxNode expression); 67public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true); 73public abstract SyntaxNode YieldReturnStatement(SyntaxNode expression); 78/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>. 84public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken); 85public abstract SyntaxNode Interpolation(SyntaxNode syntaxNode); 86public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken); 87public abstract SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment); 88public abstract SyntaxNode InterpolationFormatClause(string format); 89public abstract SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames); 106public abstract SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext); 108public abstract SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right); 110public abstract SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type); 119public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern); 121public abstract SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right); 122public abstract SyntaxNode ConstantPattern(SyntaxNode expression); 123public abstract SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name); 124public abstract SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression); 125public abstract SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression); 126public abstract SyntaxNode LessThanRelationalPattern(SyntaxNode expression); 127public abstract SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression); 128public abstract SyntaxNode NotPattern(SyntaxNode pattern); 129public abstract SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right); 130public abstract SyntaxNode ParenthesizedPattern(SyntaxNode pattern); 131public abstract SyntaxNode TypePattern(SyntaxNode type); 132public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern); 136public abstract SyntaxNode DefaultExpression(ITypeSymbol type); 137public abstract SyntaxNode DefaultExpression(SyntaxNode type); 139public abstract SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression); 141public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 144public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 147public abstract SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind); 149public abstract SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right); 151public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 157public abstract SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName); 158public abstract SyntaxNode IdentifierName(string identifier); 160public abstract SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression); 161public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression)
src\5f6f2f95b47c3dc6\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (6)
15internal readonly struct SemanticModelReuseInfo(SemanticModel previousNonSpeculativeSemanticModel, SemanticModel currentSemanticModel, SyntaxNode bodyNode, VersionStamp topLevelSementicVersion) 31public readonly SyntaxNode BodyNode = bodyNode; 94public async ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 100var bodyNode = reuseService.TryGetContainingMethodBodyForSpeculation(node); 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 177SyntaxNode bodyNode,
src\7a47995420f988d7\AbstractRemoveUnnecessaryImportsService.cs (3)
15IEqualityComparer<T> where T : SyntaxNode 22public abstract Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 25Document document, Func<SyntaxNode, bool> predicate, CancellationToken cancellationToken)
src\7a47995420f988d7\IRemoveUnnecessaryImportsService.cs (1)
16Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken);
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (6)
21private readonly HashSet<SyntaxNode> _seenExpressionInferType = []; 22private readonly HashSet<SyntaxNode> _seenExpressionGetType = []; 34protected abstract IEnumerable<TypeInferenceInfo> InferTypesWorker_DoNotCallDirectly(SyntaxNode expression); 35protected abstract IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode expression, bool objectAsDefault); 46public ImmutableArray<TypeInferenceInfo> InferTypes(SyntaxNode expression, bool filterUnusable = true) 60protected IEnumerable<TypeInferenceInfo> GetTypes(SyntaxNode expression, bool objectAsDefault = false)
src\ce787ef1f541c32a\IReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
30Task<SyntaxNode> ReplaceAsync(Document document, SyntaxNode memberDeclaration, CancellationToken cancellationToken);
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (23)
20where TStatementSyntax : SyntaxNode 22protected abstract bool IsFunctionDeclaration(SyntaxNode node); 24protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 26protected abstract SyntaxNode GetBody(SyntaxNode methodNode); 27protected abstract SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement); 34SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, TStatementSyntax statement); 37SyntaxNode functionDeclaration, 45var functionBody = GetBody(functionDeclaration); 79public void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement) 90var parameterDeclaration = parameterReference.GetSyntax(cancellationToken); 92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 115SyntaxNode functionDeclaration, 123var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135SyntaxNode constructorDeclaration, 159var statementToAddAfter = TryGetStatementToAddInitializationAfter(parameter, blockStatement); 164private SyntaxNode? TryGetStatementToAddInitializationAfter( 195using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var accessors); 209foreach (var accessorBody in accessors)
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\ForkingSyntaxEditorBasedCodeFixProvider.cs (4)
25where TDiagnosticNode : SyntaxNode 60var originalRoot = editor.OriginalRoot; 81var currentRoot = semanticDocument.Root; 98var changedRoot = subEditor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (4)
101var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newRoot = FixAll(fixAllContext.Solution.Services, root, commonSpans); 114private SyntaxNode FixAll(SolutionServices services, SyntaxNode root, PooledHashSet<TextSpan> commonSpans)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 88var newRoot = editor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (6)
35var decl = await GetContainingMemberOrTypeDeclarationAsync(document, fixAllInContainingMember, span, cancellationToken).ConfigureAwait(false); 55var root = await syntaxRef.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 72private static async Task<SyntaxNode?> GetContainingMemberOrTypeDeclarationAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var startContainer = fixAllInContainingMember 94var endContainer = fixAllInContainingMember
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (22)
20protected abstract IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken); 22private IList<bool>? GetAvailableInsertionIndices<TDeclarationNode>(TDeclarationNode destination, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 23=> GetAvailableInsertionIndices((SyntaxNode)destination, cancellationToken); 34protected static SyntaxToken GetEndToken(SyntaxNode node) 50protected static TextSpan GetSpan(SyntaxNode node) 58public bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken) 61public bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken) 65SyntaxNode? destination, 144public SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration( 154private (SyntaxNode? declaration, IList<bool>? availableIndices) FindMostRelevantDeclaration( 166using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var ancestors); 168var fallbackDeclaration = (SyntaxNode?)null; 172ancestors.AddRange(token.GetAncestors<SyntaxNode>()); 177if (TryAddToRelatedDeclaration(declarations.Where(d => d is not ICompilationUnitSyntax), checkGeneratedCode: false, out var declaration1, out var availableIndices1) || 185if (TryAddToWorker(declarations, checkGeneratedCode: true, out var declaration2, out var availableIndices2, predicate: node => true)) 191IEnumerable<SyntaxNode> declarations, 193[NotNullWhen(true)] out SyntaxNode? declaration, 231IEnumerable<SyntaxNode> declarations, 233[NotNullWhen(true)] out SyntaxNode? declaration, 235Func<SyntaxNode, bool> predicate) 237foreach (var decl in declarations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (83)
47public TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 53public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 56public TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 59public TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 66where TDeclarationNode : SyntaxNode 69private static TNode WithAnnotations<TNode>(TNode node, CodeGenerationContextInfo info) where TNode : SyntaxNode 76public SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 82public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 85public SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 88public SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 94public TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 100public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 103public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 109public TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 112public TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 115public TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 118public TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 123protected abstract TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 125protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 126protected abstract TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 127protected abstract TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 129protected abstract TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) where TDeclarationNode : SyntaxNode; 131public abstract TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<IParameterSymbol> parameters, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 133public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 134public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 135public abstract TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138public abstract TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 139public abstract TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 140public abstract TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 142public abstract CodeGenerationDestination GetDestination(SyntaxNode node); 143public abstract SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 147public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 149public abstract SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 150public abstract SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 156protected static void CheckDeclarationNode<TDeclarationNode>(SyntaxNode destination) where TDeclarationNode : SyntaxNode 171protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2>(SyntaxNode destination) 172where TDeclarationNode1 : SyntaxNode 173where TDeclarationNode2 : SyntaxNode 190protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3>(SyntaxNode destination) 191where TDeclarationNode1 : SyntaxNode 192where TDeclarationNode2 : SyntaxNode 193where TDeclarationNode3 : SyntaxNode 211protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3, TDeclarationNode4>(SyntaxNode destination) 212where TDeclarationNode1 : SyntaxNode 213where TDeclarationNode2 : SyntaxNode 214where TDeclarationNode3 : SyntaxNode 215where TDeclarationNode4 : SyntaxNode 232Func<SyntaxNode, TCodeGenerationContextInfo, IList<bool>?, CancellationToken, SyntaxNode> declarationTransform, 247var transformedDeclaration = declarationTransform(destinationDeclaration, info, availableIndices, cancellationToken); 249var root = await destinationTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 250var currentRoot = root.ReplaceNode(destinationDeclaration, transformedDeclaration); 275where TDeclarationNode : SyntaxNode 297where TDeclarationSyntax : SyntaxNode 299var newMembers = new List<SyntaxNode>(); 304var newMember = GetNewMember(info, codeGenerationDestination, member, cancellationToken); 329where TDeclarationSyntax : SyntaxNode 342private SyntaxNode? GetNewMember(TCodeGenerationContextInfo info, CodeGenerationDestination codeGenerationDestination, ISymbol member, CancellationToken cancellationToken) 359CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 379protected abstract IComparer<SyntaxNode> GetMemberComparer(); 481protected static void CheckLocation(SyntaxNode destinationMember, [NotNull] Location? location) 500SyntaxNode attributeList, 520SyntaxNode attributeToRemove, 526var root = attributeToRemove.SyntaxTree.GetRoot(); 535where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (8)
14protected abstract SyntaxNode CreateExplicitlyCastedLiteralValue(INamedTypeSymbol enumType, SpecialType underlyingSpecialType, object constantValue); 19public SyntaxNode CreateEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 60private SyntaxNode CreateFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 70private SyntaxNode CreateFlagsEnumConstantValue( 102SyntaxNode? finalNode = null; 106var node = CreateMemberAccessExpression(field.field, enumType, underlyingSpecialType); 136private SyntaxNode CreateMemberAccessExpression( 184private SyntaxNode CreateNonFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (9)
19public static SyntaxNode? GenerateThrowStatement( 33var exceptionCreationExpression = factory.ObjectCreationExpression(exceptionType, arguments: []); 38public static TSyntaxNode? AddAnnotationsTo<TSyntaxNode>(ISymbol symbol, TSyntaxNode? syntax) where TSyntaxNode : SyntaxNode 43public static TSyntaxNode AddFormatterAndCodeGeneratorAnnotationsTo<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 172public static T RemoveLeadingDirectiveTrivia<T>(T node) where T : SyntaxNode 179where T : SyntaxNode 198where TDeclaration : SyntaxNode 303where TDeclarationSyntax : SyntaxNode 328where TDeclarationSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (18)
55SyntaxNode? initializer = null) 81bool isIndexer = false, SyntaxNode? initializer = null) 109SyntaxNode? initializer = null) 125ImmutableArray<SyntaxNode> statements = default, 126ImmutableArray<SyntaxNode> baseConstructorArguments = default, 127ImmutableArray<SyntaxNode> thisConstructorArguments = default, 140ImmutableArray<SyntaxNode> statements = default) 158ImmutableArray<SyntaxNode> statements = default, 159ImmutableArray<SyntaxNode> handlesExpressions = default, 179ImmutableArray<SyntaxNode> statements = default, 180ImmutableArray<SyntaxNode> handlesExpressions = default, 198ImmutableArray<SyntaxNode> statements = default, 224ImmutableArray<SyntaxNode> statements = default, 252ImmutableArray<SyntaxNode> statements = default, 361ImmutableArray<SyntaxNode> statements = default) 385ImmutableArray<SyntaxNode> statements) 518ImmutableArray<SyntaxNode> statements = default, 551SyntaxNode? initializer = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (27)
22SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 33SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 38SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 43SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 53TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 63TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 68TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 73TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 83TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<ISymbol> members, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 88TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 93TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 98TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 103TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 108TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 113TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 118TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 123TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 188bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken); 193bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken); 201SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration(Solution solution, INamespaceOrTypeSymbol namespaceOrType, Location? location, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorInfo.cs (15)
17private readonly ImmutableArray<SyntaxNode> _baseConstructorArguments; 18private readonly ImmutableArray<SyntaxNode> _thisConstructorArguments; 19private readonly ImmutableArray<SyntaxNode> _statements; 25ImmutableArray<SyntaxNode> statements, 26ImmutableArray<SyntaxNode> baseConstructorArguments, 27ImmutableArray<SyntaxNode> thisConstructorArguments) 42ImmutableArray<SyntaxNode> statements, 43ImmutableArray<SyntaxNode> baseConstructorArguments, 44ImmutableArray<SyntaxNode> thisConstructorArguments) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 74private static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 77private static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 80private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationConstructorInfo? info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorInfo.cs (5)
17private readonly ImmutableArray<SyntaxNode> _statements; 21ImmutableArray<SyntaxNode> statements) 30ImmutableArray<SyntaxNode> statements) 42public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 48private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationDestructorInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 57private static SyntaxNode GetInitializer(CodeGenerationFieldInfo info) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodInfo.cs (10)
20private readonly ImmutableArray<SyntaxNode> _statements; 21private readonly ImmutableArray<SyntaxNode> _handlesExpressions; 28ImmutableArray<SyntaxNode> statements, 29ImmutableArray<SyntaxNode> handlesExpressions) 45ImmutableArray<SyntaxNode> statements, 46ImmutableArray<SyntaxNode> handlesExpressions) 58public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 61public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 76private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationMethodInfo info) 79private static ImmutableArray<SyntaxNode> GetHandlesExpressions(CodeGenerationMethodInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationPropertyInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 45public static SyntaxNode GetInitializer(CodeGenerationPropertyInfo info) 48public static SyntaxNode GetInitializer(IPropertySymbol property)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
148public static ImmutableArray<SyntaxNode> DeclaringSyntaxNodes
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\AbstractRefactoringHelpersService.cs (25)
15where TExpressionSyntax : SyntaxNode 16where TArgumentSyntax : SyntaxNode 17where TExpressionStatementSyntax : SyntaxNode 21public bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 24public void AddRelevantNodes<TSyntaxNode>(SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 27public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 30public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 33public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 36public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 39public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 42public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 45public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 48public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 51public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringContextExtensions.cs (12)
41public static Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 44public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNode) where TSyntaxNode : SyntaxNode 50public static Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 53public static async Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNodes) where TSyntaxNode : SyntaxNode 59public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 65public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 68public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, bool allowEmptyNode, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 76this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 82this Document document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 89this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 93this ParsedDocument document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 102this ParsedDocument document, TextSpan span, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (3)
38public static bool IsNodeUnderselected(SyntaxNode? node, TextSpan selection) 81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\IRefactoringHelpersService.cs (1)
20this IRefactoringHelpersService service, ParsedDocument document, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\AddParameterEditor.cs (10)
20SyntaxNode declaration, 22SyntaxNode parameterDeclaration, 54var firstParameter = existingParameters[0]; 66var nextParameter = existingParameters[insertionIndex]; 91var nextParameter = existingParameters[insertionIndex]; 108var nextParameter = existingParameters[insertionIndex]; 122ISyntaxFacts syntaxFacts, SyntaxNode node, bool includeLeadingNewLine) 152IReadOnlyList<SyntaxNode> parameters, CancellationToken cancellationToken) 162var lastParameter = parameters[i - 1]; 163var thisParameter = parameters[i];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (23)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length); 73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 77SyntaxNode container, 95SyntaxNode container, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 111IEnumerable<SyntaxNode> syntaxNodes, 117using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var importsToAdd); 118using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToSimplify); 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 139var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 159var first = root.DescendantNodesAndSelf().First(x => x.HasAnnotation(annotation)); 160var last = root.DescendantNodesAndSelf().Last(x => x.HasAnnotation(annotation)); 162var context = first.GetCommonRoot(last); 172IEnumerable<SyntaxNode> annotatedNodes, 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 180var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188SyntaxNode? first = null, last = null; 190foreach (var annotatedNode in annotatedNodes) 218var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 233var context = first.GetCommonRoot(last); 236var importContainer = addImportsService.GetImportContainer(root, context, importToSyntax.First().Value, options); 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (7)
74public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 76if (document.TryGetSyntaxRoot(out var root)) 84public static SyntaxNode GetRequiredSyntaxRootSynchronously(this Document document, CancellationToken cancellationToken) 86var root = document.GetSyntaxRootSynchronously(cancellationToken); 146var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span)); 167public static ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (5)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 30SyntaxNode expression, 56SyntaxNode expression, 68SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\StringBuilderExtensions.cs (1)
22where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxEditorExtensions.cs (29)
31Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 32CancellationToken cancellationToken) where TNode : SyntaxNode 54Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 55CancellationToken cancellationToken) where TNode : SyntaxNode 76Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 77CancellationToken cancellationToken) where TNode : SyntaxNode 98Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 99CancellationToken cancellationToken) where TNode : SyntaxNode 120Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 121CancellationToken cancellationToken) where TNode : SyntaxNode 154Func<ISyntaxFactsService, SyntaxNode, SyntaxNode> getSemanticBoundary, 156Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 157CancellationToken cancellationToken) where TNode : SyntaxNode 170var originalRoot = editor.OriginalRoot; 173var currentRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var replacementRoot = updateRoot(semanticModel, currentRoot, instance, currentNode); 195private static SyntaxNode GetExpressionSemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 202return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>( 210private static SyntaxNode GetMethodBodySemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 212return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (22)
48public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56ImmutableArray<SyntaxNode> statements) 120private static ImmutableArray<SyntaxNode> CreateEqualsMethodStatements( 135using var statements = TemporaryArray<SyntaxNode>.Empty; 144var localNameExpression = factory.IdentifierName(localName); 145var objNameExpression = factory.IdentifierName(ObjName); 149using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 178var ifStatement = factory.IfStatement( 189var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 201var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 240ImmutableArray<ISymbol> members, SyntaxNode localNameExpression, 241ArrayBuilder<SyntaxNode> expressions) 251var symbolNameExpression = factory.IdentifierName(member.Name); 252var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(), symbolNameExpression) 254var otherSymbol = factory.MemberAccessExpression(localNameExpression, symbolNameExpression); 291private static ImmutableArray<SyntaxNode> CreateIEquatableEqualsMethodStatements( 299var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 301var otherNameExpression = factory.IdentifierName(OtherName); 305using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 343SyntaxGenerator factory, SyntaxGeneratorInternal generatorInternal, Compilation compilation, ParseOptions parseOptions, SyntaxNode otherNameExpression, ArrayBuilder<SyntaxNode> expressions) 345var nullLiteral = factory.NullLiteralExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (20)
17public static ImmutableArray<SyntaxNode> GetGetHashCodeComponents( 25var result = ArrayBuilder<SyntaxNode>.GetInstance(); 41public static ImmutableArray<SyntaxNode> CreateGetHashCodeStatementsUsingSystemHashCode( 43INamedTypeSymbol hashCodeType, ImmutableArray<SyntaxNode> memberReferences) 47var statement = factory.ReturnStatement( 55var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 59var localReference = factory.IdentifierName(hashName); 60foreach (var member in memberReferences) 79public static ImmutableArray<SyntaxNode> CreateGetHashCodeMethodStatements( 128var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 139var hashCodeNameExpression = factory.IdentifierName(HashCodeName); 142var permuteValue = CreateLiteralExpression(factory, hashFactor); 143foreach (var component in components) 146var rightSide = 178private static SyntaxNode SimpleLocalDeclarationStatement( 180string name, SyntaxNode initializer) 187private static SyntaxNode CreateLiteralExpression(SyntaxGenerator factory, int value) 217private static SyntaxNode GetMemberForGetHashCode( 224var getHashCodeNameExpression = factory.IdentifierName(GetHashCodeName); 225var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (58)
33public static SyntaxNode Negate( 36SyntaxNode expression, 43public static SyntaxNode Negate( 46SyntaxNode expressionOrPattern, 54public static SyntaxNode Negate( 57SyntaxNode expressionOrPattern, 114syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 124syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 136private static SyntaxNode GetNegationOfBinaryExpression( 137SyntaxNode expressionNode, 144syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand); 172var newBinaryExpressionSyntax = negatedKind is BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals 190SyntaxNode innerPattern; 199var typeExpression = generatorInternal.Type(isTypeOperation.TypeOperand, typeContext: false); 228private static SyntaxNode GetNegationOfBinaryPattern( 229SyntaxNode pattern, 241syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right); 243var newLeft = generator.Negate(generatorInternal, left, semanticModel, cancellationToken); 244var newRight = generator.Negate(generatorInternal, right, semanticModel, cancellationToken); 246var newPattern = 258private static SyntaxNode GetNegationOfIsPatternExpression(SyntaxNode isExpression, SyntaxGenerator generator, SyntaxGeneratorInternal generatorInternal, SemanticModel semanticModel, CancellationToken cancellationToken) 263syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern); 265SyntaxNode? negatedPattern = null; 287var type = syntaxFacts.GetTypeOfTypePattern(negatedPattern); 300private static SyntaxNode GetNegationOfRelationalPattern( 301SyntaxNode expressionNode, 312syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression); 327private static bool IsLegalPattern(ISyntaxFacts syntaxFacts, SyntaxNode pattern, bool designatorsLegal) 332syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out _, out var right); 342syntaxFacts.GetPartsOfUnaryPattern(pattern, out _, out var subPattern); 354syntaxFacts.GetPartsOfParenthesizedPattern(pattern, out _, out var subPattern, out _); 360syntaxFacts.GetPartsOfDeclarationPattern(pattern, out _, out var designator); 366syntaxFacts.GetPartsOfRecursivePattern(pattern, out _, out _, out _, out var designator); 376private static SyntaxNode NegateRelational( 379SyntaxNode leftOperand, 381SyntaxNode rightOperand) 467private static SyntaxNode GetNegationOfLiteralExpression( 468SyntaxNode expression, 476SyntaxNode newLiteralExpression; 497private static SyntaxNode GetNegationOfConstantPattern( 498SyntaxNode pattern, 510var expression = syntaxFacts.GetExpressionOfConstantPattern(pattern); 522private static SyntaxNode GetNegationOfLogicalNotExpression( 523SyntaxNode expression, 527var operand = syntaxFacts.GetOperandOfPrefixUnaryExpression(expression); 533private static SyntaxNode GetNegationOfUnaryPattern( 534SyntaxNode pattern, 550private static SyntaxNode GetNegationOfNotPattern( 551SyntaxNode pattern, 558syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern); 564var type = syntaxFacts.GetTypeOfTypePattern(subPattern);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (47)
23public static SyntaxNode CreateThrowNotImplementedStatement( 30public static SyntaxNode CreateThrowNotImplementedExpression( 37private static SyntaxNode CreateNewNotImplementedException(SyntaxGenerator codeDefinitionFactory, Compilation compilation) 39var notImplementedExceptionTypeSyntax = compilation.NotImplementedExceptionType() is INamedTypeSymbol symbol 48public static ImmutableArray<SyntaxNode> CreateThrowNotImplementedStatementBlock( 52public static ImmutableArray<SyntaxNode> CreateArguments( 59private static SyntaxNode CreateArgument( 66public static SyntaxNode GetDefaultEqualityComparer( 73var typeExpression = equalityComparerType == null 88public static SyntaxNode IsPatternExpression(this SyntaxGeneratorInternal generator, SyntaxNode expression, SyntaxNode pattern) 94public static SyntaxNode GenerateDelegateThroughMemberStatement( 97var through = generator.MemberAccessExpression( 103var invocationExpression = generator.InvocationExpression(through, generator.CreateArguments(method.Parameters)); 109public static SyntaxNode CreateDelegateThroughExpression( 112var name = generator.IdentifierName(throughMember.Name); 113var through = throughMember.IsStatic 159var explicitImplementationCast = generator.CastExpression( 174static SyntaxNode GenerateContainerName(SyntaxGenerator factory, ISymbol throughMember) 183public static ImmutableArray<SyntaxNode> GetGetAccessorStatements( 193var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 194var expression = property.IsIndexer 222public static ImmutableArray<SyntaxNode> GetSetAccessorStatements( 232var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 233var expression = property.IsIndexer 335public static ImmutableArray<SyntaxNode> CreateAssignmentStatements( 345using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 346using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 358var assignExpression = factory.AssignmentStatement( 361var statement = factory.ExpressionStatement(assignExpression); 371var fieldAccess = factory.MemberAccessExpression(factory.ThisExpression(), factory.IdentifierName(fieldName)) 391SyntaxNode fieldAccess, 394ArrayBuilder<SyntaxNode> nullCheckStatements, 395ArrayBuilder<SyntaxNode> assignStatements) 426public static SyntaxNode CreateAssignWithNullCheckStatement( 427this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter, SyntaxNode fieldAccess) 436public static SyntaxNode CreateThrowArgumentNullExpression(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 439private static SyntaxNode CreateNewArgumentNullException(SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 448public static SyntaxNode CreateNullCheckAndThrowStatement( 454var condition = factory.CreateNullCheckExpression(generatorInternal, semanticModel, parameter.Name); 455var throwStatement = factory.CreateThrowArgumentNullExceptionStatement(semanticModel.Compilation, parameter); 460public static SyntaxNode CreateNullCheckExpression( 463var identifier = factory.IdentifierName(identifierName); 464var nullExpr = factory.NullLiteralExpression(); 465var condition = generatorInternal.SupportsPatterns(semanticModel.SyntaxTree.Options) 471public static SyntaxNode CreateThrowArgumentNullExceptionStatement(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\FormatterShared.cs (6)
26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30public SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 33public SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 36public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\AbstractIndentationService.cs (1)
14where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\IIndentationService.cs (1)
52var newRoot = document.Root.ReplaceToken(token, newToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AbstractAddImportsService.cs (65)
19where TCompilationUnitSyntax : SyntaxNode 20where TNamespaceDeclarationSyntax : SyntaxNode 21where TUsingOrAliasSyntax : SyntaxNode 22where TExternSyntax : SyntaxNode 25protected abstract SyntaxNode? GetAlias(TUsingOrAliasSyntax usingOrAlias); 26protected abstract ImmutableArray<SyntaxNode> GetGlobalImports(SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken); 27protected abstract SyntaxList<TUsingOrAliasSyntax> GetUsingsAndAliases(SyntaxNode node); 28protected abstract SyntaxList<TExternSyntax> GetExterns(SyntaxNode node); 43private bool HasAliases(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsAlias); 44private bool HasUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsSimpleUsing); 45private bool HasStaticUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsStaticUsing); 46private bool HasExterns(SyntaxNode node) => GetExterns(node).Any(); 47private bool HasAnyImports(SyntaxNode node) => GetUsingsAndAliases(node).Any() || GetExterns(node).Any(); 51SyntaxNode root, 52SyntaxNode? contextLocation, 53SyntaxNode import, 62private static ImmutableArray<SyntaxNode> GetAllContainers(SyntaxNode root, SyntaxNode? contextLocation) 66var applicableContainer = GetFirstApplicableContainer(contextLocation); 67return [.. applicableContainer.GetAncestorsOrThis<SyntaxNode>()]; 71SyntaxNode import, ImmutableArray<SyntaxNode> containers, ImmutableArray<SyntaxNode> globalImports) 73foreach (var node in containers) 86foreach (var node in globalImports) 97protected abstract bool IsEquivalentImport(SyntaxNode a, SyntaxNode b); 99public SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options) 103out var externContainer, out var usingContainer, out var staticUsingContainer, out var aliasContainer); 126public SyntaxNode AddImports( 128SyntaxNode root, 129SyntaxNode? contextLocation, 130IEnumerable<SyntaxNode> newImports, 147out var externContainer, out var usingContainer, out var aliasContainer, out var staticUsingContainer); 149var newRoot = Rewrite( 157protected abstract SyntaxNode Rewrite( 159SyntaxNode externContainer, SyntaxNode usingContainer, SyntaxNode staticUsingContainer, SyntaxNode aliasContainer, 160AddImportPlacementOptions options, SyntaxNode root, CancellationToken cancellationToken); 162private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, AddImportPlacementOptions options, out SyntaxNode externContainer, out SyntaxNode usingContainer, out SyntaxNode staticUsingContainer, out SyntaxNode aliasContainer) 164var applicableContainer = GetFirstApplicableContainer(contextLocation); 165var contextSpine = applicableContainer.GetAncestorsOrThis<SyntaxNode>().ToImmutableArray(); 170var fallbackNode = contextSpine.FirstOrDefault(HasAnyImports); 190private static SyntaxNode? GetFirstApplicableContainer(SyntaxNode contextNode) 194var node = usingDirective != null ? usingDirective.Parent! : contextNode; 196(SyntaxNode?)node.GetAncestorOrThis<TCompilationUnitSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AddImportHelpers.cs (2)
20where TRootSyntax : SyntaxNode 21where TImportDirectiveSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\IAddImportsService.cs (15)
23SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 24SyntaxNode import, SyntaxGenerator generator, CancellationToken cancellationToken); 30SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options); 32SyntaxNode AddImports( 33SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 34IEnumerable<SyntaxNode> newImports, SyntaxGenerator generator, AddImportPlacementOptions options, CancellationToken cancellationToken); 39public static SyntaxNode AddImport( 40this IAddImportsService service, SemanticModel semanticModel, SyntaxNode root, 41SyntaxNode contextLocation, SyntaxNode newImport, SyntaxGenerator generator, AddImportPlacementOptions options,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\IInitializeParameterService.cs (4)
19SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement); 25SyntaxNode functionDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (37)
40SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 48SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 56SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 64SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 73SyntaxNode location, 74SyntaxNode? containerOpt, 82var container = containerOpt ?? location.AncestorsAndSelf().FirstOrDefault( 96protected virtual IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 180public bool IsWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 183public bool IsOnlyWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 186public bool IsInOutContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 189public bool IsInRefContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 192public bool IsInInContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 195public bool CanReplaceWithRValue(SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken) 204public bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel) 210public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement) 213public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 216public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 219public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 222public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 228public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 231public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 234public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 237public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 240public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 243public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 246public bool IsInsideNameOfExpression(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 252public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol? expressionTypeOpt, CancellationToken cancellationToken) 255public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 258public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 264public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\ISemanticFactsService.cs (11)
27SemanticModel semanticModel, SyntaxNode location, 28SyntaxNode? container, string baseName, CancellationToken cancellationToken); 31SemanticModel semanticModel, SyntaxNode location, 32SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 34SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, string baseName, 38SemanticModel semanticModel, SyntaxNode location, 39SyntaxNode? container, string baseName, CancellationToken cancellationToken); 42SemanticModel semanticModel, SyntaxNode location, 43SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 47IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxFactsService\ISyntaxFactsService.cs (4)
18Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree syntaxTree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken); 26SyntaxNode root, TContextNode contextNode, 27out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.cs (2)
91SemanticModel semanticModel, SyntaxNode expression, 110SemanticModel semanticModel, SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (2)
27ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken); 31ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (20)
22where TMemberDeclarationSyntax : SyntaxNode 24where TAccessorDeclarationSyntax : SyntaxNode 32public abstract SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 34protected abstract SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode); 49public async Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken) 66var previousRoot = await previousSemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67var currentRoot = await currentBodyNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 68var previousBodyNode = GetPreviousBodyNode(previousRoot, currentRoot, currentBodyNode); 90protected SyntaxNode? GetPreviousBodyNode(SyntaxNode previousRoot, SyntaxNode currentRoot, SyntaxNode currentBodyNode) 98var previousContainer = GetPreviousBodyNode(previousRoot, currentRoot, currentContainer); 124var previousNode = previousRoot; 136var childAsNode = children[childIndex].AsNode(); 150private static void GetNodeChildIndexPathToRootReversed(SyntaxNode node, ArrayBuilder<int> path) 152var current = node; 153var parent = current.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseLanguageService.cs (3)
22SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 36Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseWorkspaceService.cs (2)
19/// Don't call this directly. use <see cref="DocumentExtensions.ReuseExistingSpeculativeModelAsync(Document, SyntaxNode, CancellationToken)"/> (or an overload). 21ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (30)
30where TCompilationUnitSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 33where TCrefSyntax : SyntaxNode 35protected static readonly Func<SyntaxNode, bool> s_containsAnnotations = n => n.ContainsAnnotations; 40protected abstract ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans); 41protected abstract SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode); 42protected abstract bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node); 43protected abstract void AddImportDeclarations(TCompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations); 48protected virtual SyntaxNode TransformReducedNode(SyntaxNode reducedNode, SyntaxNode originalNode) 51public abstract SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken); 52public abstract SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken); 115var reducedNodesMap = new ConcurrentDictionary<SyntaxNode, SyntaxNode>(); 152SyntaxNode root, 156ConcurrentDictionary<SyntaxNode, SyntaxNode> reducedNodesMap, 218var replacedParent = isNode 232var currentNode = currentNodeOrToken.AsNode()!; 237var newRoot = root.ReplaceNode(nodeOrToken.AsNode()!, currentNode.WithAdditionalAnnotations(marker)); 285using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var importDeclarations); 300var root = await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 302var unusedImports = new HashSet<SyntaxNode>(); 311var newRoot = gen.RemoveNodes(root, unusedImports); 320protected abstract void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\ISimplificationService.cs (4)
16SyntaxNode Expand( 17SyntaxNode node, 20Func<SyntaxNode, bool>? expandInsideNode, 27Func<SyntaxNode, bool>? expandInsideNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\SimplificationHelpers.cs (4)
17public static TNode CopyAnnotations<TNode>(SyntaxNode from, TNode to) where TNode : SyntaxNode 63public static ISymbol? GetOriginalSymbolInfo(SemanticModel semanticModel, SyntaxNode expression) 99public static bool IsNamespaceOrTypeOrThisParameter(SyntaxNode expression, SemanticModel semanticModel)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
18where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractSimplifier.cs (2)
12where TSyntax : SyntaxNode 13where TSimplifiedSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (2)
26SyntaxNode declarationSyntax, 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (5)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices) 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 42var root = document.GetRequiredSyntaxRootSynchronously(cancellationToken); 49var root = SyntaxTree.WithChangedText(text).GetRoot(cancellationToken); 53public ParsedDocument WithChangedRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SemanticDocument.cs (3)
13internal sealed class SemanticDocument(Document document, SourceText text, SyntaxNode root, SemanticModel semanticModel) 21var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26public new async ValueTask<SemanticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SyntacticDocument.cs (4)
16public readonly SyntaxNode Root; 18protected SyntacticDocument(Document document, SourceText text, SyntaxNode root) 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 35public ValueTask<SyntacticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
Utilities\WorkspacePathUtilities.cs (1)
26public static bool TypeNameMatchesDocumentName(Document document, SyntaxNode typeDeclaration, ISyntaxFacts syntaxFacts)
Workspace\Host\SyntaxTreeFactory\AbstractSyntaxTreeFactoryService.cs (1)
27public abstract SyntaxTree CreateSyntaxTree(string filePath, ParseOptions options, SourceText text, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, SyntaxNode root);
Workspace\Host\SyntaxTreeFactory\ISyntaxTreeCacheService.cs (1)
17Func<SyntaxNode, TArg, SyntaxTree> createSyntaxTreeFromRoot,
Workspace\Host\SyntaxTreeFactory\ISyntaxTreeFactoryService.cs (1)
30SyntaxTree CreateSyntaxTree(string? filePath, ParseOptions options, SourceText? text, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, SyntaxNode root);
Workspace\Solution\Document.cs (5)
212public bool TryGetSyntaxRoot([NotNullWhen(returnValue: true)] out SyntaxNode? root) 222/// The returned <see cref="SyntaxNode"/> will be <see langword="null"/> if <see 226public async Task<SyntaxNode?> GetSyntaxRootAsync(CancellationToken cancellationToken = default) 242internal SyntaxNode? GetSyntaxRootSynchronously(CancellationToken cancellationToken) 406public Document WithSyntaxRoot(SyntaxNode root)
Workspace\Solution\DocumentState_LinkedFileReuse.cs (3)
132SyntaxNode siblingRoot, 247var siblingRoot = await siblingTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 270var siblingRoot = siblingTree.GetRoot(cancellationToken);
Workspace\Solution\DocumentState.cs (5)
356if (existingTree.TryGetRoot(out var existingRoot) && !existingRoot.ContainsDirective(syntaxKinds.IfDirectiveTrivia)) 486internal DocumentState UpdateTree(SyntaxNode newRoot, PreservationMode mode) 529SyntaxNode newRoot, 552protected VersionStamp GetNewTreeVersionForUpdatedTree(SyntaxNode newRoot, VersionStamp newTextVersion, PreservationMode mode) 561if (!TreeSource.TryGetValue(out var oldTreeAndVersion) || !oldTreeAndVersion.Tree.TryGetRoot(out var oldRoot))
Workspace\Solution\Project.cs (1)
703public Document AddDocument(string name, SyntaxNode syntaxRoot, IEnumerable<string>? folders = null, string? filePath = null)
Workspace\Solution\Solution.cs (5)
1012/// document instance defined by its name and root <see cref="SyntaxNode"/>. 1014public Solution AddDocument(DocumentId documentId, string name, SyntaxNode syntaxRoot, IEnumerable<string>? folders = null, string? filePath = null, bool isGenerated = false, PreservationMode preservationMode = PreservationMode.PreserveValue) 1416public Solution WithDocumentSyntaxRoot(DocumentId documentId, SyntaxNode root, PreservationMode mode = PreservationMode.PreserveValue) 1420internal Solution WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode = PreservationMode.PreserveValue) 1685=> WithCompilationState(CompilationState.WithFrozenSourceGeneratedDocuments(documents.SelectAsArray(d => (d.documentIdentity, d.generationDateTime, (SourceText?)d.text, (SyntaxNode?)null))));
Workspace\Solution\SolutionCompilationState.cs (12)
818ImmutableArray<(SourceGeneratedDocumentIdentity, DateTime, SourceText?, SyntaxNode?)>) GetOrdinaryAndSourceGeneratedDocuments() 824using var _2 = ArrayBuilder<(SourceGeneratedDocumentIdentity, DateTime, SourceText?, SyntaxNode?)>.GetInstance(out var sourceGeneratedDocuments); 850ImmutableArray<(SourceGeneratedDocumentIdentity documentIdentity, DateTime generationDateTime, SourceText? sourceText, SyntaxNode? syntaxNode)> sourceGeneratedDocuments, 1005/// <inheritdoc cref="Solution.WithDocumentSyntaxRoots(ImmutableArray{ValueTuple{DocumentId, SyntaxNode}}, PreservationMode)"/> 1009public SolutionCompilationState WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode) 1013return UpdateDocumentsInMultipleProjects<DocumentState, SyntaxNode, PreservationMode>( 1018oldDocumentState.TryGetSyntaxTree(out var oldTree) && oldTree.TryGetRoot(out var oldRoot) && oldRoot == root 1022(ImmutableArray<(DocumentId, SyntaxNode)>, 1023ImmutableArray<(SourceGeneratedDocumentIdentity, DateTime, SourceText?, SyntaxNode?)>) GetOrdinaryAndSourceGeneratedDocuments() 1028using var _1 = ArrayBuilder<(DocumentId, SyntaxNode)>.GetInstance(capacity: syntaxRoots.Length, out var ordinaryDocuments); 1029using var _2 = ArrayBuilder<(SourceGeneratedDocumentIdentity, DateTime, SourceText?, SyntaxNode?)>.GetInstance(out var sourceGeneratedDocuments); 1405ImmutableArray<(SourceGeneratedDocumentIdentity documentIdentity, DateTime generationDateTime, SourceText? sourceText, SyntaxNode? syntaxNode)> documents)
Workspace\Solution\SourceGeneratedDocument.cs (1)
33internal new SourceGeneratedDocument WithSyntaxRoot(SyntaxNode root)
Workspace\Solution\SourceGeneratedDocumentState.cs (4)
56SyntaxNode? syntaxNode, 84SyntaxNode? syntaxNode, 227public SourceGeneratedDocumentState WithSyntaxRoot(SyntaxNode newRoot) 231tree.TryGetRoot(out var root) &&
Microsoft.DotNet.GenFacades (10)
NotSupportedAssemblyGenerator.cs (10)
88SyntaxNode root = rewriter.Visit(syntaxTree.GetRoot()); 113public override SyntaxNode VisitMethodDeclaration(MethodDeclarationSyntax node) 133public override SyntaxNode VisitPropertyDeclaration(PropertyDeclarationSyntax node) 141public override SyntaxNode VisitEventDeclaration(EventDeclarationSyntax node) 149public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax node) 157public override SyntaxNode VisitConstructorDeclaration(ConstructorDeclarationSyntax node) 163public override SyntaxNode VisitDestructorDeclaration(DestructorDeclarationSyntax node) 169public override SyntaxNode VisitAccessorDeclaration(AccessorDeclarationSyntax node) 180public override SyntaxNode VisitOperatorDeclaration(OperatorDeclarationSyntax node) 189public override SyntaxNode VisitConversionOperatorDeclaration(ConversionOperatorDeclarationSyntax node)
Microsoft.Extensions.Configuration.Binder.SourceGeneration (3)
ConfigurationBindingGenerator.Suppressor.cs (2)
70SyntaxNode syntaxNode = sourceTree.GetRoot(context.CancellationToken).FindNode(location.SourceSpan, getInnermostNodeForTie: true); 121SyntaxNode root = tree.GetRoot(cancellationToken);
Parser\BinderInvocation.cs (1)
34public static bool IsCandidateSyntaxNode(SyntaxNode node)
Microsoft.Extensions.Logging.Generators (1)
LoggerMessageGenerator.Parser.cs (1)
547SyntaxNode? potentialNamespaceParent = classDec.Parent;
Microsoft.Extensions.Options.SourceGeneration (1)
TypeDeclarationSyntaxReceiver.cs (1)
23public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Extensions.Validation.ValidationsGenerator (5)
Parsers\ValidationsGenerator.AddValidation.cs (1)
14internal static bool FindAddValidation(SyntaxNode syntaxNode, CancellationToken cancellationToken)
Parsers\ValidationsGenerator.AttributeParser.cs (1)
14internal static bool ShouldTransformSymbolWithAttribute(SyntaxNode syntaxNode, CancellationToken cancellationToken)
Parsers\ValidationsGenerator.EndpointsParser.cs (1)
18internal static bool FindEndpoints(SyntaxNode syntaxNode, CancellationToken cancellationToken)
src\768f3af0174e68df\InvocationOperationExtensions.cs (2)
70public static bool TryGetMapMethodName(this SyntaxNode node, out string? methodName) 124var syn = syntaxReference.GetSyntax();
Microsoft.Gen.BuildMetadata (11)
src\Generators\Shared\ClassDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
src\Generators\Shared\TypeDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Gen.ComplianceReports (10)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
src\Generators\Shared\TypeDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Gen.ContextualOptions (13)
ContextReceiver.cs (1)
26public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
ContextualOptionsGenerator.cs (3)
18IncrementalValuesProvider<SyntaxNode> typeDeclarations = context.SyntaxProvider 24IncrementalValueProvider<(Compilation, ImmutableArray<SyntaxNode>)> compilationAndTypes = 30private static void HandleAnnotatedTypes(Compilation compilation, IEnumerable<SyntaxNode> nodes, SourceProductionContext context)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
Microsoft.Gen.Logging (13)
Parsing\Parser.cs (1)
298SyntaxNode? potentialNamespaceParent = typeDec.Parent;
Parsing\Parser.LogProperties.cs (1)
74var syntax = property.DeclaringSyntaxReferences[0].GetSyntax(token);
src\Generators\Shared\ClassDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
src\Generators\Shared\TypeDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Gen.MetadataExtractor (12)
src\Generators\Microsoft.Gen.Metrics\Parser.cs (1)
108SyntaxNode? potentialNamespaceParent = typeDeclaration.Parent;
src\Generators\Shared\ClassDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
src\Generators\Shared\TypeDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Gen.Metrics (13)
MetricsGenerator.cs (1)
32private static void HandleAnnotatedTypes(Compilation compilation, IEnumerable<SyntaxNode> nodes, SourceProductionContext context)
Parser.cs (1)
108SyntaxNode? potentialNamespaceParent = typeDeclaration.Parent;
src\Generators\Shared\ClassDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
src\Generators\Shared\TypeDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
Microsoft.Gen.MetricsReports (11)
src\Generators\Microsoft.Gen.Metrics\Parser.cs (1)
108SyntaxNode? potentialNamespaceParent = typeDeclaration.Parent;
src\Generators\Shared\ClassDeclarationSyntaxReceiver.cs (1)
28public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
src\Generators\Shared\GeneratorUtilities.cs (9)
45Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) => Initialize(context, fullyQualifiedAttributeNames, x => x, process); 51Func<SyntaxNode, SyntaxNode?> transform, 52Action<Compilation, IEnumerable<SyntaxNode>, SourceProductionContext> process) 85static bool Predicate(SyntaxNode node, HashSet<string> shortAttributeNames) 104static SyntaxNode? Filter(GeneratorSyntaxContext context, HashSet<string> fullyQualifiedAttributeNames, Func<SyntaxNode, SyntaxNode?> transform, CancellationToken cancellationToken) 112var node = attributeSyntax.Parent?.Parent;
Microsoft.Interop.ComInterfaceGenerator (32)
Analyzers\AddGeneratedComClassFixer.cs (5)
25private static async Task AddGeneratedComClassAsync(SolutionEditor solutionEditor, DocumentId documentId, SyntaxNode node, CancellationToken ct) 33var attribute = gen.Attribute(gen.TypeExpression(editor.SemanticModel.Compilation.GetBestTypeByMetadataName(TypeNames.GeneratedComClassAttribute)).WithAdditionalAnnotations(Simplifier.AddImportsAnnotation)); 34var updatedNode = gen.AddAttributes(node, attribute); 59var comVisibleAttrSyntax = await syntaxRef.GetSyntaxAsync(ct).ConfigureAwait(false); 72protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions)
Analyzers\AddMarshalAsToElementFixer.cs (3)
26SyntaxNode? root = await doc.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 30SyntaxNode node = root.FindNode(context.Span); 51SyntaxNode marshalAsAttribute = gen.Attribute(
Analyzers\ComInterfaceGeneratorDiagnosticsAnalyzer.cs (1)
302SyntaxNode attrSyntax = attrSyntaxRef.GetSyntax(ct);
Analyzers\ConvertComImportToGeneratedComInterfaceFixer.cs (6)
35protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions) 76private static async Task ConvertComImportToGeneratedComInterfaceAsync(DocumentEditor editor, SyntaxNode node, bool mayRequireAdditionalWork, bool addStringMarshalling, CancellationToken ct) 82var generatedComInterfaceAttribute = gen.Attribute(gen.TypeExpression(comp.GetTypeByMetadataName(TypeNames.GeneratedComInterfaceAttribute)).WithAdditionalAnnotations(Simplifier.AddImportsAnnotation)); 103var comImportAttribute = await declaringType.GetAttributes().First(attr => attr.AttributeClass.Equals(comImportAttributeType, SymbolEqualityComparer.Default)).ApplicationSyntaxReference.GetSyntaxAsync(ct).ConfigureAwait(false); 107foreach (var member in gen.GetMembers(node)) 130var generatedDeclaration = member;
Analyzers\VtableIndexStubDiagnosticsAnalyzer.cs (1)
120for (SyntaxNode? parentNode = methodSyntax.Parent; parentNode is TypeDeclarationSyntax typeDecl; parentNode = parentNode.Parent)
ComMethodInfo.cs (1)
195var declaringSyntax = declaringSyntaxReference.GetSyntax(ct);
parent\Common\ConvertToSourceGeneratedInteropFixer.cs (15)
27protected virtual IEnumerable<ConvertToSourceGeneratedInteropFix> CreateAllFixesForDiagnosticOptions(SyntaxNode node, ImmutableDictionary<string, Option> options) 33protected abstract Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions); 120SyntaxNode? root = await doc.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 124SyntaxNode node = root.FindNode(context.Span); 196SyntaxNode root = await diagnostic.Location.SourceTree.GetRootAsync(ct).ConfigureAwait(false); 198SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan); 228protected static void MakeNodeParentsPartial(DocumentEditor editor, SyntaxNode syntax) 230for (SyntaxNode? node = syntax.Parent; node is not null; node = node.Parent) 236protected static SyntaxNode AddExplicitDefaultBoolMarshalling(SyntaxGenerator generator, IMethodSymbol methodSymbol, SyntaxNode generatedDeclaration, string unmanagedTypeMemberIdentifier) 243SyntaxNode generatedParameterSyntax = generator.GetParameters(generatedDeclaration)[parameter.Ordinal]; 259static SyntaxNode GenerateMarshalAsUnmanagedTypeBoolAttribute(SyntaxGenerator generator, string unmanagedTypeMemberIdentifier) 267protected static SyntaxNode AddHResultStructAsErrorMarshalling(SyntaxGenerator generator, IMethodSymbol methodSymbol, SyntaxNode generatedDeclaration) 288static SyntaxNode GeneratedMarshalAsUnmanagedTypeErrorAttribute(SyntaxGenerator generator)
Microsoft.Interop.LibraryImportGenerator (55)
Analyzers\AddDisableRuntimeMarshallingAttributeFixer.cs (1)
60var syntaxRoot = await assemblyInfo.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
Analyzers\ConvertToLibraryImportFixer.cs (24)
76protected override IEnumerable<ConvertToSourceGeneratedInteropFix> CreateAllFixesForDiagnosticOptions(SyntaxNode node, ImmutableDictionary<string, Option> options) 138protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions) 174SyntaxNode methodSyntax, 184SyntaxNode generatedDeclaration = await ConvertMethodDeclarationToLibraryImport( 208private static async Task<SyntaxNode> ConvertMethodDeclarationToLibraryImport( 209SyntaxNode methodSyntax, 231SyntaxNode libraryImportSyntax = GetLibraryImportAttribute( 238out SyntaxNode? unmanagedCallConvAttributeMaybe); 248SyntaxNode generatedDeclaration = generator.ReplaceNode(methodSyntax, dllImportSyntax, libraryImportSyntax); 298SyntaxNode root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 314SyntaxNode? referenceNode = root.FindNode(location.Location.SourceSpan); 420SyntaxNode WrapInvocationWithHRExceptionThrow(SyntaxNode node, SyntaxGenerator generator) 432private static SyntaxNode GetLibraryImportAttribute( 439out SyntaxNode? unmanagedCallConvAttributeMaybe) 447SyntaxNode libraryImportSyntax = generator.ReplaceNode(dllImportSyntax, 453List<SyntaxNode> argumentsToAdd = new List<SyntaxNode>(); 454List<SyntaxNode> argumentsToRemove = new List<SyntaxNode>(); 455foreach (SyntaxNode argument in generator.GetAttributeArguments(libraryImportSyntax)) 573private static SyntaxNode SortDllImportAttributeArguments(AttributeSyntax attribute, SyntaxGenerator generator) 596out SyntaxNode? unmanagedCallConvAttribute) 636SyntaxNode argumentValue = ShouldUseCollectionExpression(editor.OriginalDocument, documentSyntaxTree)
Analyzers\CustomMarshallerAttributeFixer.cs (15)
42SyntaxNode root = await diagnostic.Location.SourceTree.GetRootAsync(fixAllContext.CancellationToken).ConfigureAwait(false); 44SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan); 112SyntaxNode? root = await doc.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 116SyntaxNode node = root.FindNode(context.Span); 154private static async Task<Solution> AddMissingMembers(Document doc, SyntaxNode node, HashSet<string> missingMemberNames, CancellationToken ct) 188SyntaxNode declaringSyntax, 204private static void AddMissingMembersToStatelessMarshaller(DocumentEditor editor, SyntaxNode declaringSyntax, INamedTypeSymbol marshallerType, ITypeSymbol managedType, HashSet<string> missingMemberNames, bool isLinearCollectionMarshaller) 214Lazy<SyntaxNode> unmanagedTypeSyntax = new(CreateUnmanagedTypeSyntax, isThreadSafe: false); 217List<SyntaxNode> newMembers = new(); 350SyntaxNode CreateUnmanagedTypeSyntax() 400private static void AddMissingMembersToStatefulMarshaller(DocumentEditor editor, SyntaxNode declaringSyntax, INamedTypeSymbol marshallerType, ITypeSymbol managedType, HashSet<string> missingMemberNames, bool isLinearCollectionMarshaller) 410Lazy<SyntaxNode> unmanagedTypeSyntax = new(CreateUnmanagedTypeSyntax, isThreadSafe: false); 413List<SyntaxNode> newMembers = new(); 525SyntaxNode CreateUnmanagedTypeSyntax() 567private static SyntaxNode DefaultMethodStatement(SyntaxGenerator generator, Compilation compilation)
parent\Common\ConvertToSourceGeneratedInteropFixer.cs (15)
27protected virtual IEnumerable<ConvertToSourceGeneratedInteropFix> CreateAllFixesForDiagnosticOptions(SyntaxNode node, ImmutableDictionary<string, Option> options) 33protected abstract Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions); 120SyntaxNode? root = await doc.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 124SyntaxNode node = root.FindNode(context.Span); 196SyntaxNode root = await diagnostic.Location.SourceTree.GetRootAsync(ct).ConfigureAwait(false); 198SyntaxNode node = root.FindNode(diagnostic.Location.SourceSpan); 228protected static void MakeNodeParentsPartial(DocumentEditor editor, SyntaxNode syntax) 230for (SyntaxNode? node = syntax.Parent; node is not null; node = node.Parent) 236protected static SyntaxNode AddExplicitDefaultBoolMarshalling(SyntaxGenerator generator, IMethodSymbol methodSymbol, SyntaxNode generatedDeclaration, string unmanagedTypeMemberIdentifier) 243SyntaxNode generatedParameterSyntax = generator.GetParameters(generatedDeclaration)[parameter.Ordinal]; 259static SyntaxNode GenerateMarshalAsUnmanagedTypeBoolAttribute(SyntaxGenerator generator, string unmanagedTypeMemberIdentifier) 267protected static SyntaxNode AddHResultStructAsErrorMarshalling(SyntaxGenerator generator, IMethodSymbol methodSymbol, SyntaxNode generatedDeclaration) 288static SyntaxNode GeneratedMarshalAsUnmanagedTypeErrorAttribute(SyntaxGenerator generator)
Microsoft.Interop.SourceGeneration (2)
SyntaxExtensions.cs (2)
26for (SyntaxNode? parent = memberDeclaration.FirstAncestorOrSelf<BaseNamespaceDeclarationSyntax>(); parent is BaseNamespaceDeclarationSyntax ns; parent = parent.Parent) 43for (SyntaxNode? parentNode = syntax; parentNode is TypeDeclarationSyntax typeDecl; parentNode = parentNode.Parent)
Microsoft.Maui.Controls.BindingSourceGen (2)
BindingSourceGenerator.cs (2)
52 private static bool IsSetBindingMethod(SyntaxNode node) 62 private static bool IsCreateMethod(SyntaxNode node)
Microsoft.ML.CodeGenerator (1)
Utils.cs (1)
188var syntaxNode = tree.GetRoot();
Microsoft.ML.InternalCodeAnalyzer (16)
BestFriendAnalyzer.cs (1)
66foreach (var node in model.SyntaxTree.GetRoot().DescendantNodes(n => !n.IsKind(SyntaxKind.UsingDirective)))
ContractsCheckAnalyzer.cs (1)
162private static bool HasModelLoadContext(SyntaxNode node)
ContractsCheckNameofFixProvider.cs (9)
39var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 75foreach (var node in sameNameNodes) 77SyntaxNode candidate = node; 107SyntaxNode temp = nameArg; 171var root = await tree.GetRootAsync(cancellationToken); 172var newRoot = root.ReplaceNode(nameArg.Expression, nameofExp); 176private async Task<Document> ExpressionReplaceAsync(Document document, SyntaxNode exp, ArgumentSyntax nameArg, CancellationToken cancellationToken) 182var root = await tree.GetRootAsync(cancellationToken); 183var newRoot = root.ReplaceNode(nameArg.Expression, newNameofExp);
InstanceInitializerAnalyzer.cs (1)
71var syntax = syntaxRefs[0].GetSyntax();
NameFixProvider.cs (2)
59var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken); 103SyntaxNode identifier, string name, Func<string, string> renamer, CancellationToken cancellationToken)
RelaxTestNamingSuppressor.cs (2)
41var root = tree.GetRoot(context.CancellationToken); 42var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
QuarantineTools.Tests (4)
ActiveIssueTests.cs (2)
320private static (string Namespace, List<string> TypeChain) GetEnclosingNames(SyntaxNode node) 325for (var current = node.Parent; current != null; current = current.Parent)
QuarantineScriptTests.cs (2)
264private static (string Namespace, List<string> TypeChain) GetEnclosingNames(SyntaxNode node) 269for (var current = node.Parent; current != null; current = current.Parent)
Roslyn.Diagnostics.Analyzers (2215)
AbstractApplyTraitToClass`1.cs (7)
20where TAttributeSyntax : SyntaxNode 24protected abstract SyntaxNode? GetTypeDeclarationForNode(SyntaxNode reportedNode); 69var syntaxRoot = await state.SemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 70var typeDeclaration = GetTypeDeclarationForNode(state.AttributeSyntax); 88var newTypeDeclaration = typeDeclaration.ReplaceNodes( 92foreach (var attribute in syntaxGenerator.GetAttributes(originalNode))
AbstractCreateTestAccessor`1.cs (12)
20where TTypeDeclarationSyntax : SyntaxNode 28protected abstract SyntaxNode GetTypeDeclarationForNode(SyntaxNode reportedNode); 63var syntaxRoot = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 64var reportedNode = syntaxRoot.FindNode(sourceSpan, getInnermostNodeForTie: true); 65var typeDeclaration = GetTypeDeclarationForNode(reportedNode); 69var newTestAccessorExpression = syntaxGenerator.ObjectCreationExpression( 72var getTestAccessorMethod = syntaxGenerator.MethodDeclaration( 80var testAccessorField = syntaxGenerator.FieldDeclaration( 85var testAccessorConstructor = syntaxGenerator.ConstructorDeclaration( 90var testAccessorType = syntaxGenerator.StructDeclaration( 96var newTypeDeclaration = syntaxGenerator.AddMembers(typeDeclaration, getTestAccessorMethod, testAccessorType);
AbstractDoNotCopyValue.cs (1)
1643var node = operation.Syntax;
AbstractExposeMemberForTesting`1.cs (17)
20where TTypeDeclarationSyntax : SyntaxNode 30protected abstract SyntaxNode GetTypeDeclarationForNode(SyntaxNode reportedNode); 32protected abstract SyntaxNode GetByRefType(SyntaxNode type, RefKind refKind); 34protected abstract SyntaxNode GetByRefExpression(SyntaxNode expression); 105var syntaxRoot = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 106var reportedNode = syntaxRoot.FindNode(sourceSpan, getInnermostNodeForTie: true); 107var testAccessorTypeDeclaration = GetTypeDeclarationForNode(reportedNode); 119SyntaxNode newMember; 127SyntaxNode? getAccessor = null; 128SyntaxNode? setAccessor = null; 166var newTypeDeclaration = syntaxGenerator.AddMembers(testAccessorTypeDeclaration, newMember); 170private SyntaxNode GenerateTestAccessorForField(IFieldSymbol fieldSymbol, string memberName, SyntaxGenerator syntaxGenerator, IFieldSymbol accessorField) 172var getAccessor = syntaxGenerator.ReturnStatement(GetByRefExpression(syntaxGenerator.MemberAccessExpression(syntaxGenerator.IdentifierName(accessorField.Name), syntaxGenerator.IdentifierName(memberName)))); 173SyntaxNode? setAccessor = null;
AbstractRunIterations`1.cs (8)
21where TMethodDeclarationSyntax : SyntaxNode 84SyntaxNode updatedMethod = method; 88foreach (var attribute in syntaxGenerator.GetAttributes(method)) 127var assignment = syntaxGenerator.AssignmentStatement(syntaxGenerator.IdentifierName("_"), syntaxGenerator.IdentifierName("iteration")); 132var root = await method.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 136private static SyntaxNode ReplaceName(SyntaxGenerator syntaxGenerator, SyntaxNode node, string name) 138var newNode = syntaxGenerator.WithName(node, name);
ExportedPartsShouldHaveImportingConstructorCodeFixProvider.cs (15)
81var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 84var exportAttribute = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 105var declaration = generator.TryGetContainingDeclaration(exportAttribute, DeclarationKind.Class); 111var importingConstructor = generator.ConstructorDeclaration( 113parameters: Enumerable.Empty<SyntaxNode>(), 117statements: Enumerable.Empty<SyntaxNode>()); 137var newDeclaration = generator.InsertMembers(declaration, index, importingConstructor); 143var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 144var importingConstructorAttribute = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 148var declaration = generator.TryGetContainingDeclaration(importingConstructorAttribute, DeclarationKind.Constructor); 154var newDeclaration = generator.WithAccessibility(declaration, Accessibility.Public); 160var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 163var constructor = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 167var declaration = generator.TryGetContainingDeclaration(constructor, DeclarationKind.Constructor); 204var newDeclaration = generator.AddAttributes(declaration, generator.Attribute(generator.TypeExpression(importingConstructorAttributeSymbol).WithAddImportsAnnotation()));
ImportingConstructorShouldBeObsoleteCodeFixProvider.cs (36)
26protected abstract bool IsOnPrimaryConstructorTypeDeclaration(SyntaxNode attributeName, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27protected abstract SyntaxNode AddMethodTarget(SyntaxNode attributeList); 87var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 93var attributeName = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 97var isPrimaryConstructorTypeDeclaration = this.IsOnPrimaryConstructorTypeDeclaration(attributeName, out var typeDeclaration); 98var declaration = isPrimaryConstructorTypeDeclaration 104var obsoleteAttributeList = generator.Attribute( 113var newDeclaration = generator.AddAttributes(declaration, obsoleteAttributeList); 119var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 122var obsoleteAttributeApplication = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 126var declaration = generator.TryGetContainingDeclaration(obsoleteAttributeApplication, DeclarationKind.Attribute); 132var descriptionArgument = GenerateDescriptionArgument(generator, semanticModel); 133var errorArgument = GenerateErrorArgument(generator, allowNamedArgument: document.Project.Language == LanguageNames.CSharp); 134var newDeclaration = generator.AddAttributeArguments(declaration, [descriptionArgument, errorArgument]); 140var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 143var obsoleteAttributeApplication = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 147var declaration = generator.TryGetContainingDeclaration(obsoleteAttributeApplication, DeclarationKind.Attribute); 153var argumentToReplace = generator.GetAttributeArguments(declaration).ElementAtOrDefault(0); 159var descriptionArgument = GenerateDescriptionArgument(generator, semanticModel); 165var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 167var obsoleteAttributeApplication = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 171var declaration = generator.TryGetContainingDeclaration(obsoleteAttributeApplication, DeclarationKind.Attribute); 177var errorArgument = GenerateErrorArgument(generator, allowNamedArgument: document.Project.Language == LanguageNames.CSharp); 178var newDeclaration = generator.AddAttributeArguments(declaration, [errorArgument]); 184var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 186var obsoleteAttributeApplication = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 190var declaration = generator.TryGetContainingDeclaration(obsoleteAttributeApplication, DeclarationKind.Attribute); 196var argumentToReplace = generator.GetAttributeArguments(declaration).ElementAtOrDefault(1); 202var errorArgument = GenerateErrorArgument(generator, allowNamedArgument: document.Project.Language == LanguageNames.CSharp); 206private static SyntaxNode GenerateDescriptionArgument(SyntaxGenerator generator, SemanticModel semanticModel) 208SyntaxNode attributeArgument; 224private static SyntaxNode GenerateErrorArgument(SyntaxGenerator generator, bool allowNamedArgument) 228var argument = generator.Argument("error", RefKind.None, generator.TrueLiteralExpression()); 229var attribute = generator.Attribute("ignored", argument);
NamedTypeFullNameNotNullSuppressor.cs (2)
46var root = tree.GetRoot(context.CancellationToken); 47var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
PartsExportedWithMEFv2MustBeMarkedAsShared.Fixer.cs (8)
20where TTypeSyntax : SyntaxNode 35var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 46if (TryGetDeclaration(root!.FindNode(diagnostic.Location.SourceSpan), out var declaration)) 58private static bool TryGetDeclaration(SyntaxNode node, [NotNullWhen(true)] out SyntaxNode? declaration) 61private static Task<Document> AddSharedAttributeAsync(Document document, SyntaxNode root, SyntaxNode declaration) 64var newDeclaration = generator.AddAttributes(declaration, generator.Attribute(typeof(SharedAttribute).FullName));
RelaxTestNamingSuppressor.cs (2)
49var root = tree.GetRoot(context.CancellationToken); 50var node = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
SpecializedEnumerableCreationAnalyzer.cs (3)
132protected bool ShouldAnalyzeArrayCreationExpression(SyntaxNode expression, SemanticModel semanticModel, CancellationToken cancellationToken) 142protected void AnalyzeMemberAccessName(SyntaxNode name, SemanticModel semanticModel, Action<Diagnostic> addDiagnostic, CancellationToken cancellationToken) 151protected static void AnalyzeArrayLength(int length, SyntaxNode arrayCreationExpression, Action<Diagnostic> addDiagnostic)
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.cs (20)
27where TStatementSyntax : SyntaxNode 29where TVariableDeclaratorSyntax : SyntaxNode 31protected abstract bool IsMeaningfulBlock(SyntaxNode node); 32protected abstract bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock); 33protected abstract SyntaxNode GetVariableDeclaratorSymbolNode(TVariableDeclaratorSyntax variableDeclarator); 36protected abstract Task<bool> TypesAreCompatibleAsync(Document document, ILocalSymbol localSymbol, TLocalDeclarationStatementSyntax declarationStatement, SyntaxNode right, CancellationToken cancellationToken); 38public async Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 47private async Task<State> ComputeStateAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 78Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken) 84var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 114var newRoot = editor.GetChangedRoot(); 151var originalNextStatement = state.OutermostBlockStatements[statementIndex + 1]; 187var blocks = state.InnermostBlock.GetAncestorsOrThis<SyntaxNode>(); 188foreach (var block in blocks) 211var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(state.VariableDeclarator); 218syntaxFacts.GetPartsOfAssignmentStatement(firstStatement, out var left, out var right); 243out var _, out var operatorToken, out var right);
src\0bf6ba47805c8821\AbstractMoveDeclarationNearReferenceService.State.cs (5)
30public SyntaxNode OutermostBlock { get; private set; } 31public SyntaxNode InnermostBlock { get; private set; } 32public IReadOnlyList<SyntaxNode> OutermostBlockStatements { get; private set; } 33public IReadOnlyList<SyntaxNode> InnermostBlockStatements { get; private set; } 104var syntaxRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
src\0bf6ba47805c8821\IMoveDeclarationNearReferenceService.cs (2)
17Task<(bool canMove, bool mayChangeSemantics)> CanMoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken); 24Task<Document> MoveDeclarationNearReferenceAsync(Document document, SyntaxNode localDeclarationStatement, CancellationToken cancellationToken);
src\30958ef190fa2467\SyntaxGeneratorInternal.cs (98)
37public abstract SyntaxNode LocalDeclarationStatement( 38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false); 43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer) 46public abstract SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer); 51public abstract SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer); 53public abstract SyntaxNode EqualsValueClause(SyntaxNode value); 54public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value); 58public abstract SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull); 60public abstract SyntaxNode MemberBindingExpression(SyntaxNode name); 62public abstract SyntaxNode RefExpression(SyntaxNode expression); 67public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true); 73public abstract SyntaxNode YieldReturnStatement(SyntaxNode expression); 78/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>. 84public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken); 85public abstract SyntaxNode Interpolation(SyntaxNode syntaxNode); 86public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken); 87public abstract SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment); 88public abstract SyntaxNode InterpolationFormatClause(string format); 89public abstract SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames); 106public abstract SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext); 108public abstract SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right); 110public abstract SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type); 119public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern); 121public abstract SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right); 122public abstract SyntaxNode ConstantPattern(SyntaxNode expression); 123public abstract SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name); 124public abstract SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression); 125public abstract SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression); 126public abstract SyntaxNode LessThanRelationalPattern(SyntaxNode expression); 127public abstract SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression); 128public abstract SyntaxNode NotPattern(SyntaxNode pattern); 129public abstract SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right); 130public abstract SyntaxNode ParenthesizedPattern(SyntaxNode pattern); 131public abstract SyntaxNode TypePattern(SyntaxNode type); 132public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern); 136public abstract SyntaxNode DefaultExpression(ITypeSymbol type); 137public abstract SyntaxNode DefaultExpression(SyntaxNode type); 139public abstract SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression); 141public SyntaxNode CastExpression(ITypeSymbol type, SyntaxNode expression) 144public SyntaxNode TypeExpression(ITypeSymbol typeSymbol) 147public abstract SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind); 149public abstract SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right); 151public SyntaxNode MemberAccessExpression(SyntaxNode? expression, SyntaxNode memberName) 157public abstract SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode memberName); 158public abstract SyntaxNode IdentifierName(string identifier); 160public abstract SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression); 161public SyntaxNode ConvertExpression(ITypeSymbol type, SyntaxNode expression)
src\5f6f2f95b47c3dc6\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (6)
15internal readonly struct SemanticModelReuseInfo(SemanticModel previousNonSpeculativeSemanticModel, SemanticModel currentSemanticModel, SyntaxNode bodyNode, VersionStamp topLevelSementicVersion) 31public readonly SyntaxNode BodyNode = bodyNode; 94public async ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken) 100var bodyNode = reuseService.TryGetContainingMethodBodyForSpeculation(node); 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 177SyntaxNode bodyNode,
src\7a47995420f988d7\AbstractRemoveUnnecessaryImportsService.cs (3)
15IEqualityComparer<T> where T : SyntaxNode 22public abstract Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 25Document document, Func<SyntaxNode, bool> predicate, CancellationToken cancellationToken)
src\7a47995420f988d7\IRemoveUnnecessaryImportsService.cs (1)
16Task<Document> RemoveUnnecessaryImportsAsync(Document fromDocument, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken);
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (6)
21private readonly HashSet<SyntaxNode> _seenExpressionInferType = []; 22private readonly HashSet<SyntaxNode> _seenExpressionGetType = []; 34protected abstract IEnumerable<TypeInferenceInfo> InferTypesWorker_DoNotCallDirectly(SyntaxNode expression); 35protected abstract IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode expression, bool objectAsDefault); 46public ImmutableArray<TypeInferenceInfo> InferTypes(SyntaxNode expression, bool filterUnusable = true) 60protected IEnumerable<TypeInferenceInfo> GetTypes(SyntaxNode expression, bool objectAsDefault = false)
src\ce787ef1f541c32a\IReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
30Task<SyntaxNode> ReplaceAsync(Document document, SyntaxNode memberDeclaration, CancellationToken cancellationToken);
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (23)
20where TStatementSyntax : SyntaxNode 22protected abstract bool IsFunctionDeclaration(SyntaxNode node); 24protected abstract SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken); 26protected abstract SyntaxNode GetBody(SyntaxNode methodNode); 27protected abstract SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement); 34SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, TStatementSyntax statement); 37SyntaxNode functionDeclaration, 45var functionBody = GetBody(functionDeclaration); 79public void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement) 90var parameterDeclaration = parameterReference.GetSyntax(cancellationToken); 92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration); 115SyntaxNode functionDeclaration, 123var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 135SyntaxNode constructorDeclaration, 159var statementToAddAfter = TryGetStatementToAddInitializationAfter(parameter, blockStatement); 164private SyntaxNode? TryGetStatementToAddInitializationAfter( 195using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var accessors); 209foreach (var accessorBody in accessors)
src\roslyn\src\Compilers\Core\Portable\SourceGeneration\GeneratedCodeUtilities.cs (3)
55internal static bool IsGeneratedCode(string? filePath, SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 88private static bool BeginsWithAutoGeneratedComment(SyntaxNode root, Func<SyntaxTrivia, bool> isComment) 120var root = tree.GetRoot(cancellationToken);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (2)
27internal static void VerifySource(SourceText text, SyntaxNode root, IEnumerable<TextChangeRange>? changes = null) 30SyntaxNode? node = null;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeMetricsAnalysisContext.cs (1)
34internal SemanticModel GetSemanticModel(SyntaxNode node)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (10)
67SyntaxNode declSyntax = GetTopmostSyntaxNodeForDeclaration(decl, symbol, context); 176internal static SyntaxNode GetTopmostSyntaxNodeForDeclaration(SyntaxReference declaration, ISymbol declaredSymbol, CodeMetricsAnalysisContext context) 178var declSyntax = declaration.GetSyntax(context.CancellationToken); 200var nodesToProcess = new Queue<SyntaxNode>(); 201using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var applicableAttributeNodes); 205SyntaxNode syntax = GetTopmostSyntaxNodeForDeclaration(declaration, symbol, context); 215var parameterSyntax = parameterSyntaxRef.GetSyntax(context.CancellationToken); 231var attributeSyntax = attribute.ApplicationSyntaxReference.GetSyntax(context.CancellationToken); 241var node = nodesToProcess.Dequeue(); 315foreach (var child in node.ChildNodes())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\DiagnosticExtensions.cs (3)
19this SyntaxNode node, 25this SyntaxNode node, 32this SyntaxNode node,
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
441var syntax = decl.GetSyntax(cancellationToken); 451foreach (var descendant in syntax.DescendantNodesAndSelf())
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
54private static ITypeSymbol? GetReceiverType(SyntaxNode receiverSyntax, Compilation compilation, CancellationToken cancellationToken)
src\roslyn\src\RoslynAnalyzers\Utilities\Refactoring\CodeRefactoringContextExtensions.cs (7)
20where TSyntaxNode : SyntaxNode 24where TSyntaxNode : SyntaxNode 32where TSyntaxNode : SyntaxNode 42CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 45var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 53SyntaxNode root, 55CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxGeneratorExtensions.cs (56)
32/// A <see cref="SyntaxNode"/> representing the declaration. 34public static SyntaxNode DefaultOperatorEqualityDeclaration(this SyntaxGenerator generator, 37var leftArgument = generator.IdentifierName(LeftIdentifierName); 38var rightArgument = generator.IdentifierName(RightIdentifierName); 40List<SyntaxNode> statements = []; 75/// <returns>A <see cref="SyntaxNode"/> representing the type reference expression.</returns> 76public static SyntaxNode TypeExpressionForStaticMemberAccess(this SyntaxGenerator generator, INamedTypeSymbol typeSymbol) 81var typeExpression = generator.TypeExpression(typeSymbol); 85static SyntaxNode QualifiedNameToMemberAccess(int qualifiedNameSyntaxKind, int memberAccessExpressionSyntaxKind, SyntaxNode expression, SyntaxGenerator generator) 89var left = QualifiedNameToMemberAccess(qualifiedNameSyntaxKind, memberAccessExpressionSyntaxKind, expression.ChildNodes().First(), generator); 90var right = expression.ChildNodes().Last(); 108/// A <see cref="SyntaxNode"/> representing the declaration. 110public static SyntaxNode DefaultOperatorInequalityDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 112var leftArgument = generator.IdentifierName(LeftIdentifierName); 113var rightArgument = generator.IdentifierName(RightIdentifierName); 115var returnStatement = generator.ReturnStatement( 134/// A <see cref="SyntaxNode"/> representing the declaration. 136public static SyntaxNode DefaultOperatorLessThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 138var leftArgument = generator.IdentifierName(LeftIdentifierName); 139var rightArgument = generator.IdentifierName(RightIdentifierName); 141SyntaxNode expression; 172var returnStatement = generator.ReturnStatement(expression); 186/// A <see cref="SyntaxNode"/> representing the declaration. 188public static SyntaxNode DefaultOperatorLessThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 190var leftArgument = generator.IdentifierName(LeftIdentifierName); 191var rightArgument = generator.IdentifierName(RightIdentifierName); 193SyntaxNode expression; 219var returnStatement = generator.ReturnStatement(expression); 233/// A <see cref="SyntaxNode"/> representing the declaration. 235public static SyntaxNode DefaultOperatorGreaterThanDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 237var leftArgument = generator.IdentifierName(LeftIdentifierName); 238var rightArgument = generator.IdentifierName(RightIdentifierName); 240SyntaxNode expression; 267var returnStatement = generator.ReturnStatement(expression); 281/// A <see cref="SyntaxNode"/> representing the declaration. 283public static SyntaxNode DefaultOperatorGreaterThanOrEqualDeclaration(this SyntaxGenerator generator, INamedTypeSymbol containingType) 285var leftArgument = generator.IdentifierName(LeftIdentifierName); 286var rightArgument = generator.IdentifierName(RightIdentifierName); 288SyntaxNode expression; 318var returnStatement = generator.ReturnStatement(expression); 322private static SyntaxNode ComparisonOperatorDeclaration(this SyntaxGenerator generator, OperatorKind operatorKind, INamedTypeSymbol containingType, params SyntaxNode[] statements) 347/// A <see cref="SyntaxNode"/> representing the declaration. 349public static SyntaxNode DefaultEqualsOverrideDeclaration(this SyntaxGenerator generator, Compilation compilation, INamedTypeSymbol containingType) 351var argumentName = generator.IdentifierName("obj"); 353List<SyntaxNode> statements = []; 402/// A <see cref="SyntaxNode"/> representing the declaration. 404public static SyntaxNode DefaultGetHashCodeOverrideDeclaration( 425public static IEnumerable<SyntaxNode> DefaultMethodBody( 431public static SyntaxNode DefaultMethodStatement(this SyntaxGenerator generator, Compilation compilation) 438public static SyntaxNode? TryGetContainingDeclaration(this SyntaxGenerator generator, SyntaxNode? node, DeclarationKind kind) 469/// A <see cref="SyntaxNode"/> representing an unused identifier name. 472public static SyntaxNode FirstUnusedIdentifierName(this SyntaxGenerator generator, SemanticModel semanticModel, int position, string baseName, int maxTries = int.MaxValue) 474var identifierName = generator.IdentifierName(baseName);
src\roslyn\src\RoslynAnalyzers\Utilities\Workspaces\SyntaxNodeExtensions.cs (2)
34public static SyntaxNode WithAddImportsAnnotation(this SyntaxNode syntaxNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\CodeGeneration\Argument.cs (1)
8where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\AnalysisContextExtensions.cs (10)
149public static SyntaxNode GetAnalysisRoot(this SyntaxTreeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 155public static SyntaxNode GetAnalysisRoot(this SemanticModelAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 163public static SyntaxNode GetAnalysisRoot(this SymbolStartAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 175public static SyntaxNode GetAnalysisRoot(this SymbolAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 185public static SyntaxNode GetAnalysisRoot(this OperationBlockStartAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 191public static SyntaxNode GetAnalysisRoot(this OperationBlockAnalysisContext context, IOperation operationBlock, bool findInTrivia, bool getInnermostNodeForTie = false) 197public static SyntaxNode GetAnalysisRoot(this OperationAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 203public static SyntaxNode GetAnalysisRoot(this SyntaxNodeAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false) 209public static SyntaxNode GetAnalysisRoot<TSyntaxKind>(this CodeBlockStartAnalysisContext<TSyntaxKind> context, bool findInTrivia, bool getInnermostNodeForTie = false) where TSyntaxKind : struct 215public static SyntaxNode GetAnalysisRoot(this CodeBlockAnalysisContext context, bool findInTrivia, bool getInnermostNodeForTie = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\DirectiveInfo.cs (1)
13where TDirectiveTriviaSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (3)
21public static SyntaxNode FindNode(this Location location, CancellationToken cancellationToken) 24public static SyntaxNode FindNode(this Location location, bool getInnermostNodeForTie, CancellationToken cancellationToken) 27public static SyntaxNode FindNode(this Location location, bool findInsideTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (10)
14public static bool AreEquivalent(SemanticModel semanticModel, SyntaxNode node1, SyntaxNode node2) 20SyntaxNode? node1, 21SyntaxNode? node2, 22Func<SyntaxNode, bool>? predicate = null) 50SyntaxNode node1, 51SyntaxNode node2, 52Func<SyntaxNode, bool>? predicate) 115if (c1.AsNode(out var c1Node) && c2.AsNode(out var c2Node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (14)
36public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode statementOrExpression) 39public static DataFlowAnalysis AnalyzeRequiredDataFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 42public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode statement) 45public static ControlFlowAnalysis AnalyzeRequiredControlFlow(this SemanticModel semanticModel, SyntaxNode firstStatement, SyntaxNode lastStatement) 48public static ISymbol GetRequiredDeclaredSymbol(this SemanticModel semanticModel, SyntaxNode declaration, CancellationToken cancellationToken) 54public static IOperation GetRequiredOperation(this SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 108this SemanticModel semanticModel, SyntaxNode? container, CancellationToken cancellationToken, Func<SyntaxNode, bool>? descendInto = null) 112using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var stack); 115while (stack.TryPop(out var current)) 126if (child.AsNode(out var childNode) && 215SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (6)
54SyntaxNode node, 59var topNameNode = node; 63var parent = topNameNode?.Parent; 89else if (node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFacts>((node, syntaxFacts) => syntaxFacts.IsUsingOrExternOrImport(node), syntaxFacts) != null) 189bool IsInNameOfOperation(SyntaxNode node) 210private static bool IsNodeOrAnyAncestorLeftSideOfDot(SyntaxNode node, ISyntaxFacts syntaxFacts)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (127)
23public static SyntaxNode GetRequiredParent(this SyntaxNode node) 26public static IEnumerable<SyntaxNodeOrToken> DepthFirstTraversal(this SyntaxNode node) 29public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNode node) 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxNode node) 34var current = node.Parent; 44public static IEnumerable<TNode> GetAncestors<TNode>(this SyntaxNode node) 45where TNode : SyntaxNode 47var current = node.Parent; 59public static TNode? GetAncestor<TNode>(this SyntaxNode node) 60where TNode : SyntaxNode 62var current = node.Parent; 76public static TNode? GetAncestorOrThis<TNode>(this SyntaxNode? node) 77where TNode : SyntaxNode 82public static IEnumerable<TNode> GetAncestorsOrThis<TNode>(this SyntaxNode? node) 83where TNode : SyntaxNode 85var current = node; 97public static bool HasAncestor<TNode>(this SyntaxNode node) 98where TNode : SyntaxNode 104this SyntaxNode node, TextSpan searchSpan, Func<SyntaxNode, bool> predicate) 105where TSyntaxNode : SyntaxNode 109var nodes = new LinkedList<SyntaxNode>(); 114var currentNode = nodes.First!.Value; 129public static bool CheckParent<T>([NotNullWhen(returnValue: true)] this SyntaxNode? node, Func<T, bool> valueChecker) where T : SyntaxNode 145public static bool IsChildNode<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 146where TParent : SyntaxNode 154var ancestorNode = childGetter(ancestor); 162public static bool IsFoundUnder<TParent>(this SyntaxNode node, Func<TParent, SyntaxNode?> childGetter) 163where TParent : SyntaxNode 171var child = childGetter(ancestor); 174return node.GetAncestorsOrThis<SyntaxNode>().Contains(child); 177public static SyntaxNode GetCommonRoot(this SyntaxNode node1, SyntaxNode node2) 183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 184set.AddRange(node2.GetAncestorsOrThis<SyntaxNode>()); 186foreach (var ancestor in node1.AncestorsAndSelf()) 195public static int Width(this SyntaxNode node) 198public static int FullWidth(this SyntaxNode node) 201public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes, Func<SyntaxNode, bool> predicate) 204public static SyntaxNode? FindInnermostCommonNode(this IEnumerable<SyntaxNode> nodes) 214using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var commonAncestorsStack); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet); 218foreach (var node in nodes) 225foreach (var ancestor in node.ValueAncestorsAndSelf()) 239var commonAncestor = FindCommonAncestor(node, commonAncestorsSet); 281static SyntaxNode? FindCommonAncestor(SyntaxNode node, HashSet<SyntaxNode> commonAncestorsSet) 283foreach (var ancestor in node.ValueAncestorsAndSelf()) 293public static TSyntaxNode? FindInnermostCommonNode<TSyntaxNode>(this IEnumerable<SyntaxNode> nodes) where TSyntaxNode : SyntaxNode 296public static TextSpan GetContainedSpan(this IEnumerable<SyntaxNode> nodes) 302foreach (var node in nodes) 312public static bool OverlapsHiddenPosition(this SyntaxNode node, CancellationToken cancellationToken) 315public static bool OverlapsHiddenPosition(this SyntaxNode node, TextSpan span, CancellationToken cancellationToken) 318public static bool OverlapsHiddenPosition(this SyntaxNode declaration, SyntaxNode startNode, SyntaxNode endNode, CancellationToken cancellationToken) 327public static IEnumerable<T> GetAnnotatedNodes<T>(this SyntaxNode node, SyntaxAnnotation syntaxAnnotation) where T : SyntaxNode 341IEnumerable<SyntaxNode> nodes, 342Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>> computeReplacementAsync, 343CancellationToken cancellationToken) where TRootNode : SyntaxNode 365CancellationToken cancellationToken) where TRootNode : SyntaxNode 378CancellationToken cancellationToken) where TRoot : SyntaxNode 389IEnumerable<SyntaxNode>? nodes, 390Func<SyntaxNode, SyntaxNode, CancellationToken, Task<SyntaxNode>>? computeReplacementNodeAsync, 396where TRoot : SyntaxNode 403var nodeReplacements = new Dictionary<SyntaxNode, SyntaxNode>(); 439if (nodesToReplace.TryGetValue(span, out var currentNode)) 441var original = (SyntaxNode?)retryAnnotations.GetAnnotations(currentNode).SingleOrDefault() ?? currentNode; 442var newNode = await computeReplacementNodeAsync!(original, currentNode, cancellationToken).ConfigureAwait(false); 472if (rewritten != original || !nodeReplacements.TryGetValue(original, out var replaced)) 598SyntaxNode root, 615this SyntaxNode root, 654this SyntaxNode root, 691params SyntaxTrivia[] trivia) where T : SyntaxNode 703SyntaxTriviaList trivia) where T : SyntaxNode 715IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 725params SyntaxTrivia[] trivia) where T : SyntaxNode 737SyntaxTriviaList trivia) where T : SyntaxNode 749IEnumerable<SyntaxTrivia> trivia) where T : SyntaxNode 760IEnumerable<SyntaxTrivia> trailingTrivia) where T : SyntaxNode 785public static SyntaxNode FindNode(this SyntaxNode root, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie) 793public static SyntaxNode? GetParent(this SyntaxNode node, bool ascendOutOfTrivia) 795var parent = node.Parent; 807public static TNode? FirstAncestorOrSelfUntil<TNode>(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 808where TNode : SyntaxNode 810for (var current = node; current != null; current = current.GetParent(ascendOutOfTrivia: true)) 827SyntaxNode root, 830where TDirectiveTriviaSyntax : SyntaxNode 836where TDirectiveTriviaSyntax : SyntaxNode 856SyntaxNode root, 944public static SyntaxTriviaList GetLeadingTriviaIncludingMissingTokens(this SyntaxNode node) 960public static SyntaxTriviaList GetTrailingTriviaIncludingMissingTokens(this SyntaxNode node) 979public static SyntaxNode WithLeadingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 984public static SyntaxNode WithTrailingTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 989public static SyntaxNode WithTriviaFromIncludingMissingTokens(this SyntaxNode node, SyntaxNode other) 998public static ValueAncestorsAndSelfEnumerable ValueAncestorsAndSelf(this SyntaxNode syntaxNode, bool ascendOutOfTrivia = true) 1001public readonly struct ValueAncestorsAndSelfEnumerable(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1006public struct Enumerator(SyntaxNode syntaxNode, bool ascendOutOfTrivia) 1008public SyntaxNode Current { get; private set; } = null!;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeOrTokenExtensions.cs (4)
14public static bool AsNode(this SyntaxNodeOrToken nodeOrToken, [NotNullWhen(true)] out SyntaxNode? node) 44public static IEnumerable<SyntaxNode> DepthFirstTraversalNodes(this SyntaxNodeOrToken node) 48if (t.AsNode(out var childNode)) 60=> nodeOrToken.AsNode(out var node) ? node.WithAppendedTrailingTrivia(trivia) : nodeOrToken.AsToken().WithAppendedTrailingTrivia(trivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (12)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate) 16=> token.GetAncestor<SyntaxNode>(predicate); 18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode 25where T : SyntaxNode 32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate) 39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2) 42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode 58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false) 153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (6)
83var root = await syntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 129var root = syntaxTree.GetRoot(cancellationToken); 140var root = syntaxTree.GetRoot(cancellationToken); 177var root = syntaxTree.GetRoot(cancellationToken); 256public static SyntaxNode FindNode(this SyntaxTree syntaxTree, TextSpan? span, bool findInTrivia, bool getInnermostNodeForTie, CancellationToken cancellationToken) 258var root = syntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\AbstractSyntaxFormatting.cs (3)
28protected abstract IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null); 30protected abstract AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken); 32public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (11)
109SyntaxNode root, 136SyntaxNode root, 185SyntaxNode root, List<IndentBlockOperation> list, int position) 229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token) 231var current = token.Parent; 249var startNode = token.Parent; 252var currentNode = startNode; 278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position) 280var startNode = token.Parent; 285var currentNode = startNode; 311private static IEnumerable<IndentBlockOperation> GetIndentBlockOperationsFromSmallestSpan(SyntaxNode root, List<IndentBlockOperation> list, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (1)
78var rootNode = this.TreeData.Root;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (7)
27private readonly SyntaxNode _rootNode; 32SyntaxNode rootNode) 69var node = startToken.GetCommonRoot(endToken).GetParentWithBiggerSpan(); 70var previous = (SyntaxNode?)null; 144var startNode = token.Parent; 151var currentIndentationNode = startNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (7)
18protected readonly SyntaxNode Node; 24private readonly CancellableLazy<SyntaxNode> _lazyNode; 27SyntaxNode node, 39_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 45protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken); 63public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 98private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
40private readonly SyntaxNode _commonRoot; 173foreach (var node in _commonRoot.DescendantNodesAndSelf(this.SpanToFormat)) 189private static void AddOperations<T>(SegmentedList<T> operations, List<T> scratch, SyntaxNode node, Action<List<T>, SyntaxNode> addOperations) 203private static void AddOperations<T>(SegmentedList<T> operations, ArrayBuilder<T> scratch, SyntaxNode node, Action<ArrayBuilder<T>, SyntaxNode> addOperations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (5)
21private readonly CancellableLazy<SyntaxNode> _lazyNode; 38_lazyNode = new CancellableLazy<SyntaxNode>(CreateFormattedRoot); 44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken); 51public SyntaxNode GetFormattedRoot(CancellationToken cancellationToken) 88private SyntaxNode CreateFormattedRoot(CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\ChainedFormattingRules.cs (4)
46public void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode currentNode) 52public void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode currentNode) 58public void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode currentNode) 64public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode currentNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenData.cs (2)
80var commonRoot = this.Token.GetCommonRoot(other.Token); 97static SyntaxNodeOrToken GetAncestorUnderRoot(SyntaxNodeOrToken start, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (3)
17public static TreeData Create(SyntaxNode root) 38public TreeData(SyntaxNode root) 50public SyntaxNode Root { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Debug.cs (1)
11private sealed class Debug(SyntaxNode root, SourceText text) : NodeAndText(root, text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.Node.cs (1)
14public Node(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
16public NodeAndText(SyntaxNode root, SourceText text)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (3)
25var root = trivia.GetStructure()!; 49var root = _trivia.GetStructure()!; 55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (7)
21public static SyntaxNode GetParentWithBiggerSpan(this SyntaxNode node) 267internal static IEnumerable<TextSpan> GetAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 277static IEnumerable<TextSpan> EnumerateAnnotatedSpans(SyntaxNode node, SyntaxAnnotation annotation) 281var (firstToken, lastToken) = nodeOrToken.AsNode(out var childNode) 344this IndentBlockOperation operation, IHeaderFacts headerFacts, SyntaxNode root, SyntaxToken indentationAnchor) 365if (headerFacts.IsOnIfStatementHeader(root, operation.BaseToken.SpanStart, out var conditionStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\IFormattingResult.cs (1)
18SyntaxNode GetFormattedRoot(CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ISyntaxFormatting.cs (1)
20IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\AbstractFormattingRule.cs (4)
23public virtual void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 29public virtual void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 35public virtual void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (7)
19private readonly SyntaxNode? _commonNode; 22public BaseIndentationFormattingRule(SyntaxNode root, TextSpan span, int baseIndentation, AbstractFormattingRule? vbHelperFormattingRule = null) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 54private void AddNextIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 133private static void SetInnermostNodeForSpan(SyntaxNode root, ref TextSpan span, out SyntaxToken token1, out SyntaxToken token2, out SyntaxNode? commonNode) 149private static void GetTokens(SyntaxNode root, TextSpan span, out SyntaxToken token1, out SyntaxToken token2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\CompatAbstractFormattingRule.cs (8)
17public sealed override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 25public sealed override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 33public sealed override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 41public sealed override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation) 72public virtual void AddSuppressOperationsSlow(ArrayBuilder<SuppressOperation> list, SyntaxNode node, ref NextSuppressOperationAction nextOperation) 78public virtual void AddAnchorIndentationOperationsSlow(List<AnchorIndentationOperation> list, SyntaxNode node, ref NextAnchorIndentationOperationAction nextOperation) 84public virtual void AddIndentBlockOperationsSlow(List<IndentBlockOperation> list, SyntaxNode node, ref NextIndentBlockOperationAction nextOperation) 90public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list, SyntaxNode node, ref NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAlignTokensOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextAnchorIndentationOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextIndentBlockOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\NextSuppressOperationAction.cs (1)
14SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (3)
146internal static IEnumerable<AnchorIndentationOperation> GetAnchorIndentationOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 158internal static IEnumerable<IndentBlockOperation> GetIndentBlockOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options) 170internal static IEnumerable<AlignTokensOperation> GetAlignTokensOperations(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxNode node, SyntaxFormattingOptions options)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\AbstractUnnecessaryImportsProvider.cs (4)
18where TSyntaxNode : SyntaxNode 21SemanticModel model, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken); 27SemanticModel model, TextSpan? span, Func<SyntaxNode, bool>? predicate, CancellationToken cancellationToken) 37var root = model.SyntaxTree.GetRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Helpers\RemoveUnnecessaryImports\IUnnecessaryImportsProvider.cs (2)
13where TSyntaxNode : SyntaxNode 20Func<SyntaxNode, bool>? predicate,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.cs (1)
13where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\AbstractBlockFacts.cs (15)
11where TStatementSyntax : SyntaxNode 13public abstract bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 14public abstract bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 16public abstract SyntaxNode? GetImmediateParentExecutableBlockForStatement(TStatementSyntax statement); 18public abstract IReadOnlyList<TStatementSyntax> GetExecutableBlockStatements(SyntaxNode? node); 19public abstract SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 20public abstract bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 21public abstract IReadOnlyList<TStatementSyntax> GetStatementContainerStatements(SyntaxNode? node); 23SyntaxNode? IBlockFacts.GetImmediateParentExecutableBlockForStatement(SyntaxNode statement) 26IReadOnlyList<SyntaxNode> IBlockFacts.GetExecutableBlockStatements(SyntaxNode? node) 29IReadOnlyList<SyntaxNode> IBlockFacts.GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFacts.cs (11)
22bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node); 31SyntaxNode? GetImmediateParentExecutableBlockForStatement(SyntaxNode statement); 37bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node); 39IReadOnlyList<SyntaxNode> GetExecutableBlockStatements(SyntaxNode? node); 40SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes); 46bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node); 48IReadOnlyList<SyntaxNode> GetStatementContainerStatements(SyntaxNode? node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\BlockFacts\IBlockFactsExtensions.cs (3)
13public static SyntaxNode? GetStatementContainer(this IBlockFacts blockFacts, SyntaxNode node) 15for (var current = node; current is not null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (10)
63public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken) 66public ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node) 67=> GetLeadingBlankLines<SyntaxNode>(node); 70where TSyntaxNode : SyntaxNode 77where TSyntaxNode : SyntaxNode 84where TSyntaxNode : SyntaxNode 97where TSyntaxNode : SyntaxNode 105where TSyntaxNode : SyntaxNode 112where TSyntaxNode : SyntaxNode 166public ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFacts.cs (8)
14ImmutableArray<SyntaxTrivia> GetFileBanner(SyntaxNode root); 16string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken); 18ImmutableArray<SyntaxTrivia> GetLeadingBlankLines(SyntaxNode node); 20TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 22TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode; 24ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 26TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode; 27TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\IFileBannerFactsExtensions.cs (1)
13this IFileBannerFacts bannerService, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (29)
19public abstract bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 20public abstract bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 21public abstract bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 22public abstract bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 23public abstract bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 24public abstract bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 25public abstract bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 26public abstract bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 27public abstract bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement); 29public bool IsOnHeader(SyntaxNode root, int position, SyntaxNode ownerOfHeader, SyntaxNodeOrToken lastTokenOrNodeOfHeader) 30=> IsOnHeader(root, position, ownerOfHeader, lastTokenOrNodeOfHeader, ImmutableArray<SyntaxNode>.Empty); 33SyntaxNode root, 35SyntaxNode ownerOfHeader, 38where THoleSyntax : SyntaxNode 75protected TNode? TryGetAncestorForLocation<TNode>(SyntaxNode root, int position, out SyntaxNode? untypedResult) where TNode : SyntaxNode 97protected int GetStartOfNodeExcludingAttributes(SyntaxNode root, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFacts.cs (18)
16bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 18bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration); 19bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter); 20bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method); 21bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction); 22bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration); 23bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement); 24bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement); 25bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\IHeaderFactsExtensions.cs (2)
14public static bool IsOnTypeHeader(this IHeaderFacts headerFacts, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\Precedence\IPrecedenceService.cs (4)
21int GetOperatorPrecedence(SyntaxNode expression); 27where TExpressionSyntax : SyntaxNode 30int IPrecedenceService.GetOperatorPrecedence(SyntaxNode expression) 42public static PrecedenceKind GetPrecedenceKind(this IPrecedenceService service, SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (62)
18where TExpressionSyntax : SyntaxNode 19where TArgumentSyntax : SyntaxNode 20where TExpressionStatementSyntax : SyntaxNode 25public abstract bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 27private static void AddNode<TSyntaxNode>(bool allowEmptyNodes, ref TemporaryArray<TSyntaxNode> result, TSyntaxNode node) where TSyntaxNode : SyntaxNode 60SourceText sourceText, SyntaxNode root, TextSpan selectionRaw, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 160private static bool IsWantedTypeExpressionLike<TSyntaxNode>() where TSyntaxNode : SyntaxNode 179SourceText sourceText, SyntaxNode root, int location) 286CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 293var leftNode = tokenToLeft.Parent; 320SyntaxNode root, 325CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 331var rightNode = tokenToRightOrIn.Parent; 365SyntaxNode root, 370CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 372var selectionNode = root.FindNode(selectionTrimmed, getInnermostNodeForTie: true); 373var prevNode = selectionNode; 411protected virtual IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 429var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 439var declaredVariable = variables.First(); 445var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(declaredVariable); 448var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 461var initializer = syntaxFacts.GetInitializerOfVariableDeclarator(node); 464var value = syntaxFacts.GetValueOfEqualsValueClause(initializer); 476syntaxFacts.GetPartsOfAssignmentExpressionOrStatement(node, out _, out _, out var rightSide); 498protected virtual IEnumerable<SyntaxNode> ExtractNodesInHeader(SyntaxNode root, int location, IHeaderFacts headerFacts) 501if (headerFacts.IsOnPropertyDeclarationHeader(root, location, out var propertyDeclaration)) 505if (headerFacts.IsOnParameterHeader(root, location, out var parameter)) 509if (headerFacts.IsOnMethodHeader(root, location, out var method)) 513if (headerFacts.IsOnLocalFunctionHeader(root, location, out var localFunction)) 517if (headerFacts.IsOnLocalDeclarationHeader(root, location, out var localDeclaration)) 521if (headerFacts.IsOnIfStatementHeader(root, location, out var ifStatement)) 525if (headerFacts.IsOnForeachHeader(root, location, out var foreachStatement)) 528if (headerFacts.IsOnTypeHeader(root, location, out var typeDeclaration)) 534SyntaxNode root, 539CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 546var ancestor = token.Parent; 572IEnumerable<SyntaxNode> nodes, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 574foreach (var node in nodes) 586public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 589public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 592public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 595public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 598public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 601public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 604public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 607public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 610public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\IRefactoringHelpers.cs (5)
23bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration); 49/// name="selection"/>. The trimmed version is then used to determine relevant <see cref="SyntaxNode"/>. It also 55SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (12)
24where TMemberDeclarationSyntax : SyntaxNode 28where TVariableSyntax : SyntaxNode 31protected abstract ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(TMemberDeclarationSyntax member); 33public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync( 37public Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 41private async Task<ImmutableArray<SyntaxNode>> GetSelectedMembersAsync( 46var root = await tree.GetRootAsync(cancellationToken).ConfigureAwait(false); 76private ImmutableArray<SyntaxNode> GetMembersInSpan( 77SyntaxNode root, SourceText text, TextSpan textSpan, 87using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var selectedMembers); 164SourceText text, SyntaxNode root, SyntaxNode member, int position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (24)
52bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 59bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 60bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 61bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 62bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 64bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken); 73bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel); 80ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement); 81SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 83IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node); 85ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node); 87ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node); 91IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken); 93IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 94IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken); 96ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 97ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken); 99ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken); 101bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken); 108bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken); 110string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken); 121IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node); 125CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (5)
18where TBinaryExpressionSyntax : SyntaxNode 46semanticFacts.SyntaxFacts.GetPartsOfBinaryExpression(parentBinary, out var parentBinaryLeft, out var parentBinaryRight); 121public static IParameterSymbol? FindParameterForArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 124public static IParameterSymbol? FindParameterForAttributeArgument(this ISemanticFacts semanticFacts, SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractDocumentationCommentService.cs (8)
23where TDocumentationCommentTriviaSyntax : SyntaxNode 24where TXmlNodeSyntax : SyntaxNode 25where TXmlAttributeSyntax : SyntaxNode 26where TCrefSyntax : SyntaxNode 100foreach (var node in summaryElement.ChildNodes()) 106private void HandleNode(SyntaxNode node, StringBuilder sb) 160protected abstract SyntaxNode GetName(TXmlElementSyntax xmlElement); 190public string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int maxBannerLength, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\AbstractSyntaxFacts.cs (8)
11public void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 14public void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 17public void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result) 20protected abstract void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IAccessibilityFacts.cs (2)
14bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false); 15Accessibility GetAccessibility(SyntaxNode declaration);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\IDocumentationCommentService.cs (1)
11string GetBannerText(SyntaxNode? documentationCommentTriviaSyntax, int bannerLength, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (307)
122bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node); 123bool IsPredefinedType([NotNullWhen(true)] SyntaxNode? node, PredefinedType type); 173bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node); 174bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node); 175bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node); 176bool IsDeclaration([NotNullWhen(true)] SyntaxNode? node); 178bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node); 183bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes); 186SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken); 187ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken); 189bool IsDocumentationComment(SyntaxNode node); 196bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? directive, out ExternalSourceInfo info); 198bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node); 200bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node); 201bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node); 203bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node); 204SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement); 206void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode; 209bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node); 212bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node); 214bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 215bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? statement); 216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 220bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node); 222bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node); 223SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node); 225bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node); 226bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node); 227bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node); 229bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node); 230SyntaxNode? GetRightSideOfDot(SyntaxNode? node); 244SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget = false); 246bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node); 248bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 249bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 250bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 259SyntaxNode? GetStandaloneExpression(SyntaxNode? node); 268SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node); 277SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget = false); 279SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node); 281SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node); 283bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 285bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node); 286bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node); 287SyntaxNode? GetParameterList(SyntaxNode node); 288bool IsParameterList([NotNullWhen(true)] SyntaxNode? node); 292void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList); 294SyntaxNode GetExpressionOfArgument(SyntaxNode node); 295SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node); 296SyntaxNode GetExpressionOfInterpolation(SyntaxNode node); 298bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node); 299bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node); 300bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node); 302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node); 303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node); 304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node); 305SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node); 311bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node); 312bool IsArgument([NotNullWhen(true)] SyntaxNode? node); 313bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node); 314RefKind GetRefKindOfArgument(SyntaxNode node); 316void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity); 317bool LooksGeneric(SyntaxNode simpleName); 319SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName); 321SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString); 323SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode node); 324SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode node); 325SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode node); 327bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node); 330SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node); 331SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node); 333bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node); 334bool IsMemberInitializerNamedAssignmentIdentifier([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance); 335bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? node); 336bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression); 338bool IsDirective([NotNullWhen(true)] SyntaxNode? node); 339bool IsStatement([NotNullWhen(true)] SyntaxNode? node); 340bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node); 341bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node); 342SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node); 344bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node); 345bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node); 346bool IsUsingLocalDeclarationStatement(SyntaxNode node); 360bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node); 362bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement); 363SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node); 364SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node); 365SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node); 369bool HasImplicitBaseConstructorInitializer(SyntaxNode constructorDeclaration); 372bool IsElementAccessExpression([NotNullWhen(true)] SyntaxNode? node); 390bool IsInStaticContext(SyntaxNode node); 391bool IsUnsafeContext(SyntaxNode node); 393bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node); 395bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node); 397bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node); 398bool IsInConstructor(SyntaxNode node); 399bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node); 400bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node); 403bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2); 405string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null); 408SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position); 409SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 410SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true); 411SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node); 415SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false); 418void AddTopLevelAndMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 420void AddTopLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 422void AddMethodLevelMembers(SyntaxNode? root, ArrayBuilder<SyntaxNode> result); 424SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode typeDeclaration); 425SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode typeDeclaration); 426SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode typeDeclaration); 432/// Given a <see cref="SyntaxNode"/>, return the <see cref="TextSpan"/> representing the span of the member body 438TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node); 446SyntaxNode? TryGetBindableParent(SyntaxToken token); 449/// Given a <see cref="SyntaxNode"/>, that represents and argument return the string representation of 453string GetNameForArgument(SyntaxNode? argument); 456/// Given a <see cref="SyntaxNode"/>, that represents an attribute argument return the string representation of 460string GetNameForAttributeArgument(SyntaxNode? argument); 462bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node); 463bool IsPropertyPatternClause(SyntaxNode node); 465bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node); 466bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node); 467bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node); 469SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node); 470SyntaxNode GetTypeOfTypePattern(SyntaxNode node); 472void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen); 473void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 474void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation); 475void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation); 476void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression); 477void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern); 481SyntaxTokenList GetModifiers(SyntaxNode? node); 485SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers); 488Location GetDeconstructionReferenceLocation(SyntaxNode node); 493bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node); 495SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia); 501bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node); 502bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node); 503bool IsTypeDeclaration(SyntaxNode node); 504bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node); 505bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node); 506bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node); 507bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node); 508bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node); 509bool IsAnyName([NotNullWhen(true)] SyntaxNode? node); 510bool IsAnyType([NotNullWhen(true)] SyntaxNode? node); 512bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 513bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node); 515bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node); 516bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node); 522void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name); 523void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type); 524void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken); 525void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList); 526void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members); 527void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer); 528void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right); 529void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression); 530void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members); 531void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull); 532void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse); 533void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments); 534void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken); 535void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList); 536void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right); 537void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name); 538void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode name, out SyntaxNode expression); 539void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer); 540void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer); 541void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default); 542void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen); 543void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken); 544void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand); 545void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right); 546void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name); 556SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node); 558SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node); 559SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node); 560SyntaxNode GetExpressionOfRefExpression(SyntaxNode node); 561SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node); 562SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node); 563SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node); 565bool IsEqualsValueOfPropertyDeclaration([NotNullWhen(true)] SyntaxNode? node); 566SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node); 568SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node); 569SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node); 571SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (211)
23public static bool IsMemberInitializerNamedAssignmentIdentifier(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 26public static bool IsOnSingleLine(this ISyntaxFacts syntaxFacts, SyntaxNode node, bool fullSpan) 62var currentNode = currentNodeOrToken.AsNode()!; 160this ISyntaxFacts syntaxFacts, ImmutableArray<SyntaxNode> nodes, CancellationToken cancellationToken) 166foreach (var node in nodes) 178public static bool ContainsInterleavedDirective(this ISyntaxFacts syntaxFacts, SyntaxNode node, CancellationToken cancellationToken) 182this ISyntaxFacts syntaxFacts, TextSpan span, SyntaxNode node, CancellationToken cancellationToken) 193public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxNode> nodes) 286public static SyntaxNode? WalkDownParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 290syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var child, out _); 298public static SyntaxNode? WalkUpParentheses(this ISyntaxFacts syntaxFacts, SyntaxNode? node) 307this ISyntaxFacts syntaxFacts, SyntaxNode statement, 308out SyntaxNode left, out SyntaxNode right) 313public static SyntaxNode GetExpressionOfInvocationExpression( 314this ISyntaxFacts syntaxFacts, SyntaxNode node) 316syntaxFacts.GetPartsOfInvocationExpression(node, out var expression, out _); 320public static SyntaxNode Unparenthesize( 321this ISyntaxFacts syntaxFacts, SyntaxNode node) 324SyntaxNode operand; 348var resultNode = operand 383public static bool SpansPreprocessorDirective(this ISyntaxFacts service, SyntaxNode node) 386public static bool SpansPreprocessorDirective(this ISyntaxFacts service, params SyntaxNode[] nodes) 387=> service.SpansPreprocessorDirective((IEnumerable<SyntaxNode>)nodes); 392public static void GetPartsOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode left, out SyntaxNode right) 395public static SyntaxNode GetPatternOfParenthesizedPattern(this ISyntaxFacts syntaxFacts, SyntaxNode node) 397syntaxFacts.GetPartsOfParenthesizedPattern(node, out _, out var pattern, out _); 401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 407public static bool IsAnonymousOrLocalFunction(this ISyntaxFacts syntaxFacts, SyntaxNode node) 411public static SyntaxNode? GetExpressionOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 413syntaxFacts.GetPartsOfElementAccessExpression(node, out var expression, out _); 417public static SyntaxNode? GetArgumentListOfElementAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 419syntaxFacts.GetPartsOfElementAccessExpression(node, out _, out var argumentList); 423public static SyntaxNode GetExpressionOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 425syntaxFacts.GetPartsOfConditionalAccessExpression(node, out var expression, out _); 429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 435public static void GetPartsOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode name) 438public static void GetPartsOfConditionalAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node, out SyntaxNode expression, out SyntaxNode whenNotNull) 441public static TextSpan GetSpanWithoutAttributes(this ISyntaxFacts syntaxFacts, SyntaxNode root, SyntaxNode node) 468/// Similar to <see cref="ISyntaxFacts.GetStandaloneExpression(SyntaxNode)"/>, this gets the containing 478public static SyntaxNode GetRootStandaloneExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 481var standalone = syntaxFacts.GetStandaloneExpression(node); 489public static SyntaxNode? GetArgumentListOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 491syntaxFacts.GetPartsOfInvocationExpression(node, out _, out var argumentList); 495public static SeparatedSyntaxList<SyntaxNode> GetArgumentsOfInvocationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 497var argumentList = syntaxFacts.GetArgumentListOfInvocationExpression(node); 501public static SyntaxNode? GetArgumentListOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 503syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out var argumentList, out _); 507public static SyntaxNode? GetDefaultOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 509syntaxFacts.GetPartsOfParameter(node, out _, out var @default); 513public static SyntaxNode GetExpressionOfParenthesizedExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 515syntaxFacts.GetPartsOfParenthesizedExpression(node, out _, out var expression, out _); 519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node) 534public static SyntaxList<SyntaxNode> GetImportsOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 540public static SyntaxList<SyntaxNode> GetImportsOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 546public static SyntaxNode? GetInitializerOfBaseObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 548syntaxFacts.GetPartsOfBaseObjectCreationExpression(node, out _, out var initializer); 552public static SyntaxList<SyntaxNode> GetMembersOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 558public static SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(this ISyntaxFacts syntaxFacts, SyntaxNode node) 564public static SyntaxNode GetNameOfAttribute(this ISyntaxFacts syntaxFacts, SyntaxNode node) 566syntaxFacts.GetPartsOfAttribute(node, out var name, out _); 570public static SyntaxNode GetNameOfBaseNamespaceDeclaration(this ISyntaxFacts syntaxFacts, SyntaxNode node) 572syntaxFacts.GetPartsOfBaseNamespaceDeclaration(node, out var name, out _, out _); 576public static SyntaxNode GetNameOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 578syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var name); 582public static SyntaxNode GetOperandOfPostfixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 584syntaxFacts.GetPartsOfPostfixUnaryExpression(node, out var operand, out _); 588public static SyntaxNode GetOperandOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out _, out var operand); 594public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 600public static SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node) 606public static SyntaxNode GetTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node) 608syntaxFacts.GetPartsOfObjectCreationExpression(node, out _, out var type, out _, out _); 616public static bool IsExpressionOfAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 618var parent = node?.Parent; 625public static bool IsExpressionOfInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 627var parent = node?.Parent; 631syntaxFacts.GetPartsOfInvocationExpression(parent, out var expression, out _); 635public static bool IsExpressionOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 637var parent = node?.Parent; 641syntaxFacts.GetPartsOfMemberAccessExpression(parent, out var expression, out _); 645public static bool IsNameOfAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 650syntaxFacts.GetPartsOfAttribute(node.Parent, out var name, out _); 654public static bool IsRightOfQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 656var parent = node?.Parent; 660syntaxFacts.GetPartsOfQualifiedName(parent, out _, out _, out var right); 664public static bool IsRightOfAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 666var parent = node?.Parent; 670syntaxFacts.GetPartsOfAliasQualifiedName(parent, out _, out _, out var right); 674public static bool IsTypeOfObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 676var parent = node?.Parent; 680syntaxFacts.GetPartsOfObjectCreationExpression(parent, out _, out var type, out _, out _); 711public static bool IsSkippedTokensTrivia(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 751public static bool IsAliasQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 754public static bool IsGenericName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 757public static bool IsIdentifierName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 760public static bool IsQualifiedName(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 767public static bool IsTupleType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 774public static bool IsCharacterLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 777public static bool IsDefaultLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 780public static bool IsFalseLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 783public static bool IsNumericLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 786public static bool IsNullLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 789public static bool IsStringLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 792public static bool IsTrueLiteralExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 799public static bool IsArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 802public static bool IsAwaitExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 805public static bool IsBaseExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 808public static bool IsConditionalExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 811public static bool IsConditionalAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 814public static bool IsFieldExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 817public static bool IsImplicitArrayCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 820public static bool IsImplicitObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 823public static bool IsIndexExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 826public static bool IsInterpolatedStringExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 829public static bool IsInterpolation(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 832public static bool IsInterpolatedStringText(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 835public static bool IsInvocationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 838public static bool IsIsTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 841public static bool IsIsNotTypeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 844public static bool IsIsPatternExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 847public static bool IsLogicalAndExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 850public static bool IsLogicalOrExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 853public static bool IsLogicalNotExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 856public static bool IsObjectCreationExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 859public static bool IsParenthesizedExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 862public static bool IsQueryExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 865public static bool IsRangeExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 868public static bool IsRefExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 871public static bool IsSimpleMemberAccessExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 874public static bool IsSuppressNullableWarningExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 877public static bool IsThisExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 880public static bool IsThrowExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 883public static bool IsTupleExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 886public static bool ContainsGlobalStatement(this ISyntaxFacts syntaxFacts, SyntaxNode node) 893public static bool IsAndPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 896public static bool IsConstantPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 899public static bool IsDeclarationPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 902public static bool IsListPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 905public static bool IsNotPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 908public static bool IsOrPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 911public static bool IsParenthesizedPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 914public static bool IsRecursivePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 917public static bool IsRelationalPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 920public static bool IsTypePattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 923public static bool IsVarPattern(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 930public static bool IsExpressionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 933public static bool IsForEachStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 936public static bool IsForStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 939public static bool IsIfStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 942public static bool IsLocalDeclarationStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 945public static bool IsLocalFunctionStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 948public static bool IsLockStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 951public static bool IsReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 954public static bool IsThrowStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 957public static bool IsUsingStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 960public static bool IsWhileStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 963public static bool IsYieldReturnStatement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 970public static bool IsAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 973public static bool IsClassDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 976public static bool IsCollectionExpression(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 979public static bool IsConstructorDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 982public static bool IsEnumDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 985public static bool IsGlobalAttribute(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 988public static bool IsInterfaceDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 991public static bool IsParameter(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 994public static bool IsTypeConstraint(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 997public static bool IsVariableDeclarator(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1000public static bool IsFieldDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1003public static bool IsPropertyDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1006public static bool IsStructDeclaration(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1009public static bool IsTypeArgumentList(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1016public static bool IsElseClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1018public static bool IsEqualsValueClause(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1025public static bool IsExpressionElement(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1028public static bool IsImplicitElementAccess(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1031public static bool IsIndexerMemberCref(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node) 1034public static bool IsPrimaryConstructorBaseType(this ISyntaxFacts syntaxFacts, [NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AliasSymbolKey.cs (2)
59SemanticModel semanticModel, SyntaxNode syntaxNode, string name, ISymbol target, 88if (child.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.AnonymousFunctionOrDelegateSymbolKey.cs (2)
54var root = syntaxTree.GetRoot(reader.CancellationToken); 55var node = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BodyLevelSymbolKey.cs (6)
82var containerDeclaration = TryGetContainerDeclaration(container, syntaxTree, cancellationToken); 100private static SyntaxNode? TryGetContainerDeclaration(ISymbol container, SyntaxTree? syntaxTree, CancellationToken cancellationToken) 182var containerDeclaration = GetContainerDeclaration(firstSourceTree); 202SyntaxNode? GetContainerDeclaration(SyntaxTree? syntaxTree) 255SemanticModel semanticModel, SyntaxNode containerDeclaration, SymbolKind kind, string localName, CancellationToken cancellationToken) 261foreach (var node in containerDeclaration.DescendantNodes())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
727var node = location.FindNode(findInsideTrivia: true, getInnermostNodeForTie: true, CancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (38)
35where TExpressionSyntax : SyntaxNode 37where TAttributeSyntax : SyntaxNode 38where TArgumentSyntax : SyntaxNode 39where TForEachStatementSyntax : SyntaxNode 40where TThrowStatementSyntax : SyntaxNode 49private SyntaxNode? _lazySemanticRootOfReplacedExpression; 95protected abstract SyntaxNode GetSemanticRootForSpeculation(TExpressionSyntax expression); 96protected abstract SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel); 99protected abstract bool ExpressionMightReferenceMember([NotNullWhen(true)] SyntaxNode? node); 114protected abstract bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode); 116protected abstract bool IsParenthesizedExpression([NotNullWhen(true)] SyntaxNode? node); 128SyntaxNode ISpeculationAnalyzer.OriginalExpression => OriginalExpression; 136public SyntaxNode SemanticRootOfOriginalExpression 171SyntaxNode ISpeculationAnalyzer.ReplacedExpression => ReplacedExpression; 178public SyntaxNode SemanticRootOfReplacedExpression 201protected virtual SyntaxNode GetSemanticRootOfReplacedExpression(SyntaxNode semanticRootOfOriginalExpression, TExpressionSyntax annotatedReplacedExpression) 224protected abstract void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate); 231var nodeToSpeculate = this.SemanticRootOfReplacedExpression; 317protected bool SymbolsAreCompatible(SyntaxNode originalNode, SyntaxNode newNode, bool requireNonNullSymbols = false) 519protected bool ReplacementChangesSemantics(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode originalRoot, bool skipVerificationForCurrentNode) 527SyntaxNode? previousOriginalNode = null, previousReplacedNode = null; 571private bool ReplacementChangesSemanticsForNode(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode? previousOriginalNode, SyntaxNode? previousReplacedNode) 688var originalExpressionOfMemberAccess = syntaxFacts.GetExpressionOfMemberAccessExpression(originalExpression); 731private bool ReplacementBreaksSystemObjectMethodResolution(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, [NotNullWhen(true)] SyntaxNode? previousOriginalNode, [NotNullWhen(true)] SyntaxNode? previousReplacedNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AnnotationTable.cs (17)
75public TSyntaxNode WithAdditionalAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 87public TSyntaxNode WithoutAnnotations<TSyntaxNode>(TSyntaxNode node, params TAnnotation[] annotations) where TSyntaxNode : SyntaxNode 111public IEnumerable<TAnnotation> GetAnnotations(SyntaxNode node) 123public IEnumerable<TSpecificAnnotation> GetAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 135public bool HasAnnotations(SyntaxNode node) 147public bool HasAnnotations<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 159public bool HasAnnotation(SyntaxNode node, TAnnotation annotation) 171public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens(SyntaxNode node) 174public IEnumerable<SyntaxNode> GetAnnotatedNodes(SyntaxNode node) 177public IEnumerable<SyntaxToken> GetAnnotatedTokens(SyntaxNode node) 180public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia(SyntaxNode node) 183public IEnumerable<SyntaxNodeOrToken> GetAnnotatedNodesAndTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 186public IEnumerable<SyntaxNode> GetAnnotatedNodes<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 189public IEnumerable<SyntaxToken> GetAnnotatedTokens<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation 192public IEnumerable<SyntaxTrivia> GetAnnotatedTrivia<TSpecificAnnotation>(SyntaxNode node) where TSpecificAnnotation : TAnnotation
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (8)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans) 81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan) 127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken) 278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true); 320private static SyntaxNode? GetParentThatContainsGivenSpan(SyntaxNode? node, int position, bool forward) 357public static TextSpan GetFormattingSpan(SyntaxNode root, TextSpan span)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ISpeculationAnalyzer.cs (2)
13SyntaxNode OriginalExpression { get; } 19SyntaxNode ReplacedExpression { get; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (7)
26SeparatedSyntaxList<SyntaxNode> arguments, 93var argument = arguments[argumentIndex]; 122private bool IsCompatibleArgument(SyntaxNode argument, IParameterSymbol parameter) 127var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 200var argument = arguments[argumentIndex]; 201var expression = this.SyntaxFacts.GetExpressionOfArgument(argument); 251private static bool IsEmptyArgument(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SyntaxPath.cs (5)
56var parent = nodeOrToken.Parent; 91public bool TryResolve(SyntaxNode? root, out SyntaxNodeOrToken nodeOrToken) 137where TNode : SyntaxNode 142public bool TryResolve<TNode>(SyntaxNode? root, [NotNullWhen(true)] out TNode? node) 143where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IParameterSymbolExtensions.cs (3)
40var parameterSyntax = parameter.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 41var constructorSyntax = constructor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 71var constructorSyntax = constructorReference.GetSyntax(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (1)
648var declarationSyntax = symbol.DeclaringSyntaxReferences.Select(r => r.GetSyntax()).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\ForkingSyntaxEditorBasedCodeFixProvider.cs (4)
25where TDiagnosticNode : SyntaxNode 60var originalRoot = editor.OriginalRoot; 81var currentRoot = semanticDocument.Root; 98var changedRoot = subEditor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (4)
101var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 102var newRoot = FixAll(fixAllContext.Solution.Services, root, commonSpans); 114private SyntaxNode FixAll(SolutionServices services, SyntaxNode root, PooledHashSet<TextSpan> commonSpans)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
83var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 88var newRoot = editor.GetChangedRoot();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (6)
35var decl = await GetContainingMemberOrTypeDeclarationAsync(document, fixAllInContainingMember, span, cancellationToken).ConfigureAwait(false); 55var root = await syntaxRef.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 72private static async Task<SyntaxNode?> GetContainingMemberOrTypeDeclarationAsync( 78var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 81var startContainer = fixAllInContainingMember 94var endContainer = fixAllInContainingMember
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (22)
20protected abstract IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken); 22private IList<bool>? GetAvailableInsertionIndices<TDeclarationNode>(TDeclarationNode destination, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 23=> GetAvailableInsertionIndices((SyntaxNode)destination, cancellationToken); 34protected static SyntaxToken GetEndToken(SyntaxNode node) 50protected static TextSpan GetSpan(SyntaxNode node) 58public bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken) 61public bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken) 65SyntaxNode? destination, 144public SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration( 154private (SyntaxNode? declaration, IList<bool>? availableIndices) FindMostRelevantDeclaration( 166using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var ancestors); 168var fallbackDeclaration = (SyntaxNode?)null; 172ancestors.AddRange(token.GetAncestors<SyntaxNode>()); 177if (TryAddToRelatedDeclaration(declarations.Where(d => d is not ICompilationUnitSyntax), checkGeneratedCode: false, out var declaration1, out var availableIndices1) || 185if (TryAddToWorker(declarations, checkGeneratedCode: true, out var declaration2, out var availableIndices2, predicate: node => true)) 191IEnumerable<SyntaxNode> declarations, 193[NotNullWhen(true)] out SyntaxNode? declaration, 231IEnumerable<SyntaxNode> declarations, 233[NotNullWhen(true)] out SyntaxNode? declaration, 235Func<SyntaxNode, bool> predicate) 237foreach (var decl in declarations)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (83)
47public TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 50public TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 53public TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 56public TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 59public TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 66where TDeclarationNode : SyntaxNode 69private static TNode WithAnnotations<TNode>(TNode node, CodeGenerationContextInfo info) where TNode : SyntaxNode 76public SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 79public SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 82public SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 85public SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 88public SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 94public TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 100public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 103public TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 109public TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 112public TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 115public TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 118public TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 123protected abstract TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 124protected abstract TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 125protected abstract TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 126protected abstract TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 127protected abstract TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 129protected abstract TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) where TDeclarationNode : SyntaxNode; 131public abstract TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<IParameterSymbol> parameters, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 133public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 134public abstract TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 135public abstract TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 138public abstract TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 139public abstract TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 140public abstract TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 142public abstract CodeGenerationDestination GetDestination(SyntaxNode node); 143public abstract SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 144public abstract SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 147public abstract SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 149public abstract SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 150public abstract SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 156protected static void CheckDeclarationNode<TDeclarationNode>(SyntaxNode destination) where TDeclarationNode : SyntaxNode 171protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2>(SyntaxNode destination) 172where TDeclarationNode1 : SyntaxNode 173where TDeclarationNode2 : SyntaxNode 190protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3>(SyntaxNode destination) 191where TDeclarationNode1 : SyntaxNode 192where TDeclarationNode2 : SyntaxNode 193where TDeclarationNode3 : SyntaxNode 211protected static void CheckDeclarationNode<TDeclarationNode1, TDeclarationNode2, TDeclarationNode3, TDeclarationNode4>(SyntaxNode destination) 212where TDeclarationNode1 : SyntaxNode 213where TDeclarationNode2 : SyntaxNode 214where TDeclarationNode3 : SyntaxNode 215where TDeclarationNode4 : SyntaxNode 232Func<SyntaxNode, TCodeGenerationContextInfo, IList<bool>?, CancellationToken, SyntaxNode> declarationTransform, 247var transformedDeclaration = declarationTransform(destinationDeclaration, info, availableIndices, cancellationToken); 249var root = await destinationTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 250var currentRoot = root.ReplaceNode(destinationDeclaration, transformedDeclaration); 275where TDeclarationNode : SyntaxNode 297where TDeclarationSyntax : SyntaxNode 299var newMembers = new List<SyntaxNode>(); 304var newMember = GetNewMember(info, codeGenerationDestination, member, cancellationToken); 329where TDeclarationSyntax : SyntaxNode 342private SyntaxNode? GetNewMember(TCodeGenerationContextInfo info, CodeGenerationDestination codeGenerationDestination, ISymbol member, CancellationToken cancellationToken) 359CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 379protected abstract IComparer<SyntaxNode> GetMemberComparer(); 481protected static void CheckLocation(SyntaxNode destinationMember, [NotNull] Location? location) 500SyntaxNode attributeList, 520SyntaxNode attributeToRemove, 526var root = attributeToRemove.SyntaxTree.GetRoot(); 535where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (8)
14protected abstract SyntaxNode CreateExplicitlyCastedLiteralValue(INamedTypeSymbol enumType, SpecialType underlyingSpecialType, object constantValue); 19public SyntaxNode CreateEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 60private SyntaxNode CreateFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue) 70private SyntaxNode CreateFlagsEnumConstantValue( 102SyntaxNode? finalNode = null; 106var node = CreateMemberAccessExpression(field.field, enumType, underlyingSpecialType); 136private SyntaxNode CreateMemberAccessExpression( 184private SyntaxNode CreateNonFlagsEnumConstantValue(INamedTypeSymbol enumType, object constantValue)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (9)
19public static SyntaxNode? GenerateThrowStatement( 33var exceptionCreationExpression = factory.ObjectCreationExpression(exceptionType, arguments: []); 38public static TSyntaxNode? AddAnnotationsTo<TSyntaxNode>(ISymbol symbol, TSyntaxNode? syntax) where TSyntaxNode : SyntaxNode 43public static TSyntaxNode AddFormatterAndCodeGeneratorAnnotationsTo<TSyntaxNode>(TSyntaxNode node) where TSyntaxNode : SyntaxNode 172public static T RemoveLeadingDirectiveTrivia<T>(T node) where T : SyntaxNode 179where T : SyntaxNode 198where TDeclaration : SyntaxNode 303where TDeclarationSyntax : SyntaxNode 328where TDeclarationSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (18)
55SyntaxNode? initializer = null) 81bool isIndexer = false, SyntaxNode? initializer = null) 109SyntaxNode? initializer = null) 125ImmutableArray<SyntaxNode> statements = default, 126ImmutableArray<SyntaxNode> baseConstructorArguments = default, 127ImmutableArray<SyntaxNode> thisConstructorArguments = default, 140ImmutableArray<SyntaxNode> statements = default) 158ImmutableArray<SyntaxNode> statements = default, 159ImmutableArray<SyntaxNode> handlesExpressions = default, 179ImmutableArray<SyntaxNode> statements = default, 180ImmutableArray<SyntaxNode> handlesExpressions = default, 198ImmutableArray<SyntaxNode> statements = default, 224ImmutableArray<SyntaxNode> statements = default, 252ImmutableArray<SyntaxNode> statements = default, 361ImmutableArray<SyntaxNode> statements = default) 385ImmutableArray<SyntaxNode> statements) 518ImmutableArray<SyntaxNode> statements = default, 551SyntaxNode? initializer = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (27)
22SyntaxNode CreateEventDeclaration(IEventSymbol @event, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 27SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 33SyntaxNode? CreateMethodDeclaration(IMethodSymbol method, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 38SyntaxNode CreatePropertyDeclaration(IPropertySymbol property, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 43SyntaxNode CreateNamedTypeDeclaration(INamedTypeSymbol namedType, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 53TDeclarationNode AddEvent<TDeclarationNode>(TDeclarationNode destination, IEventSymbol @event, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 58TDeclarationNode AddField<TDeclarationNode>(TDeclarationNode destination, IFieldSymbol field, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 63TDeclarationNode AddMethod<TDeclarationNode>(TDeclarationNode destination, IMethodSymbol method, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 68TDeclarationNode AddProperty<TDeclarationNode>(TDeclarationNode destination, IPropertySymbol property, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 73TDeclarationNode AddNamedType<TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 83TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<ISymbol> members, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 88TDeclarationNode AddParameters<TDeclarationNode>(TDeclarationNode destination, IEnumerable<IParameterSymbol> parameters, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 93TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 98TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, SyntaxNode attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 103TDeclarationNode RemoveAttribute<TDeclarationNode>(TDeclarationNode destination, AttributeData attributeToRemove, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 108TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 113TDeclarationNode UpdateDeclarationAccessibility<TDeclarationNode>(TDeclarationNode declaration, Accessibility newAccessibility, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 118TDeclarationNode UpdateDeclarationType<TDeclarationNode>(TDeclarationNode declaration, ITypeSymbol newType, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 123TDeclarationNode UpdateDeclarationMembers<TDeclarationNode>(TDeclarationNode declaration, IList<ISymbol> newMembers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 128TDeclarationNode AddStatements<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> statements, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 188bool CanAddTo(SyntaxNode destination, Solution solution, CancellationToken cancellationToken); 193bool CanAddTo(SyntaxNode destination, Solution solution, CodeGenerationContext context, CancellationToken cancellationToken); 201SyntaxNode? FindMostRelevantNameSpaceOrTypeDeclaration(Solution solution, INamespaceOrTypeSymbol namespaceOrType, Location? location, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationConstructorInfo.cs (15)
17private readonly ImmutableArray<SyntaxNode> _baseConstructorArguments; 18private readonly ImmutableArray<SyntaxNode> _thisConstructorArguments; 19private readonly ImmutableArray<SyntaxNode> _statements; 25ImmutableArray<SyntaxNode> statements, 26ImmutableArray<SyntaxNode> baseConstructorArguments, 27ImmutableArray<SyntaxNode> thisConstructorArguments) 42ImmutableArray<SyntaxNode> statements, 43ImmutableArray<SyntaxNode> baseConstructorArguments, 44ImmutableArray<SyntaxNode> thisConstructorArguments) 56public static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(IMethodSymbol constructor) 59public static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(IMethodSymbol constructor) 62public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol constructor) 74private static ImmutableArray<SyntaxNode> GetThisConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 77private static ImmutableArray<SyntaxNode> GetBaseConstructorArgumentsOpt(CodeGenerationConstructorInfo? info) 80private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationConstructorInfo? info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationDestructorInfo.cs (5)
17private readonly ImmutableArray<SyntaxNode> _statements; 21ImmutableArray<SyntaxNode> statements) 30ImmutableArray<SyntaxNode> statements) 42public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol destructor) 48private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationDestructorInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationFieldInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 57private static SyntaxNode GetInitializer(CodeGenerationFieldInfo info) 60public static SyntaxNode GetInitializer(IFieldSymbol field)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationMethodInfo.cs (10)
20private readonly ImmutableArray<SyntaxNode> _statements; 21private readonly ImmutableArray<SyntaxNode> _handlesExpressions; 28ImmutableArray<SyntaxNode> statements, 29ImmutableArray<SyntaxNode> handlesExpressions) 45ImmutableArray<SyntaxNode> statements, 46ImmutableArray<SyntaxNode> handlesExpressions) 58public static ImmutableArray<SyntaxNode> GetStatements(IMethodSymbol method) 61public static ImmutableArray<SyntaxNode> GetHandlesExpressions(IMethodSymbol method) 76private static ImmutableArray<SyntaxNode> GetStatements(CodeGenerationMethodInfo info) 79private static ImmutableArray<SyntaxNode> GetHandlesExpressions(CodeGenerationMethodInfo info)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationPropertyInfo.cs (5)
17private readonly SyntaxNode _initializer; 22SyntaxNode initializer) 33SyntaxNode initializer) 45public static SyntaxNode GetInitializer(CodeGenerationPropertyInfo info) 48public static SyntaxNode GetInitializer(IPropertySymbol property)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
148public static ImmutableArray<SyntaxNode> DeclaringSyntaxNodes
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\AbstractRefactoringHelpersService.cs (25)
15where TExpressionSyntax : SyntaxNode 16where TArgumentSyntax : SyntaxNode 17where TExpressionStatementSyntax : SyntaxNode 21public bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 24public void AddRelevantNodes<TSyntaxNode>(SourceText sourceText, SyntaxNode root, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 27public bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 30public bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 33public bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 36public bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 39public bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 42public bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 45public bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 48public bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 51public bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringContextExtensions.cs (12)
41public static Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 44public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNode) where TSyntaxNode : SyntaxNode 50public static Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context) where TSyntaxNode : SyntaxNode 53public static async Task<ImmutableArray<TSyntaxNode>> GetRelevantNodesAsync<TSyntaxNode>(this CodeRefactoringContext context, bool allowEmptyNodes) where TSyntaxNode : SyntaxNode 59public static async Task<TSyntaxNode?> TryGetRelevantNodeAsync<TSyntaxNode>(this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 65public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 68public static TSyntaxNode? TryGetRelevantNode<TSyntaxNode>(this ParsedDocument document, TextSpan span, bool allowEmptyNode, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 76this Document document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 82this Document document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 89this ParsedDocument document, TextSpan span, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 93this ParsedDocument document, TextSpan span, bool allowEmptyNodes, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode 102this ParsedDocument document, TextSpan span, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (3)
38public static bool IsNodeUnderselected(SyntaxNode? node, TextSpan selection) 81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\IRefactoringHelpersService.cs (1)
20this IRefactoringHelpersService service, ParsedDocument document, TextSpan selection, bool allowEmptyNodes, int maxCount, ref TemporaryArray<TSyntaxNode> result, CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\AddParameterEditor.cs (10)
20SyntaxNode declaration, 22SyntaxNode parameterDeclaration, 54var firstParameter = existingParameters[0]; 66var nextParameter = existingParameters[insertionIndex]; 91var nextParameter = existingParameters[insertionIndex]; 108var nextParameter = existingParameters[insertionIndex]; 122ISyntaxFacts syntaxFacts, SyntaxNode node, bool includeLeadingNewLine) 152IReadOnlyList<SyntaxNode> parameters, CancellationToken cancellationToken) 162var lastParameter = parameters[i - 1]; 163var thisParameter = parameters[i];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (23)
37var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length); 73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 77SyntaxNode container, 95SyntaxNode container, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 111IEnumerable<SyntaxNode> syntaxNodes, 117using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var importsToAdd); 118using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var nodesToSimplify); 120var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 139var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 159var first = root.DescendantNodesAndSelf().First(x => x.HasAnnotation(annotation)); 160var last = root.DescendantNodesAndSelf().Last(x => x.HasAnnotation(annotation)); 162var context = first.GetCommonRoot(last); 172IEnumerable<SyntaxNode> annotatedNodes, 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 180var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 188SyntaxNode? first = null, last = null; 190foreach (var annotatedNode in annotatedNodes) 218var namespaceSyntax = GenerateNamespaceImportDeclaration(namespaceSymbol, generator); 233var context = first.GetCommonRoot(last); 236var importContainer = addImportsService.GetImportContainer(root, context, importToSyntax.First().Value, options); 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (5)
74public static async ValueTask<SyntaxNode> GetRequiredSyntaxRootAsync(this Document document, CancellationToken cancellationToken) 76if (document.TryGetSyntaxRoot(out var root)) 146var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span)); 167public static ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(this Document document, SyntaxNode? node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ITypeInferenceServiceExtensions.cs (5)
15public static ImmutableArray<ITypeSymbol> InferTypes(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 24public static ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(this ITypeInferenceService service, SemanticModel semanticModel, SyntaxNode expression, CancellationToken cancellationToken) 30SyntaxNode expression, 56SyntaxNode expression, 68SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\StringBuilderExtensions.cs (1)
22where TNode : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxEditorExtensions.cs (29)
31Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 32CancellationToken cancellationToken) where TNode : SyntaxNode 54Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 55CancellationToken cancellationToken) where TNode : SyntaxNode 76Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 77CancellationToken cancellationToken) where TNode : SyntaxNode 98Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 99CancellationToken cancellationToken) where TNode : SyntaxNode 120Func<SemanticModel, SyntaxNode, TNode, SyntaxNode> updateRoot, 121CancellationToken cancellationToken) where TNode : SyntaxNode 154Func<ISyntaxFactsService, SyntaxNode, SyntaxNode> getSemanticBoundary, 156Func<SemanticModel, SyntaxNode, TType, TNode, SyntaxNode> updateRoot, 157CancellationToken cancellationToken) where TNode : SyntaxNode 170var originalRoot = editor.OriginalRoot; 173var currentRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 183var replacementRoot = updateRoot(semanticModel, currentRoot, instance, currentNode); 195private static SyntaxNode GetExpressionSemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 202return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>( 210private static SyntaxNode GetMethodBodySemanticBoundary(ISyntaxFactsService syntaxFacts, SyntaxNode node) 212return node.FirstAncestorOrSelf<SyntaxNode, ISyntaxFactsService>(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (22)
48public static IMethodSymbol CreateEqualsMethod(this Compilation compilation, ImmutableArray<SyntaxNode> statements) 56ImmutableArray<SyntaxNode> statements) 120private static ImmutableArray<SyntaxNode> CreateEqualsMethodStatements( 135using var statements = TemporaryArray<SyntaxNode>.Empty; 144var localNameExpression = factory.IdentifierName(localName); 145var objNameExpression = factory.IdentifierName(ObjName); 149using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 178var ifStatement = factory.IfStatement( 189var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 201var localDeclaration = factory.SimpleLocalDeclarationStatement(generatorInternal, 240ImmutableArray<ISymbol> members, SyntaxNode localNameExpression, 241ArrayBuilder<SyntaxNode> expressions) 251var symbolNameExpression = factory.IdentifierName(member.Name); 252var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(), symbolNameExpression) 254var otherSymbol = factory.MemberAccessExpression(localNameExpression, symbolNameExpression); 291private static ImmutableArray<SyntaxNode> CreateIEquatableEqualsMethodStatements( 299var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 301var otherNameExpression = factory.IdentifierName(OtherName); 305using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var expressions); 343SyntaxGenerator factory, SyntaxGeneratorInternal generatorInternal, Compilation compilation, ParseOptions parseOptions, SyntaxNode otherNameExpression, ArrayBuilder<SyntaxNode> expressions) 345var nullLiteral = factory.NullLiteralExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateGetHashCodeMethod.cs (20)
17public static ImmutableArray<SyntaxNode> GetGetHashCodeComponents( 25var result = ArrayBuilder<SyntaxNode>.GetInstance(); 41public static ImmutableArray<SyntaxNode> CreateGetHashCodeStatementsUsingSystemHashCode( 43INamedTypeSymbol hashCodeType, ImmutableArray<SyntaxNode> memberReferences) 47var statement = factory.ReturnStatement( 55var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 59var localReference = factory.IdentifierName(hashName); 60foreach (var member in memberReferences) 79public static ImmutableArray<SyntaxNode> CreateGetHashCodeMethodStatements( 128var statements = ArrayBuilder<SyntaxNode>.GetInstance(); 139var hashCodeNameExpression = factory.IdentifierName(HashCodeName); 142var permuteValue = CreateLiteralExpression(factory, hashFactor); 143foreach (var component in components) 146var rightSide = 178private static SyntaxNode SimpleLocalDeclarationStatement( 180string name, SyntaxNode initializer) 187private static SyntaxNode CreateLiteralExpression(SyntaxGenerator factory, int value) 217private static SyntaxNode GetMemberForGetHashCode( 224var getHashCodeNameExpression = factory.IdentifierName(GetHashCodeName); 225var thisSymbol = factory.MemberAccessExpression(factory.ThisExpression(),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (58)
33public static SyntaxNode Negate( 36SyntaxNode expression, 43public static SyntaxNode Negate( 46SyntaxNode expressionOrPattern, 54public static SyntaxNode Negate( 57SyntaxNode expressionOrPattern, 114syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 124syntaxFacts.GetPartsOfAnyIsTypeExpression(expressionOrPattern, out var expression, out var type); 136private static SyntaxNode GetNegationOfBinaryExpression( 137SyntaxNode expressionNode, 144syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand); 172var newBinaryExpressionSyntax = negatedKind is BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals 190SyntaxNode innerPattern; 199var typeExpression = generatorInternal.Type(isTypeOperation.TypeOperand, typeContext: false); 228private static SyntaxNode GetNegationOfBinaryPattern( 229SyntaxNode pattern, 241syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right); 243var newLeft = generator.Negate(generatorInternal, left, semanticModel, cancellationToken); 244var newRight = generator.Negate(generatorInternal, right, semanticModel, cancellationToken); 246var newPattern = 258private static SyntaxNode GetNegationOfIsPatternExpression(SyntaxNode isExpression, SyntaxGenerator generator, SyntaxGeneratorInternal generatorInternal, SemanticModel semanticModel, CancellationToken cancellationToken) 263syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern); 265SyntaxNode? negatedPattern = null; 287var type = syntaxFacts.GetTypeOfTypePattern(negatedPattern); 300private static SyntaxNode GetNegationOfRelationalPattern( 301SyntaxNode expressionNode, 312syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression); 327private static bool IsLegalPattern(ISyntaxFacts syntaxFacts, SyntaxNode pattern, bool designatorsLegal) 332syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out _, out var right); 342syntaxFacts.GetPartsOfUnaryPattern(pattern, out _, out var subPattern); 354syntaxFacts.GetPartsOfParenthesizedPattern(pattern, out _, out var subPattern, out _); 360syntaxFacts.GetPartsOfDeclarationPattern(pattern, out _, out var designator); 366syntaxFacts.GetPartsOfRecursivePattern(pattern, out _, out _, out _, out var designator); 376private static SyntaxNode NegateRelational( 379SyntaxNode leftOperand, 381SyntaxNode rightOperand) 467private static SyntaxNode GetNegationOfLiteralExpression( 468SyntaxNode expression, 476SyntaxNode newLiteralExpression; 497private static SyntaxNode GetNegationOfConstantPattern( 498SyntaxNode pattern, 510var expression = syntaxFacts.GetExpressionOfConstantPattern(pattern); 522private static SyntaxNode GetNegationOfLogicalNotExpression( 523SyntaxNode expression, 527var operand = syntaxFacts.GetOperandOfPrefixUnaryExpression(expression); 533private static SyntaxNode GetNegationOfUnaryPattern( 534SyntaxNode pattern, 550private static SyntaxNode GetNegationOfNotPattern( 551SyntaxNode pattern, 558syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern); 564var type = syntaxFacts.GetTypeOfTypePattern(subPattern);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (47)
23public static SyntaxNode CreateThrowNotImplementedStatement( 30public static SyntaxNode CreateThrowNotImplementedExpression( 37private static SyntaxNode CreateNewNotImplementedException(SyntaxGenerator codeDefinitionFactory, Compilation compilation) 39var notImplementedExceptionTypeSyntax = compilation.NotImplementedExceptionType() is INamedTypeSymbol symbol 48public static ImmutableArray<SyntaxNode> CreateThrowNotImplementedStatementBlock( 52public static ImmutableArray<SyntaxNode> CreateArguments( 59private static SyntaxNode CreateArgument( 66public static SyntaxNode GetDefaultEqualityComparer( 73var typeExpression = equalityComparerType == null 88public static SyntaxNode IsPatternExpression(this SyntaxGeneratorInternal generator, SyntaxNode expression, SyntaxNode pattern) 94public static SyntaxNode GenerateDelegateThroughMemberStatement( 97var through = generator.MemberAccessExpression( 103var invocationExpression = generator.InvocationExpression(through, generator.CreateArguments(method.Parameters)); 109public static SyntaxNode CreateDelegateThroughExpression( 112var name = generator.IdentifierName(throughMember.Name); 113var through = throughMember.IsStatic 159var explicitImplementationCast = generator.CastExpression( 174static SyntaxNode GenerateContainerName(SyntaxGenerator factory, ISymbol throughMember) 183public static ImmutableArray<SyntaxNode> GetGetAccessorStatements( 193var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 194var expression = property.IsIndexer 222public static ImmutableArray<SyntaxNode> GetSetAccessorStatements( 232var throughExpression = CreateDelegateThroughExpression(generator, property, throughMember); 233var expression = property.IsIndexer 335public static ImmutableArray<SyntaxNode> CreateAssignmentStatements( 345using var _1 = ArrayBuilder<SyntaxNode>.GetInstance(out var nullCheckStatements); 346using var _2 = ArrayBuilder<SyntaxNode>.GetInstance(out var assignStatements); 358var assignExpression = factory.AssignmentStatement( 361var statement = factory.ExpressionStatement(assignExpression); 371var fieldAccess = factory.MemberAccessExpression(factory.ThisExpression(), factory.IdentifierName(fieldName)) 391SyntaxNode fieldAccess, 394ArrayBuilder<SyntaxNode> nullCheckStatements, 395ArrayBuilder<SyntaxNode> assignStatements) 426public static SyntaxNode CreateAssignWithNullCheckStatement( 427this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter, SyntaxNode fieldAccess) 436public static SyntaxNode CreateThrowArgumentNullExpression(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 439private static SyntaxNode CreateNewArgumentNullException(SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter) 448public static SyntaxNode CreateNullCheckAndThrowStatement( 454var condition = factory.CreateNullCheckExpression(generatorInternal, semanticModel, parameter.Name); 455var throwStatement = factory.CreateThrowArgumentNullExceptionStatement(semanticModel.Compilation, parameter); 460public static SyntaxNode CreateNullCheckExpression( 463var identifier = factory.IdentifierName(identifierName); 464var nullExpr = factory.NullLiteralExpression(); 465var condition = generatorInternal.SupportsPatterns(semanticModel.SyntaxTree.Options) 471public static SyntaxNode CreateThrowArgumentNullExceptionStatement(this SyntaxGenerator factory, Compilation compilation, IParameterSymbol parameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\FormatterShared.cs (6)
26var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 30public SyntaxNode Format(SyntaxNode node, SyntaxAnnotation annotation, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 33public SyntaxNode Format(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken) 36public IFormattingResult GetFormattingResult(SyntaxNode node, IEnumerable<TextSpan>? spans, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> rules, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\AbstractIndentationService.cs (1)
14where TSyntaxRoot : SyntaxNode, ICompilationUnitSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Indentation\IIndentationService.cs (1)
52var newRoot = document.Root.ReplaceToken(token, newToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AbstractAddImportsService.cs (65)
19where TCompilationUnitSyntax : SyntaxNode 20where TNamespaceDeclarationSyntax : SyntaxNode 21where TUsingOrAliasSyntax : SyntaxNode 22where TExternSyntax : SyntaxNode 25protected abstract SyntaxNode? GetAlias(TUsingOrAliasSyntax usingOrAlias); 26protected abstract ImmutableArray<SyntaxNode> GetGlobalImports(SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken); 27protected abstract SyntaxList<TUsingOrAliasSyntax> GetUsingsAndAliases(SyntaxNode node); 28protected abstract SyntaxList<TExternSyntax> GetExterns(SyntaxNode node); 43private bool HasAliases(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsAlias); 44private bool HasUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsSimpleUsing); 45private bool HasStaticUsings(SyntaxNode node) => GetUsingsAndAliases(node).Any(IsStaticUsing); 46private bool HasExterns(SyntaxNode node) => GetExterns(node).Any(); 47private bool HasAnyImports(SyntaxNode node) => GetUsingsAndAliases(node).Any() || GetExterns(node).Any(); 51SyntaxNode root, 52SyntaxNode? contextLocation, 53SyntaxNode import, 62private static ImmutableArray<SyntaxNode> GetAllContainers(SyntaxNode root, SyntaxNode? contextLocation) 66var applicableContainer = GetFirstApplicableContainer(contextLocation); 67return [.. applicableContainer.GetAncestorsOrThis<SyntaxNode>()]; 71SyntaxNode import, ImmutableArray<SyntaxNode> containers, ImmutableArray<SyntaxNode> globalImports) 73foreach (var node in containers) 86foreach (var node in globalImports) 97protected abstract bool IsEquivalentImport(SyntaxNode a, SyntaxNode b); 99public SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options) 103out var externContainer, out var usingContainer, out var staticUsingContainer, out var aliasContainer); 126public SyntaxNode AddImports( 128SyntaxNode root, 129SyntaxNode? contextLocation, 130IEnumerable<SyntaxNode> newImports, 147out var externContainer, out var usingContainer, out var aliasContainer, out var staticUsingContainer); 149var newRoot = Rewrite( 157protected abstract SyntaxNode Rewrite( 159SyntaxNode externContainer, SyntaxNode usingContainer, SyntaxNode staticUsingContainer, SyntaxNode aliasContainer, 160AddImportPlacementOptions options, SyntaxNode root, CancellationToken cancellationToken); 162private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, AddImportPlacementOptions options, out SyntaxNode externContainer, out SyntaxNode usingContainer, out SyntaxNode staticUsingContainer, out SyntaxNode aliasContainer) 164var applicableContainer = GetFirstApplicableContainer(contextLocation); 165var contextSpine = applicableContainer.GetAncestorsOrThis<SyntaxNode>().ToImmutableArray(); 170var fallbackNode = contextSpine.FirstOrDefault(HasAnyImports); 190private static SyntaxNode? GetFirstApplicableContainer(SyntaxNode contextNode) 194var node = usingDirective != null ? usingDirective.Parent! : contextNode; 196(SyntaxNode?)node.GetAncestorOrThis<TCompilationUnitSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\AddImportHelpers.cs (2)
20where TRootSyntax : SyntaxNode 21where TImportDirectiveSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\AddImports\IAddImportsService.cs (15)
23SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 24SyntaxNode import, SyntaxGenerator generator, CancellationToken cancellationToken); 30SyntaxNode GetImportContainer(SyntaxNode root, SyntaxNode? contextLocation, SyntaxNode import, AddImportPlacementOptions options); 32SyntaxNode AddImports( 33SemanticModel semanticModel, SyntaxNode root, SyntaxNode? contextLocation, 34IEnumerable<SyntaxNode> newImports, SyntaxGenerator generator, AddImportPlacementOptions options, CancellationToken cancellationToken); 39public static SyntaxNode AddImport( 40this IAddImportsService service, SemanticModel semanticModel, SyntaxNode root, 41SyntaxNode contextLocation, SyntaxNode newImport, SyntaxGenerator generator, AddImportPlacementOptions options,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\IInitializeParameterService.cs (4)
19SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, SyntaxNode statement); 25SyntaxNode functionDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (37)
40SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 48SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 56SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 64SemanticModel semanticModel, SyntaxNode location, SyntaxNode? containerOpt, 73SyntaxNode location, 74SyntaxNode? containerOpt, 82var container = containerOpt ?? location.AncestorsAndSelf().FirstOrDefault( 96protected virtual IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 180public bool IsWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 183public bool IsOnlyWrittenTo(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 186public bool IsInOutContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 189public bool IsInRefContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 192public bool IsInInContext(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 195public bool CanReplaceWithRValue(SemanticModel semanticModel, SyntaxNode? expression, CancellationToken cancellationToken) 204public bool TryGetSpeculativeSemanticModel(SemanticModel oldSemanticModel, SyntaxNode oldNode, SyntaxNode newNode, [NotNullWhen(true)] out SemanticModel? speculativeModel) 210public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode forEachStatement) 213public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 216public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 219public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 222public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 228public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 231public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 234public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 237public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 240public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argumentNode, CancellationToken cancellationToken) 243public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 246public bool IsInsideNameOfExpression(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken) 252public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol? expressionTypeOpt, CancellationToken cancellationToken) 255public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 258public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 264public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\ISemanticFactsService.cs (11)
27SemanticModel semanticModel, SyntaxNode location, 28SyntaxNode? container, string baseName, CancellationToken cancellationToken); 31SemanticModel semanticModel, SyntaxNode location, 32SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 34SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, string baseName, 38SemanticModel semanticModel, SyntaxNode location, 39SyntaxNode? container, string baseName, CancellationToken cancellationToken); 42SemanticModel semanticModel, SyntaxNode location, 43SyntaxNode? container, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken); 47IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxFactsService\ISyntaxFactsService.cs (4)
18Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree syntaxTree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken); 26SyntaxNode root, TContextNode contextNode, 27out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.cs (2)
91SemanticModel semanticModel, SyntaxNode expression, 110SemanticModel semanticModel, SyntaxNode expression,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\ITypeInferenceService.cs (2)
27ImmutableArray<ITypeSymbol> InferTypes(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken); 31ImmutableArray<TypeInferenceInfo> GetTypeInferenceInfo(SemanticModel semanticModel, SyntaxNode expression, string? nameOpt, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (20)
22where TMemberDeclarationSyntax : SyntaxNode 24where TAccessorDeclarationSyntax : SyntaxNode 32public abstract SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 34protected abstract SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode); 49public async Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken) 66var previousRoot = await previousSemanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 67var currentRoot = await currentBodyNode.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 68var previousBodyNode = GetPreviousBodyNode(previousRoot, currentRoot, currentBodyNode); 90protected SyntaxNode? GetPreviousBodyNode(SyntaxNode previousRoot, SyntaxNode currentRoot, SyntaxNode currentBodyNode) 98var previousContainer = GetPreviousBodyNode(previousRoot, currentRoot, currentContainer); 124var previousNode = previousRoot; 136var childAsNode = children[childIndex].AsNode(); 150private static void GetNodeChildIndexPathToRootReversed(SyntaxNode node, ArrayBuilder<int> path) 152var current = node; 153var parent = current.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseLanguageService.cs (3)
22SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node); 36Task<SemanticModel?> TryGetSpeculativeSemanticModelAsync(SemanticModel previousSemanticModel, SyntaxNode currentBodyNode, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\ISemanticModelReuseWorkspaceService.cs (2)
19/// Don't call this directly. use <see cref="DocumentExtensions.ReuseExistingSpeculativeModelAsync(Document, SyntaxNode, CancellationToken)"/> (or an overload). 21ValueTask<SemanticModel> ReuseExistingSpeculativeModelAsync(Document document, SyntaxNode node, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (30)
30where TCompilationUnitSyntax : SyntaxNode 31where TExpressionSyntax : SyntaxNode 32where TStatementSyntax : SyntaxNode 33where TCrefSyntax : SyntaxNode 35protected static readonly Func<SyntaxNode, bool> s_containsAnnotations = n => n.ContainsAnnotations; 40protected abstract ImmutableArray<NodeOrTokenToReduce> GetNodesAndTokensToReduce(SyntaxNode root, Func<SyntaxNodeOrToken, bool> isNodeOrTokenOutsideSimplifySpans); 41protected abstract SemanticModel GetSpeculativeSemanticModel(ref SyntaxNode nodeToSpeculate, SemanticModel originalSemanticModel, SyntaxNode originalNode); 42protected abstract bool NodeRequiresNonSpeculativeSemanticModel(SyntaxNode node); 43protected abstract void AddImportDeclarations(TCompilationUnitSyntax root, ArrayBuilder<SyntaxNode> importDeclarations); 48protected virtual SyntaxNode TransformReducedNode(SyntaxNode reducedNode, SyntaxNode originalNode) 51public abstract SyntaxNode Expand(SyntaxNode node, SemanticModel semanticModel, SyntaxAnnotation? annotationForReplacedAliasIdentifier, Func<SyntaxNode, bool>? expandInsideNode, bool expandParameter, CancellationToken cancellationToken); 52public abstract SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken); 115var reducedNodesMap = new ConcurrentDictionary<SyntaxNode, SyntaxNode>(); 152SyntaxNode root, 156ConcurrentDictionary<SyntaxNode, SyntaxNode> reducedNodesMap, 218var replacedParent = isNode 232var currentNode = currentNodeOrToken.AsNode()!; 237var newRoot = root.ReplaceNode(nodeOrToken.AsNode()!, currentNode.WithAdditionalAnnotations(marker)); 285using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var importDeclarations); 300var root = await model.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 302var unusedImports = new HashSet<SyntaxNode>(); 311var newRoot = gen.RemoveNodes(root, unusedImports); 320protected abstract void GetUnusedNamespaceImports(SemanticModel model, HashSet<SyntaxNode> namespaceImports, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\ISimplificationService.cs (4)
16SyntaxNode Expand( 17SyntaxNode node, 20Func<SyntaxNode, bool>? expandInsideNode, 27Func<SyntaxNode, bool>? expandInsideNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\SimplificationHelpers.cs (4)
17public static TNode CopyAnnotations<TNode>(SyntaxNode from, TNode to) where TNode : SyntaxNode 63public static ISymbol? GetOriginalSymbolInfo(SemanticModel semanticModel, SyntaxNode expression) 99public static bool IsNamespaceOrTypeOrThisParameter(SyntaxNode expression, SemanticModel semanticModel)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
18where TExpressionSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\Simplifiers\AbstractSimplifier.cs (2)
12where TSyntax : SyntaxNode 13where TSimplifiedSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (2)
26SyntaxNode declarationSyntax, 111var syntax = variableDeclarator.GetVariableInitializer()!.Value.Syntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (4)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices) 34var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 49var root = SyntaxTree.WithChangedText(text).GetRoot(cancellationToken); 53public ParsedDocument WithChangedRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SemanticDocument.cs (3)
13internal sealed class SemanticDocument(Document document, SourceText text, SyntaxNode root, SemanticModel semanticModel) 21var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 26public new async ValueTask<SemanticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\SyntacticDocument.cs (4)
16public readonly SyntaxNode Root; 18protected SyntacticDocument(Document document, SourceText text, SyntaxNode root) 31var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 35public ValueTask<SyntacticDocument> WithSyntaxRootAsync(SyntaxNode root, CancellationToken cancellationToken)
SymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (4)
101protected abstract SyntaxNode? GetFirstArgumentOfInvocation(SyntaxNode invocation); 119SyntaxNode? argument = GetFirstArgumentOfInvocation(context.Node); 124protected bool AnalyzeSymbolDeclaredEventInvocation(SyntaxNode? argument, SyntaxNodeAnalysisContext context)
TestExportsShouldNotBeDiscoverableCodeFixProvider.cs (4)
52var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 55var exportingAttribute = root.FindNode(sourceSpan, getInnermostNodeForTie: true); 59var declaration = generator.TryGetContainingDeclaration(exportingAttribute, DeclarationKind.Class); 102var newDeclaration = generator.AddAttributes(declaration, generator.Attribute(generator.TypeExpression(partNotDiscoverableAttributeSymbol).WithAddImportsAnnotation()));
Roslyn.Diagnostics.CSharp.Analyzers (1001)
CSharpApplyTraitToClass.cs (2)
24protected override SyntaxNode? GetTypeDeclarationForNode(SyntaxNode reportedNode)
CSharpAvoidOptSuffixForNullableEnableCodeCodeFixProvider.cs (2)
37var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); 38var variable = root.FindNode(diagnostic.Location.SourceSpan, getInnermostNodeForTie: true);
CSharpCreateTestAccessor.cs (2)
29protected override SyntaxNode GetTypeDeclarationForNode(SyntaxNode reportedNode)
CSharpDoNotUseDebugAssertForInterpolatedStringsFixer.cs (4)
58var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 59var syntax = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true); 74var roslynDebugNode = generator.TypeExpression(roslynDebugSymbol) 79var newRoot = root.ReplaceNode(debugIdentifierNode, roslynDebugNode);
CSharpExposeMemberForTesting.cs (6)
33protected override SyntaxNode GetTypeDeclarationForNode(SyntaxNode reportedNode) 38protected override SyntaxNode GetByRefType(SyntaxNode type, RefKind refKind) 51protected override SyntaxNode GetByRefExpression(SyntaxNode expression)
CSharpImportingConstructorShouldBeObsoleteCodeFixProvider.cs (4)
25protected override bool IsOnPrimaryConstructorTypeDeclaration(SyntaxNode attributeName, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 31protected override SyntaxNode AddMethodTarget(SyntaxNode attributeList)
CSharpSpecializedEnumerableCreationAnalyzer.cs (3)
48System.Collections.Generic.IEnumerable<SyntaxNode> expressionsToAnalyze = context.Node.DescendantNodes().Where(n => ShouldAnalyzeExpression(n, context.SemanticModel, context.CancellationToken)); 50foreach (SyntaxNode expression in expressionsToAnalyze) 67private bool ShouldAnalyzeExpression(SyntaxNode expression, SemanticModel semanticModel, CancellationToken cancellationToken)
CSharpSymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (2)
50protected override SyntaxNode? GetFirstArgumentOfInvocation(SyntaxNode invocation)
PreferNullLiteralCodeFixProvider.cs (2)
50var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 51var syntax = root.FindNode(location.SourceSpan, getInnermostNodeForTie: true);
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (7)
25protected override SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 28protected override bool IsFunctionDeclaration(SyntaxNode node) 31protected override SyntaxNode GetBody(SyntaxNode methodNode) 34protected override SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (3)
36public async Task<SyntaxNode> ReplaceAsync( 38SyntaxNode memberDeclaration, 43foreach (var child in memberDeclaration.DescendantNodes())
src\a6db168d9ad5d460\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
88var parent = token.GetRequiredParent(); 113private static bool IsInDirective(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
155var parent = block.GetRequiredParent();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (5)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 18private static SyntaxNode GetAbsoluteRoot(this SyntaxNode node) 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (8)
207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 282var parent = expr.Parent; 332if (expression.IsInRefContext(out var refParent)) 405if (expression?.Parent is SyntaxNode parent) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 912var parent = topExpression.Parent; 966var parent = arrowExpression.GetRequiredParent(); 973for (SyntaxNode? current = returnStatement; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (4)
12public static bool CanSafelyMoveLocalToBlock(this ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock) 16var localFunctionOrMethodDeclaration = currentBlock.AncestorsAndSelf() 30static bool HasTypeParameterWithName(SyntaxNode? node, string name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.DeclarationFinder.cs (1)
23public static Dictionary<string, List<SyntaxToken>> GetAllDeclarations(SyntaxNode syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (6)
27var nodeParent = node.Parent; 380private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = SharedPools.Default<Stack<SyntaxNode>>(); 387foreach (var ancestor in node.GetRequiredParent().AncestorsAndSelf()) 407while (stack.TryPop(out var expression)) 412if (nodeOrToken.AsNode(out var childNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxListExtensions.cs (2)
15public static SyntaxList<T> RemoveRange<T>(this SyntaxList<T> syntaxList, int index, int count) where T : SyntaxNode 22public static SyntaxList<T> Insert<T>(this SyntaxList<T> list, int index, T item) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (74)
25public static LanguageVersion GetLanguageVersion(this SyntaxNode node) 28public static void Deconstruct(this SyntaxNode node, out SyntaxKind kind) 31public static bool IsKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 32where TNode : SyntaxNode 44public static bool IsParentKind([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind) 47public static bool IsParentKind<TNode>([NotNullWhen(true)] this SyntaxNode? node, SyntaxKind kind, [NotNullWhen(true)] out TNode? result) 48where TNode : SyntaxNode 61this SyntaxNode node, SourceText? sourceText = null, 90public static bool IsAnyArgumentList([NotNullWhen(true)] this SyntaxNode? node) 99public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBraces(this SyntaxNode? node) 116public static bool IsEmbeddedStatementOwner([NotNullWhen(true)] this SyntaxNode? node) 130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 146public static BaseParameterListSyntax? GetParameterList(this SyntaxNode? declaration) 159public static SyntaxList<AttributeListSyntax> GetAttributeLists(this SyntaxNode? declaration) 172public static ConditionalAccessExpressionSyntax? GetParentConditionalAccessExpression(this SyntaxNode? node) 184var current = node; 251/// <inheritdoc cref="ISyntaxFacts.GetRootConditionalAccessExpression(SyntaxNode)"/> 253public static ConditionalAccessExpressionSyntax? GetRootConditionalAccessExpression(this SyntaxNode? node) 270public static ConditionalAccessExpressionSyntax? GetInnerMostConditionalAccessExpression(this SyntaxNode node) 281public static bool IsAsyncSupportingFunctionSyntax([NotNullWhen(true)] this SyntaxNode? node) 284public static bool IsCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 287public static bool IsLeftSideOfAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 291public static bool IsLeftSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 294public static bool IsRightSideOfAnyAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 297public static bool IsLeftSideOfCompoundAssignExpression([NotNullWhen(true)] this SyntaxNode? node) 308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 316public static IEnumerable<ExternAliasDirectiveSyntax> GetEnclosingExternAliasDirectives(this SyntaxNode node) 324public static bool IsUnsafeContext(this SyntaxNode node) 335public static bool IsInStaticContext(this SyntaxNode node) 337for (var current = node; current != null; current = current.Parent) 372public static BaseNamespaceDeclarationSyntax? GetInnermostNamespaceDeclarationWithUsings(this SyntaxNode contextNode) 395public static bool IsBreakableConstruct([NotNullWhen(true)] this SyntaxNode? node) 398public static bool IsContinuableConstruct([NotNullWhen(true)] this SyntaxNode? node) 413public static bool IsReturnableConstruct(this SyntaxNode node) 437public static bool ContainsYield(this SyntaxNode node) 440public static bool IsReturnableConstructOrTopLevelCompilationUnit(this SyntaxNode node) 443public static bool SpansPreprocessorDirective<TSyntaxNode>(this IEnumerable<TSyntaxNode> list) where TSyntaxNode : SyntaxNode 448where TNode : SyntaxNode 496public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, CancellationToken cancellationToken) 500/// Similar to <see cref="ContainsInterleavedDirective(SyntaxNode, CancellationToken)"/> except that the span to check 503public static bool ContainsInterleavedDirective(this SyntaxNode syntaxNode, TextSpan span, CancellationToken cancellationToken) 542var structure = trivia.GetStructure()!; 584where TSyntaxNode : SyntaxNode 644public static ImmutableArray<SyntaxTrivia> GetLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 647public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 650public static TSyntaxNode GetNodeWithoutLeadingBlankLines<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 653public static ImmutableArray<SyntaxTrivia> GetLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 656public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node) where TSyntaxNode : SyntaxNode 659public static TSyntaxNode GetNodeWithoutLeadingBannerAndPreprocessorDirectives<TSyntaxNode>(this TSyntaxNode node, out ImmutableArray<SyntaxTrivia> strippedTrivia) where TSyntaxNode : SyntaxNode 662public static bool IsVariableDeclaratorValue([NotNullWhen(true)] this SyntaxNode? node) 666public static BlockSyntax? FindInnermostCommonBlock(this IEnumerable<SyntaxNode> nodes) 669public static IEnumerable<SyntaxNode> GetAncestorsOrThis(this SyntaxNode? node, Func<SyntaxNode, bool> predicate) 671var current = node; 683public static (SyntaxToken openParen, SyntaxToken closeParen) GetParentheses(this SyntaxNode node) 713public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBrackets(this SyntaxNode? node) 726public static SyntaxTokenList GetModifiers(this SyntaxNode? member) 738public static SyntaxNode? WithModifiers(this SyntaxNode? member, SyntaxTokenList modifiers) 749public static void ForEachMember<TArg>(this SyntaxNode? node, Action<MemberDeclarationSyntax, TArg> callback, TArg arg) 774[NotNullWhen(true)] this SyntaxNode? node, 781for (var current = node; current != null; current = current.Parent) 825[NotNullWhen(true)] this SyntaxNode? node, 826[NotNullWhen(true)] out SyntaxNode? deconstructionLeft) 828SyntaxNode? previous = null; 829for (var current = node; current != null; current = current.Parent) 851where T : SyntaxNode 860where T : SyntaxNode 868where T : SyntaxNode 874public static T KeepCommentsAndAddElasticMarkers<T>(this T node) where T : SyntaxNode 879public static SyntaxNode WithPrependedNonIndentationTriviaFrom( 880this SyntaxNode to, SyntaxNode from)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
23public static bool IsLastTokenOfNode<T>(this SyntaxToken token) where T : SyntaxNode 26public static bool IsLastTokenOfNode<T>(this SyntaxToken token, [NotNullWhen(true)] out T? node) where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
520var structure = triviaTok.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (1)
201public static bool IsPragmaDirective(this SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\CSharpSyntaxFormatting.cs (2)
45protected override IFormattingResult CreateAggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans = null) 48protected override AbstractFormattingResult Format(SyntaxNode node, SyntaxFormattingOptions options, ImmutableArray<AbstractFormattingRule> formattingRules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\DefaultOperationProvider.cs (4)
23public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 27public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 31public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 35public override void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode node, in NextAlignTokensOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\AggregatedFormattingResult.cs (2)
15public AggregatedFormattingResult(SyntaxNode node, IList<AbstractFormattingResult> results, TextSpanMutableIntervalTree? formattingSpans) 20protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpFormatEngine.cs (1)
16SyntaxNode node,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\CSharpStructuredTriviaFormatEngine.cs (1)
22var root = trivia.GetStructure() ?? throw new ArgumentException();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\FormattingResult.cs (1)
24protected override SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> changeMap, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
194var structuredTrivia = trivia.GetStructure();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (5)
20private readonly SyntaxNode _node; 28SyntaxNode node, 43public SyntaxNode Transform() 150public override SyntaxNode? Visit(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (13)
49public static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(this SyntaxNode? node) 52public static (SyntaxToken openBracket, SyntaxToken closeBracket) GetBracketPair(this SyntaxNode? node) 128public static bool IsLambdaBodyBlock(this SyntaxNode node) 138public static bool IsAnonymousMethodBlock(this SyntaxNode node) 198public static bool IsEmbeddedStatement([NotNullWhen(true)] this SyntaxNode? node) 200SyntaxNode? statementOrElse = node as StatementSyntax; 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 365public static bool IsEmbeddedStatementOwnerWithCloseParen([NotNullWhen(true)] this SyntaxNode? node) 386public static bool IsInitializerForObjectOrAnonymousObjectCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 390var parent = initializer.Parent; 422public static bool IsInitializerForArrayOrCollectionCreationExpression([NotNullWhen(true)] this SyntaxNode? node) 426var parent = initializer.Parent; 446var parent = anonymousObjectInitializer.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (2)
16public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation) 90private static void AddAnchorIndentationOperation(List<AnchorIndentationOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (2)
134protected static void AddAlignIndentationOfTokensToBaseTokenOperation(List<AlignTokensOperation> list, SyntaxNode containingNode, SyntaxToken baseNode, IEnumerable<SyntaxToken> tokens, AlignTokensOption option = AlignTokensOption.AlignIndentationOfTokensToBaseToken) 150protected static void AddBraceSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (6)
25public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 41private static void AddPropertyDeclarationSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 53private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 70private static void AddCollectionExpressionSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 79private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node) 88private static SyntaxToken? GetLastTokenOfType(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (13)
47public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 61private static void AddTypeParameterConstraintClauseOperation(List<IndentBlockOperation> list, SyntaxNode node) 70private void AddSwitchIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 129private void AddLabelIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 145private static void AddAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode node) 200private static void SetAlignmentBlockOperation(List<IndentBlockOperation> list, SyntaxNode baseNode, SyntaxNode body) 211private void AddBlockIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 248private static void AddBracketIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 289private static void AddParenthesizedPatternIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 315private static void AddEmbeddedStatementsIndentationOperation(List<IndentBlockOperation> list, SyntaxNode node) 374private static bool IsWithinSwitchExpressionArmPattern(SyntaxNode node) 378for (var current = node; current != null; current = current.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentUserSettingsFormattingRule.cs (1)
37public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (3)
40private static bool IsControlBlock(SyntaxNode node) 165var currentTokenParentParent = currentToken.Parent.Parent; 369var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\QueryExpressionFormattingRule.cs (3)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 82public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 129public override void AddAnchorIndentationOperations(List<AnchorIndentationOperation> list, SyntaxNode node, in NextAnchorIndentationOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
568public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 578private void SuppressVariableDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (10)
21public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 36private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 255private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 268private static void AddFormatSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 307static void ProcessStructuredTrivia(ArrayBuilder<SuppressOperation> list, SyntaxNode structure) 361private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 391private static void AddInitializerSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode parent, IEnumerable<SyntaxNode> items) 397foreach (var item in items) 409private static InitializerExpressionSyntax? GetInitializerNode(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (2)
205var attributeOwner = previousToken.Parent?.Parent; 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (7)
42public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 63private static (SyntaxToken firstToken, SyntaxToken lastToken) GetSpecificNodeSuppressionTokenRange(SyntaxNode node) 88private static void AddSpecificNodesSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 97private static void AddStatementExceptBlockSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 110private static void RemoveSuppressOperationForStatementMethodDeclaration(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 133private static void RemoveSuppressOperationForBlock(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 154private static (SyntaxToken openBrace, SyntaxToken closeBrace) GetBracePair(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (3)
25Func<SyntaxNode, bool>? predicate, 28var root = model.SyntaxTree.GetRoot(cancellationToken); 29predicate ??= Functions<SyntaxNode>.True;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (2)
51var common = startToken.GetCommonRoot(endToken); 148public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\AbstractCSharpPrecedenceService.cs (1)
11where TSyntax : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (6)
30public override bool IsBetweenTypeMembers(SourceText sourceText, SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 76protected override IEnumerable<SyntaxNode> ExtractNodesSimple(SyntaxNode? node, ISyntaxFacts syntaxFacts) 83foreach (var extractedNode in base.ExtractNodesSimple(node, syntaxFacts)) 98var declaration = declarator.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SelectedMembers\CSharpSelectedMembers.cs (4)
28protected override ImmutableArray<(SyntaxNode declarator, SyntaxToken identifier)> GetDeclaratorsAndIdentifiers(MemberDeclarationSyntax member) 33v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 35v => (declaration: (SyntaxNode)v, identifier: v.Identifier)), 36_ => [(declaration: (SyntaxNode)member, identifier: member.GetNameToken())],
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (32)
43public bool IsWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 46public bool IsOnlyWrittenTo(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 49public bool IsInOutContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 52public bool IsInRefContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 55public bool IsInInContext(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 58public bool CanReplaceWithRValue(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? expression, CancellationToken cancellationToken) 65foreach (var ancestor in token.GetAncestors<SyntaxNode>()) 121SyntaxNode oldNode, 122SyntaxNode newNode, 178public ForEachSymbols GetForEachSymbols(SemanticModel semanticModel, SyntaxNode node) 192public SymbolInfo GetCollectionInitializerSymbolInfo(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken) 195public IMethodSymbol? GetGetAwaiterMethod(SemanticModel semanticModel, SyntaxNode node) 206public ImmutableArray<IMethodSymbol> GetDeconstructionAssignmentMethods(SemanticModel semanticModel, SyntaxNode node) 218public ImmutableArray<IMethodSymbol> GetDeconstructionForEachMethods(SemanticModel semanticModel, SyntaxNode node) 243var node = syntaxRef.GetSyntax(cancellationToken); 254public IEnumerable<ISymbol> GetDeclaredSymbols(SemanticModel semanticModel, SyntaxNode memberDeclaration, CancellationToken cancellationToken) 264public IParameterSymbol? FindParameterForArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 267public IParameterSymbol? FindParameterForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, bool allowUncertainCandidates, bool allowParams, CancellationToken cancellationToken) 271public ISymbol? FindFieldOrPropertyForArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 274public ISymbol? FindFieldOrPropertyForAttributeArgument(SemanticModel semanticModel, SyntaxNode argument, CancellationToken cancellationToken) 279public ImmutableArray<ISymbol> GetBestOrAllSymbols(SemanticModel semanticModel, SyntaxNode? node, SyntaxToken token, CancellationToken cancellationToken) 301/// cref="ModelExtensions.GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)"/>, but sometimes employs 305private ImmutableArray<ISymbol> GetSymbolInfo(SemanticModel semanticModel, SyntaxNode node, SyntaxToken token, CancellationToken cancellationToken) 431public bool IsInsideNameOfExpression(SemanticModel semanticModel, [NotNullWhen(true)] SyntaxNode? node, CancellationToken cancellationToken) 440var node = syntaxReference.GetSyntax(cancellationToken); 442foreach (var localFunction in node.DescendantNodes().Where(CSharpSyntaxFacts.Instance.IsLocalFunctionStatement)) 455public bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, [NotNullWhen(true)] INamedTypeSymbol? expressionType, CancellationToken cancellationToken) 458public string GenerateNameForExpression(SemanticModel semanticModel, SyntaxNode expression, bool capitalize, CancellationToken cancellationToken) 461public IPreprocessingSymbol? GetPreprocessingSymbol(SemanticModel semanticModel, SyntaxNode node) 477private static bool IsInPreprocessingSymbolContext(SyntaxNode node) 487public CommonConversion ClassifyConversion(SemanticModel semanticModel, SyntaxNode expression, ITypeSymbol destination)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpAccessibilityFacts.cs (3)
20public bool CanHaveAccessibility(SyntaxNode declaration, bool ignoreDeclarationModifiers = false) 88public Accessibility GetAccessibility(SyntaxNode declaration) 152public static SyntaxTokenList GetModifierTokens(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (8)
21public override bool IsScopeBlock([NotNullWhen(true)] SyntaxNode? node) 24public override bool IsExecutableBlock([NotNullWhen(true)] SyntaxNode? node) 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 47public override SyntaxNode? FindInnermostCommonExecutableBlock(IEnumerable<SyntaxNode> nodes) 50public override bool IsStatementContainer([NotNullWhen(true)] SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpDocumentationCommentService.cs (1)
35protected override SyntaxNode GetName(XmlElementSyntax xmlElement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (18)
24public override bool IsOnTypeHeader(SyntaxNode root, int position, bool fullHeader, [NotNullWhen(true)] out SyntaxNode? typeDeclaration) 50public override bool IsOnPropertyDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? propertyDeclaration) 56public override bool IsOnParameterHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? parameter) 62public override bool IsOnMethodHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? method) 68public override bool IsOnLocalFunctionHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localFunction) 74public override bool IsOnLocalDeclarationHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? localDeclaration) 83public override bool IsOnIfStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? ifStatement) 89public override bool IsOnWhileStatementHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? whileStatement) 95public override bool IsOnForeachHeader(SyntaxNode root, int position, [NotNullWhen(true)] out SyntaxNode? foreachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (319)
142public bool IsDirective([NotNullWhen(true)] SyntaxNode? node) 145public bool TryGetExternalSourceInfo([NotNullWhen(true)] SyntaxNode? node, out ExternalSourceInfo info) 166public bool IsNameOfSimpleMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 172public bool IsNameOfAnyMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 175public bool IsNameOfMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 182public SyntaxNode? GetStandaloneExpression(SyntaxNode? node) 185public SyntaxNode? GetRootConditionalAccessExpression(SyntaxNode? node) 188public bool IsDeclarationExpression([NotNullWhen(true)] SyntaxNode? node) 191public bool IsNamedArgument([NotNullWhen(true)] SyntaxNode? node) 194public bool IsNameOfNamedArgument([NotNullWhen(true)] SyntaxNode? node) 197public SyntaxNode? GetParameterList(SyntaxNode node) 200public bool IsParameterList([NotNullWhen(true)] SyntaxNode? node) 203public bool IsUsingDirectiveName([NotNullWhen(true)] SyntaxNode? node) 207public bool IsUsingAliasDirective([NotNullWhen(true)] SyntaxNode? node) 210public void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name) 218public bool IsDeconstructionForEachStatement([NotNullWhen(true)] SyntaxNode? node) 221public bool IsUsingLocalDeclarationStatement([NotNullWhen(true)] SyntaxNode? node) 224public bool IsDeconstructionAssignment([NotNullWhen(true)] SyntaxNode? node) 227public Location GetDeconstructionReferenceLocation(SyntaxNode node) 237public bool IsStatement([NotNullWhen(true)] SyntaxNode? node) 240public bool IsExecutableStatement([NotNullWhen(true)] SyntaxNode? node) 243public bool IsGlobalStatement([NotNullWhen(true)] SyntaxNode? node) 246public SyntaxNode GetStatementOfGlobalStatement(SyntaxNode node) 249public bool IsMethodBody([NotNullWhen(true)] SyntaxNode? node) 261public SyntaxNode GetExpressionOfRefExpression(SyntaxNode node) 264public SyntaxNode? GetExpressionOfReturnStatement(SyntaxNode node) 275public bool HasImplicitBaseConstructorInitializer(SyntaxNode node) 311public bool IsPredefinedType(SyntaxNode? node) 314public bool IsPredefinedType(SyntaxNode? node, PredefinedType type) 535public bool IsPostfixUnaryExpression([NotNullWhen(true)] SyntaxNode? node) 538public bool IsElementBindingExpression([NotNullWhen(true)] SyntaxNode? node) 541public bool IsMemberBindingExpression([NotNullWhen(true)] SyntaxNode? node) 544public bool IsPointerMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 547public void GetNameAndArityOfSimpleName(SyntaxNode node, out string name, out int arity) 554public bool LooksGeneric(SyntaxNode simpleName) 558public SeparatedSyntaxList<SyntaxNode> GetTypeArgumentsOfGenericName(SyntaxNode? genericName) 561public SyntaxNode? GetTargetOfMemberBinding(SyntaxNode? node) 564public SyntaxNode GetNameOfMemberBindingExpression(SyntaxNode node) 567public SyntaxNode? GetExpressionOfMemberAccessExpression(SyntaxNode node, bool allowImplicitTarget) 570public void GetPartsOfElementAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode argumentList) 577public SyntaxNode GetExpressionOfInterpolation(SyntaxNode node) 580public bool IsInStaticContext(SyntaxNode node) 583public bool IsInNamespaceOrTypeContext([NotNullWhen(true)] SyntaxNode? node) 586public bool IsBaseTypeList([NotNullWhen(true)] SyntaxNode? node) 589public SyntaxNode GetExpressionOfArgument(SyntaxNode node) 592public SyntaxNode GetExpressionOfAttributeArgument(SyntaxNode node) 595public RefKind GetRefKindOfArgument(SyntaxNode node) 598public bool IsArgument([NotNullWhen(true)] SyntaxNode? node) 601public bool IsAttributeArgument([NotNullWhen(true)] SyntaxNode? node) 604public bool IsSimpleArgument([NotNullWhen(true)] SyntaxNode? node) 611public bool IsInConstantContext([NotNullWhen(true)] SyntaxNode? node) 614public bool IsInConstructor(SyntaxNode node) 617public bool IsUnsafeContext(SyntaxNode node) 620public bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] SyntaxNode? node) 623public SyntaxNode? GetContainingTypeDeclaration(SyntaxNode root, int position) 627.GetAncestors<SyntaxNode>() 631public SyntaxNode? GetContainingVariableDeclaratorOfFieldDeclaration(SyntaxNode? node) 634public bool IsNameOfSubpattern([NotNullWhen(true)] SyntaxNode? node) 639public bool IsPropertyPatternClause(SyntaxNode node) 643[NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? initializedInstance) 651var withInitializer = identifier.Parent.GetRequiredParent(); 657var objectInitializer = identifier.Parent.GetRequiredParent(); 674public bool IsAnonymousObjectMemberDeclaratorNameIdentifier([NotNullWhen(true)] SyntaxNode? expression) 678public bool IsAnyInitializerExpression([NotNullWhen(true)] SyntaxNode? node, [NotNullWhen(true)] out SyntaxNode? creationExpression) 693public bool IsElementAccessExpression(SyntaxNode? node) 697public SyntaxNode? ConvertToSingleLine(SyntaxNode? node, bool useElasticTrivia = false) 700public SyntaxNode? GetContainingMemberDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 703public SyntaxNode? GetContainingMethodDeclaration(SyntaxNode root, int position, bool useFullSpan = true) 706private static SyntaxNode? GetContainingMemberDeclaration<TMemberDeclarationSyntax>(SyntaxNode root, int position, bool useFullSpan = true) 719var node = root.FindToken(position).Parent; 737public bool IsMethodLevelMember([NotNullWhen(true)] SyntaxNode? node) 745public bool IsTopLevelNodeWithMembers([NotNullWhen(true)] SyntaxNode? node) 748public string GetDisplayName(SyntaxNode? node, DisplayNameOptions options, string? rootNamespace = null) 772var parent = node.GetAncestor<TypeDeclarationSyntax>() ?? node.Parent; 810private string? GetName(SyntaxNode node, DisplayNameOptions options) 901public SyntaxList<SyntaxNode> GetMembersOfTypeDeclaration(SyntaxNode node) 904public SyntaxList<SyntaxNode> GetMembersOfNamespaceDeclaration(SyntaxNode node) 907public SyntaxList<SyntaxNode> GetMembersOfCompilationUnit(SyntaxNode node) 910protected override void AppendMembers(SyntaxNode? node, ArrayBuilder<SyntaxNode> list, bool topLevel, bool methodLevel) 934public TextSpan GetMemberBodySpanForSpeculativeBinding(SyntaxNode node) 939var member = GetContainingMemberDeclaration(node, node.SpanStart); 950public SyntaxNode? TryGetBindableParent(SyntaxToken token) 952var node = token.Parent; 955var parent = node.Parent; 1039var structure = triviaTok.GetStructure(); 1051public string GetNameForArgument(SyntaxNode? argument) 1054public string GetNameForAttributeArgument(SyntaxNode? argument) 1057public bool IsLeftSideOfDot([NotNullWhen(true)] SyntaxNode? node) 1060public SyntaxNode? GetRightSideOfDot(SyntaxNode? node) 1066public SyntaxNode? GetLeftSideOfDot(SyntaxNode? node, bool allowImplicitTarget) 1072public bool IsLeftSideOfExplicitInterfaceSpecifier([NotNullWhen(true)] SyntaxNode? node) 1075public bool IsLeftSideOfAssignment([NotNullWhen(true)] SyntaxNode? node) 1078public bool IsLeftSideOfAnyAssignment([NotNullWhen(true)] SyntaxNode? node) 1081public bool IsLeftSideOfCompoundAssignment([NotNullWhen(true)] SyntaxNode? node) 1084public SyntaxNode GetRightHandSideOfAssignment(SyntaxNode node) 1087public bool IsInferredAnonymousObjectMemberDeclarator([NotNullWhen(true)] SyntaxNode? node) 1090public bool IsOperandOfIncrementExpression([NotNullWhen(true)] SyntaxNode? node) 1093public static bool IsOperandOfDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1096public bool IsOperandOfIncrementOrDecrementExpression([NotNullWhen(true)] SyntaxNode? node) 1099public SyntaxList<SyntaxNode> GetContentsOfInterpolatedString(SyntaxNode interpolatedString) 1115public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfObjectCreationExpression(SyntaxNode objectCreationExpression) 1120public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfArgumentList(SyntaxNode argumentList) 1123public SeparatedSyntaxList<SyntaxNode> GetArgumentsOfAttributeArgumentList(SyntaxNode argumentList) 1135public bool IsPragmaDirective(SyntaxTrivia trivia, out bool isDisable, out bool isActive, out SeparatedSyntaxList<SyntaxNode> errorCodes) 1141public bool IsDocumentationComment(SyntaxNode node) 1144public bool IsUsingOrExternOrImport([NotNullWhen(true)] SyntaxNode? node) 1147public bool IsGlobalAssemblyAttribute([NotNullWhen(true)] SyntaxNode? node) 1150public bool IsGlobalModuleAttribute([NotNullWhen(true)] SyntaxNode? node) 1153private static bool IsGlobalAttribute([NotNullWhen(true)] SyntaxNode? node, SyntaxKind attributeTarget) 1158public bool IsDeclaration(SyntaxNode? node) 1207public bool IsTypeDeclaration(SyntaxNode node) 1210public bool IsSimpleAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1213public bool IsAnyAssignmentStatement([NotNullWhen(true)] SyntaxNode? node) 1217SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1224SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1226var expression = statement; 1238public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node) 1241public SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node) 1244public SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node) 1252public bool IsDeclaratorOfLocalDeclarationStatement(SyntaxNode declarator, SyntaxNode localDeclarationStatement) 1259public bool AreEquivalent(SyntaxNode? node1, SyntaxNode? node2) 1262public static SyntaxNode GetExpressionOfInvocationExpression(SyntaxNode node) 1265public bool IsExpressionOfForeach([NotNullWhen(true)] SyntaxNode? node) 1268public SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node) 1271public void GetPartsOfTupleExpression<TArgumentSyntax>(SyntaxNode node, 1272out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode 1276arguments = (SeparatedSyntaxList<TArgumentSyntax>)(SeparatedSyntaxList<SyntaxNode>)tupleExpression.Arguments; 1283public SyntaxNode? GetMatchingDirective(SyntaxNode directive, CancellationToken cancellationToken) 1286public ImmutableArray<SyntaxNode> GetMatchingConditionalDirectives(SyntaxNode directive, CancellationToken cancellationToken) 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>(); 1292public SyntaxTokenList GetModifiers(SyntaxNode? node) 1296public SyntaxNode? WithModifiers(SyntaxNode? node, SyntaxTokenList modifiers) 1299public SeparatedSyntaxList<SyntaxNode> GetVariablesOfLocalDeclarationStatement(SyntaxNode node) 1302public SyntaxNode? GetInitializerOfVariableDeclarator(SyntaxNode node) 1305public SyntaxNode? GetInitializerOfPropertyDeclaration(SyntaxNode node) 1308public SyntaxNode GetTypeOfVariableDeclarator(SyntaxNode node) 1311public SyntaxNode GetValueOfEqualsValueClause(SyntaxNode node) 1314public bool IsEqualsValueOfPropertyDeclaration(SyntaxNode? node) 1317public bool IsConversionExpression([NotNullWhen(true)] SyntaxNode? node) 1320public bool IsCastExpression([NotNullWhen(true)] SyntaxNode? node) 1323public void GetPartsOfCastExpression(SyntaxNode node, out SyntaxNode type, out SyntaxNode expression) 1340public SyntaxList<SyntaxNode> GetAttributeLists(SyntaxNode? node) 1343public bool IsParameterNameXmlElementSyntax([NotNullWhen(true)] SyntaxNode? node) 1346public SyntaxList<SyntaxNode> GetContentFromDocumentationCommentTriviaSyntax(SyntaxTrivia trivia) 1356public void GetPartsOfAnyIsTypeExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode type) 1363public void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right) 1371public bool IsAnyPattern([NotNullWhen(true)] SyntaxNode? node) 1374public SyntaxNode GetExpressionOfConstantPattern(SyntaxNode node) 1377public void GetPartsOfDeclarationPattern(SyntaxNode node, out SyntaxNode type, out SyntaxNode designation) 1384public void GetPartsOfRecursivePattern(SyntaxNode node, out SyntaxNode? type, out SyntaxNode? positionalPart, out SyntaxNode? propertyPart, out SyntaxNode? designation) 1400public bool IsBinaryPattern([NotNullWhen(true)] SyntaxNode? node) 1403public bool IsUnaryPattern([NotNullWhen(true)] SyntaxNode? node) 1406public void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen) 1414public void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1422public void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern) 1429public void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression) 1436public SyntaxNode GetTypeOfTypePattern(SyntaxNode node) 1439public bool IsVerbatimInterpolatedStringExpression([NotNullWhen(true)] SyntaxNode? node) 1454public bool IsAnonymousFunctionExpression([NotNullWhen(true)] SyntaxNode? node) 1457public bool IsBaseNamespaceDeclaration([NotNullWhen(true)] SyntaxNode? node) 1460public bool IsBinaryExpression([NotNullWhen(true)] SyntaxNode? node) 1463public bool IsLiteralExpression([NotNullWhen(true)] SyntaxNode? node) 1466public bool IsMemberAccessExpression([NotNullWhen(true)] SyntaxNode? node) 1469public bool IsMethodDeclaration([NotNullWhen(true)] SyntaxNode? node) 1472public bool IsSimpleName([NotNullWhen(true)] SyntaxNode? node) 1475public bool IsAnyName([NotNullWhen(true)] SyntaxNode? node) 1478public bool IsAnyType([NotNullWhen(true)] SyntaxNode? node) 1481public bool IsNamedMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1484public bool IsElementAccessInitializer([NotNullWhen(true)] SyntaxNode? node) 1487public bool IsObjectMemberInitializer([NotNullWhen(true)] SyntaxNode? node) 1490public bool IsObjectCollectionInitializer([NotNullWhen(true)] SyntaxNode? node) 1497public void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name) 1505public void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken) 1513public void GetPartsOfAttribute(SyntaxNode node, out SyntaxNode name, out SyntaxNode? argumentList) 1520public void GetPartsOfBaseObjectCreationExpression(SyntaxNode node, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1527public void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1535public void GetPartsOfCompilationUnit(SyntaxNode node, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> attributeLists, out SyntaxList<SyntaxNode> members) 1544SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull) 1552public void GetPartsOfConditionalExpression(SyntaxNode node, out SyntaxNode condition, out SyntaxNode whenTrue, out SyntaxNode whenFalse) 1560public SyntaxNode GetExpressionOfForeachStatement(SyntaxNode statement) 1566public void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments) 1573public void GetPartsOfInterpolationExpression(SyntaxNode node, 1574out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken) 1582public void GetPartsOfInvocationExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode? argumentList) 1589public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name) 1597public void GetPartsOfBaseNamespaceDeclaration(SyntaxNode node, out SyntaxNode name, out SyntaxList<SyntaxNode> imports, out SyntaxList<SyntaxNode> members) 1605public void GetPartsOfNamedMemberInitializer(SyntaxNode node, out SyntaxNode identifier, out SyntaxNode expression) 1612public void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer) 1621public void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer) 1629public void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default) 1637SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen) 1645public void GetPartsOfPostfixUnaryExpression(SyntaxNode node, out SyntaxNode operand, out SyntaxToken operatorToken) 1652public void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand) 1659public void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right) 1671public SyntaxNode GetArgumentListOfImplicitElementAccess(SyntaxNode node) 1674public SeparatedSyntaxList<SyntaxNode> GetAttributesOfAttributeList(SyntaxNode node) 1677public SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node) 1680public SyntaxNode GetExpressionOfThrowExpression(SyntaxNode node) 1683public SyntaxNode? GetExpressionOfThrowStatement(SyntaxNode node) 1686public SeparatedSyntaxList<SyntaxNode> GetInitializersOfObjectMemberInitializer(SyntaxNode node) 1689public SeparatedSyntaxList<SyntaxNode> GetExpressionsOfObjectCollectionInitializer(SyntaxNode node) 1692public SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (6)
829var parent = castNode.WalkUpParentheses().GetRequiredParent(); 1165private static bool IsExplicitCast(SyntaxNode node) 1304for (SyntaxNode? current = expression; current != null; current = current.Parent) 1319for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1375for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1404for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (13)
92var parent = endToken.Parent; 112var parent = endToken.Parent; 147var container = GetTopContainingNode(parent); 164var parent = endToken.Parent; 180var containerOfList = parent.Parent; 196var parentOfParent = parent.Parent; 224var containerOfBlock = GetTopContainingNode(parent); 264var parent = endToken.Parent; 331var labelNode = previousToken.Parent.Parent; 346private static bool IsSpecialContainingNode(SyntaxNode node) 372private static SyntaxNode? GetTopContainingNode([DisallowNull] SyntaxNode? node) 382var lastSpecialContainingNode = node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (19)
71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 75SyntaxNode previousNode = null; 76SyntaxNode parentNodeToSpeculate = null; 77foreach (var node in expression.AncestorsAndSelf(ascendOutOfTrivia: false)) 95public static bool CanSpeculateOnNode(SyntaxNode node) 104protected override void ValidateSpeculativeSemanticModel(SemanticModel speculativeSemanticModel, SyntaxNode nodeToSpeculate) 113protected override SemanticModel CreateSpeculativeSemanticModel(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 116public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode originalNode, SyntaxNode nodeToSpeculate, SemanticModel semanticModel) 123public static SemanticModel CreateSpeculativeSemanticModelForNode(SyntaxNode nodeToSpeculate, SemanticModel semanticModel, int position, bool isInNamespaceOrTypeContext) 196SyntaxNode originalLambdaBody, replacedLambdaBody; 275SyntaxNode originalRoot) 295protected override bool ReplacementChangesSemanticsForNodeLanguageSpecific(SyntaxNode currentOriginalNode, SyntaxNode currentReplacedNode, SyntaxNode previousOriginalNode, SyntaxNode previousReplacedNode) 580protected override bool ExpressionMightReferenceMember(SyntaxNode node) 662protected override bool IsParenthesizedExpression(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (2)
38if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration) 59internal TypeSyntax? FindAnalyzableType(SyntaxNode node, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (4)
36SyntaxNode declaration, SemanticModel semanticModel, 107private static bool IsPredefinedTypeInDeclaration(SyntaxNode declarationStatement, SemanticModel semanticModel) 146private static bool IsInferredPredefinedType(SyntaxNode declarationStatement, SemanticModel semanticModel) 155private static TypeSyntax? GetTypeSyntaxFromDeclaration(SyntaxNode declarationStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (3)
169var root = tree.GetRoot(cancellationToken); 175var newRoot = root.ReplaceNode( 182var newDeclarationTypeNode = newTree.GetRoot(cancellationToken).GetAnnotatedNodes(annotation).Single();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
11internal sealed class UsingsAndExternAliasesDirectiveComparer : IComparer<SyntaxNode?> 13public static readonly IComparer<SyntaxNode> NormalInstance = new UsingsAndExternAliasesDirectiveComparer( 17public static readonly IComparer<SyntaxNode> SystemFirstInstance = new UsingsAndExternAliasesDirectiveComparer( 78public int Compare(SyntaxNode? directive1, SyntaxNode? directive2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (7)
27var newLineTrivia = ((IEnumerable<SyntaxNode>)externAliasList) 119var initialList = usingList.Cast<SyntaxNode>() 161private static void EnsureNewLines(IList<SyntaxNode> list, SyntaxTrivia newLineTrivia) 167var node = list[i]; 180var node = list[i]; 187private static SyntaxNode TrimLeadingNewLines(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (3)
27var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 28var node = root.FindNode(span); 36var firstTypeOrNamespaceDecl = root.ChildNodes().FirstOrDefault(n => SyntaxFacts.IsNamespaceMemberDeclaration(n.Kind()));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (3)
13public static ArgumentSyntax GenerateArgument(SyntaxNode argument) 23public static ArgumentListSyntax GenerateArgumentList(IList<SyntaxNode> arguments) 26public static BracketedArgumentListSyntax GenerateBracketedArgumentList(IList<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ConstructorGenerator.cs (1)
104private static ArgumentListSyntax GenerateArgumentList(ImmutableArray<SyntaxNode> arguments)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (7)
177where TDeclaration : SyntaxNode 195private static bool AreBracesMissing<TDeclaration>(TDeclaration declaration) where TDeclaration : SyntaxNode 198public static SyntaxNode? GetContextNode( 227public static CodeGenerationDestination GetDestination(SyntaxNode destination) 252where TSyntaxNode : SyntaxNode 270public static T? GetReuseableSyntaxNodeForSymbol<T>(ISymbol symbol, CSharpCodeGenerationContextInfo info) where T : SyntaxNode 276var reusableSyntaxNode = symbol.DeclaringSyntaxReferences[0].GetSyntax();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (24)
40public override CodeGenerationDestination GetDestination(SyntaxNode node) 43protected override IComparer<SyntaxNode> GetMemberComparer() 46protected override IList<bool>? GetAvailableInsertionIndices(SyntaxNode destination, CancellationToken cancellationToken) 311var finalMember = editor.GetChangedRoot(); 341protected override TDeclarationNode AddMembers<TDeclarationNode>(TDeclarationNode destination, IEnumerable<SyntaxNode> members) 377var attributeSyntaxToRemove = attributeToRemove.ApplicationSyntaxReference.GetSyntax(cancellationToken); 383SyntaxNode attributeToRemove, 443SyntaxNode attributeToRemove, 479IEnumerable<SyntaxNode> statements, 531IEnumerable<SyntaxNode> statements, 533CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 570TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, BaseMethodDeclarationSyntax baseMethodDeclaration) where TDeclarationNode : SyntaxNode 590public static BlockSyntax AddStatementsToBlock(BlockSyntax block, IEnumerable<SyntaxNode> statements) 613TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, LocalFunctionStatementSyntax localFunctionStatement) where TDeclarationNode : SyntaxNode 634TDeclarationNode destinationMember, IEnumerable<SyntaxNode> statements, AnonymousFunctionExpressionSyntax anonymousFunctionSyntax) where TDeclarationNode : SyntaxNode 658public override SyntaxNode CreateEventDeclaration( 664public override SyntaxNode CreateFieldDeclaration(IFieldSymbol field, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken) 672public override SyntaxNode? CreateMethodDeclaration( 721public override SyntaxNode CreatePropertyDeclaration( 728public override SyntaxNode CreateNamedTypeDeclaration( 734public override SyntaxNode CreateNamespaceDeclaration(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpDeclarationComparer.cs (7)
13internal sealed class CSharpDeclarationComparer : IComparer<SyntaxNode> 71public int Compare(SyntaxNode? x, SyntaxNode? y) 314private static int GetAccessibilityPrecedence(SyntaxTokenList modifiers, SyntaxNode? parent) 345for (var node = parent; node != null; node = node.Parent) 386private static bool EqualAccessibility(SyntaxNode x, SyntaxTokenList xModifiers, SyntaxNode y, SyntaxTokenList yModifiers, out int comparisonResult)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
21protected override SyntaxNode CreateExplicitlyCastedLiteralValue(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (12)
32var declaration = GenerateNamespaceDeclaration( 52var declaration = GenerateNamespaceDeclaration( 66internal static SyntaxNode GenerateNamespaceDeclaration( 75var declaration = GetDeclarationSyntaxWithoutMembers( 85public static SyntaxNode UpdateCompilationUnitOrNamespaceDeclaration( 87SyntaxNode declaration, 97private static SyntaxNode GenerateNamespaceDeclarationWorker( 118private static SyntaxNode GetDeclarationSyntaxWithoutMembers( 125var reusableSyntax = GetReuseableSyntaxNodeForSymbol<SyntaxNode>(@namespace, info); 131private static SyntaxNode RemoveAllMembers(SyntaxNode declaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (1)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (7)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 43SyntaxNode container, 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 130using var _ = ArrayBuilder<SyntaxNode>.GetInstance(out var nodes); 156private void CollectInfoFromContainer(SyntaxNode container, ArrayBuilder<SyntaxNode> nodes, out bool containsAnonymousMethods) 160foreach (var node in container.DescendantNodesAndSelf())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (3)
22this SyntaxNode contextNode, bool allowInHiddenRegions, CancellationToken cancellationToken) 69SyntaxNode contextNode, 79SyntaxNode contextNode,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (2)
478foreach (var node in leftToken.GetAncestors<SyntaxNode>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
162var parent = token.Parent; 180var container = token.Parent.Parent; 261var container = token.Parent.Parent; 454var owner = targetToken.Parent.Parent.Parent.Parent; 526where TMemberNode : SyntaxNode 613private static bool IsGenericInterfaceOrDelegateTypeParameterList([NotNullWhen(true)] SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (14)
90var parent = token.Parent; 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 1268SyntaxNode? parent; 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1571private static SyntaxToken FindTokenOnLeftOfNode(SyntaxNode node) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1677private static SyntaxNode UnwrapPossibleTuple(SyntaxNode node) 1805var parent = token.Parent; 2755var parentMemberAccess = token.Parent; 2771var parentQualifiedName = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
119var root = await semanticModel.SyntaxTree.GetRootAsync(cancellationToken).ConfigureAwait(false); 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\QueryExpressionSyntaxExtensions.cs (4)
13public static IList<SyntaxNode> GetAllClauses(this QueryExpressionSyntax query) 18public static IList<SyntaxNode> GetAllClauses(this QueryBodySyntax body) 23IList<SyntaxNode> allClauses) 31IEnumerable<SyntaxNode> allClauses)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SeparatedSyntaxListExtensions.cs (2)
13where T : SyntaxNode 20where T : SyntaxNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\TypeDeclarationSyntaxExtensions.cs (1)
54private static SyntaxToken GetEndToken(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
79var root = document.Root; 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (3)
16public override void AddSuppressOperations(ArrayBuilder<SuppressOperation> list, SyntaxNode node, in NextSuppressOperationAction nextOperation) 26private static bool TryAddSuppressionOnMissingCloseBraceCase(ArrayBuilder<SuppressOperation> list, SyntaxNode node) 102private static bool SomeParentHasMissingCloseBrace(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.cs (3)
116public override void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node, in NextIndentBlockOperationAction nextOperation) 172private static void ReplaceCaseIndentationRules(List<IndentBlockOperation> list, SyntaxNode node) 191private static void AddIndentBlockOperations(List<IndentBlockOperation> list, SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (10)
222var embeddedStatementOwner = token.Parent.Parent; 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 337Indenter indenter, SeparatedSyntaxList<T> list, SyntaxToken token) where T : SyntaxNode 377var queryExpressionClause = GetQueryExpressionClause(token); 433private static SyntaxNode? GetQueryExpressionClause(SyntaxToken token) 435var clause = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is QueryClauseSyntax or SelectOrGroupClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (24)
34protected override ImmutableArray<SyntaxNode> GetGlobalImports( 35SemanticModel semanticModel, SyntaxNode? contextLocation, SyntaxGenerator generator, CancellationToken cancellationToken) 37using var result = TemporaryArray<SyntaxNode>.Empty; 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 64protected override SyntaxNode Rewrite( 69SyntaxNode externContainer, 70SyntaxNode usingContainer, 71SyntaxNode staticUsingContainer, 72SyntaxNode aliasContainer, 74SyntaxNode root, 82var newRoot = rewriter.Visit(root); 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 94protected override SyntaxList<ExternAliasDirectiveSyntax> GetExterns(SyntaxNode node) 102protected override bool IsEquivalentImport(SyntaxNode a, SyntaxNode b) 110SyntaxNode externContainer, 111SyntaxNode usingContainer, 112SyntaxNode aliasContainer, 113SyntaxNode staticUsingContainer, 118public override SyntaxNode? Visit(SyntaxNode? node) 121public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 124public override SyntaxNode? VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 144public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (5)
32protected override bool IsMeaningfulBlock(SyntaxNode node) 43protected override SyntaxNode GetVariableDeclaratorSymbolNode(VariableDeclaratorSyntax variableDeclarator) 55SyntaxNode right, CancellationToken cancellationToken) 69protected override bool CanMoveToBlock(ILocalSymbol localSymbol, SyntaxNode currentBlock, SyntaxNode destinationBlock)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (6)
39Func<SyntaxNode, bool>? predicate, 42predicate ??= Functions<SyntaxNode>.True; 52var root = await document.GetRequiredSyntaxRootAsync(cancellationToken).ConfigureAwait(false); 54var newRoot = new Rewriter(unnecessaryImports, cancellationToken).Visit(root); 59foreach (var node in newRoot.GetAnnotatedNodes(s_annotation)) 72var formattedRoot = SyntaxFormatting.GetFormattingResult(newRoot, spansToFormat, formattingOptions, rules: default, cancellationToken).GetFormattedRoot(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
36public override SyntaxNode DefaultVisit(SyntaxNode node) 146public override SyntaxNode VisitCompilationUnit(CompilationUnitSyntax node) 194public override SyntaxNode VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) 197public override SyntaxNode VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) 200private SyntaxNode VisitBaseNamespaceDeclaration( 246public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax node) 252public override SyntaxNode VisitDelegateDeclaration(DelegateDeclarationSyntax node) 258public override SyntaxNode VisitEnumDeclaration(EnumDeclarationSyntax node) 264public override SyntaxNode VisitInterfaceDeclaration(InterfaceDeclarationSyntax node) 270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node) 276public override SyntaxNode VisitStructDeclaration(StructDeclarationSyntax node) 283public override SyntaxNode VisitUnionDeclaration(UnionDeclarationSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (4)
34protected override IEnumerable<ISymbol> GetCollidableSymbols(SemanticModel semanticModel, SyntaxNode location, SyntaxNode? container, CancellationToken cancellationToken) 61bool ShouldDescendInto(SyntaxNode node) 111public IMethodSymbol? TryGetDisposeMethod(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxFactsService.cs (9)
41SyntaxNode root, TContextNode contextNode, 42out SyntaxNode newRoot, out TContextNode newContextNode) where TContextNode : SyntaxNode 50private readonly SyntaxNode _contextNode; 54public AddFirstMissingCloseBraceRewriter(SyntaxNode contextNode) 57public override SyntaxNode Visit(SyntaxNode node) 69var rewritten = base.Visit(node); 116public Task<ImmutableArray<SyntaxNode>> GetSelectedFieldsAndPropertiesAsync(SyntaxTree tree, TextSpan textSpan, bool allowPartialSelection, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (95)
52public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken name, SyntaxNode? initializer, bool isConst) 59public override SyntaxNode WithInitializer(SyntaxNode variableDeclarator, SyntaxNode initializer) 62public override SyntaxNode WithPropertyInitializer(SyntaxNode propertyDeclaration, SyntaxNode initializer) 70public override SyntaxNode EqualsValueClause(SyntaxNode value) 73public override SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value) 76internal static VariableDeclarationSyntax VariableDeclaration(SyntaxNode? type, SyntaxToken name, SyntaxNode? expression) 88public override SyntaxNode ConditionalAccessExpression(SyntaxNode expression, SyntaxNode whenNotNull) 91public override SyntaxNode MemberBindingExpression(SyntaxNode name) 94public override SyntaxNode RefExpression(SyntaxNode expression) 97public override SyntaxNode AddParentheses(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 100internal static SyntaxNode Parenthesize(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 108public override SyntaxNode YieldReturnStatement(SyntaxNode expression) 117public override SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken) 120public override SyntaxNode InterpolatedStringText(SyntaxToken textToken) 130public override SyntaxNode Interpolation(SyntaxNode syntaxNode) 133public override SyntaxNode InterpolationAlignmentClause(SyntaxNode alignment) 136public override SyntaxNode InterpolationFormatClause(string format) 141public override SyntaxNode TypeParameterList(IEnumerable<string> typeParameterNames) 190public override SyntaxNode Type(ITypeSymbol typeSymbol, bool typeContext) 193public override SyntaxNode NegateEquality(SyntaxGenerator generator, SyntaxNode binaryExpression, SyntaxNode left, BinaryOperatorKind negatedKind, SyntaxNode right) 201public override SyntaxNode IsNotTypeExpression(SyntaxNode expression, SyntaxNode type) 209public override SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isKeyword, SyntaxNode pattern) 215public override SyntaxNode AndPattern(SyntaxNode left, SyntaxNode right) 218public override SyntaxNode ConstantPattern(SyntaxNode expression) 221public override SyntaxNode DeclarationPattern(INamedTypeSymbol type, string name) 226public override SyntaxNode LessThanRelationalPattern(SyntaxNode expression) 229public override SyntaxNode LessThanEqualsRelationalPattern(SyntaxNode expression) 232public override SyntaxNode GreaterThanRelationalPattern(SyntaxNode expression) 235public override SyntaxNode GreaterThanEqualsRelationalPattern(SyntaxNode expression) 238public override SyntaxNode NotPattern(SyntaxNode pattern) 241public override SyntaxNode OrPattern(SyntaxNode left, SyntaxNode right) 244public override SyntaxNode ParenthesizedPattern(SyntaxNode pattern) 247public override SyntaxNode TypePattern(SyntaxNode type) 250public override SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern) 255public override SyntaxNode CastExpression(SyntaxNode type, SyntaxNode expression) 258public override SyntaxNode DefaultExpression(SyntaxNode type) 261public override SyntaxNode DefaultExpression(ITypeSymbol type) 296public override SyntaxNode TypeExpression(ITypeSymbol typeSymbol, RefKind refKind) 307public override SyntaxNode MemberAccessExpressionWorker(SyntaxNode? expression, SyntaxNode simpleName) 339public override SyntaxNode BitwiseOrExpression(SyntaxNode left, SyntaxNode right) 342public static SyntaxNode CreateBinaryExpression(SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right) 345public override SyntaxNode IdentifierName(string identifier) 348public override SyntaxNode ConvertExpression(SyntaxNode type, SyntaxNode expression) 351internal static SyntaxNode ParenthesizeNonSimple(SyntaxNode expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (18)
41protected override IEnumerable<TypeInferenceInfo> GetTypes_DoNotCallDirectly(SyntaxNode node, bool objectAsDefault) 52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 75private IEnumerable<TypeInferenceInfo> GetTypesComplex(SyntaxNode node) 93private IEnumerable<TypeInferenceInfo> GetTypesSimple(SyntaxNode node) 125SyntaxNode node) 134var parent = node.Parent; 200var parent = token.Parent; 1544SyntaxNode child) 1594SyntaxNode child) 1899SyntaxNode node) 2065var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2106var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2116private IEnumerable<TypeInferenceInfo> InferTypeInMethodLikeDeclaration(SyntaxNode declaration) 2129private ISymbol GetDeclaredMemberSymbolFromOriginalSemanticModel(SyntaxNode declarationInCurrentTree) 2285private ImmutableArray<TypeInferenceInfo> InferTypeBasedOnLaterUsage(ISymbol symbol, SyntaxNode afterNode) 2289var container = afterNode.AncestorsAndSelf().FirstOrDefault(a => a is BlockSyntax or SwitchSectionSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (18)
119var node = location.Location.FindNode(getInnermostNodeForTie: true, cancellationToken); 133public static bool IsFunctionDeclaration(SyntaxNode node) 136public static SyntaxNode GetBody(SyntaxNode functionDeclaration) 139BaseMethodDeclarationSyntax methodDeclaration => (SyntaxNode?)methodDeclaration.Body ?? methodDeclaration.ExpressionBody!, 140LocalFunctionStatementSyntax localFunction => (SyntaxNode?)localFunction.Body ?? localFunction.ExpressionBody!, 145private static SyntaxToken? TryGetSemicolonToken(SyntaxNode functionDeclaration) 157public static SyntaxNode? TryGetLastStatement(IBlockOperation? blockStatement) 164SyntaxNode functionDeclaration, 166SyntaxNode? statementToAddAfterOpt, 169var body = GetBody(functionDeclaration); 231public static bool IsExpressionBody(SyntaxNode body) 235SyntaxNode body, 252public static SyntaxNode? GetAccessorBody(IMethodSymbol accessor, CancellationToken cancellationToken) 254var node = accessor.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken); 256return accessorDeclaration.ExpressionBody ?? (SyntaxNode?)accessorDeclaration.Body; 265public static SyntaxNode RemoveThrowNotImplemented(SyntaxNode node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\SemanticModelReuse\CSharpSemanticModelReuseLanguageService.cs (5)
39public override SyntaxNode? TryGetContainingMethodBodyForSpeculation(SyntaxNode node) 41for (SyntaxNode? previous = null, current = node; current != null; previous = current, current = current.Parent) 54protected override SemanticModel? TryGetSpeculativeSemanticModelWorker(SemanticModel previousSemanticModel, SyntaxNode previousBodyNode, SyntaxNode currentBodyNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\CSharpSimplificationHelpers.cs (3)
15public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken) 33var parent = parentOfToken.Parent; 57public static T AppendElasticTriviaIfNecessary<T>(T rewrittenNode, T originalNode) where T : SyntaxNode
SuperFileCheck (4)
Program.cs (4)
186static TypeDeclarationSyntax GetEnclosingTypeDeclaration(SyntaxNode node) 199static TypeDeclarationSyntax[] GetEnclosingTypeDeclarations(SyntaxNode node) 251static IEnumerable<SyntaxTrivia> GetDescendantSingleLineCommentTrivia(SyntaxNode node) 266var root = syntaxTree.GetRoot();
System.Private.CoreLib.Generators (5)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (5)
290var propertyDefiningSyntax = symbolInfo.Symbol.DeclaringSyntaxReferences[0].GetSyntax(); 567SyntaxNode? previousNode = null; 570foreach (var ancestorNode in ancestorNodes) 596bool HandleConditionalCase(ExpressionSyntax condition, SyntaxNode? syntaxOnPositiveCondition, SyntaxNode? syntaxOnNegativeCondition)
System.Text.RegularExpressions.Generator (40)
UpgradeToGeneratedRegexAnalyzer.cs (2)
77SyntaxNode? syntaxNodeForDiagnostic = context.Operation.Syntax; 166private static Location GetLocationBeforeArguments(SyntaxNode syntaxNode)
UpgradeToGeneratedRegexCodeFixer.cs (38)
47if (await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false) is not SyntaxNode root || 48root.FindNode(context.Span, getInnermostNodeForTie: true) is not SyntaxNode node) 55SyntaxNode? nodeToFix = node.AncestorsAndSelf().FirstOrDefault(n => n is InvocationExpressionSyntax or ObjectCreationExpressionSyntax or ImplicitObjectCreationExpressionSyntax); 94Document document, SyntaxNode root, SyntaxNode nodeToFix, CancellationToken cancellationToken) 108SyntaxNode? typeDeclarationOrCompilationUnit = 153SyntaxNode replacement = generator.IdentifierName(memberName); 169SyntaxNode newTypeDeclarationOrCompilationUnit = typeDeclarationOrCompilationUnit.ReplaceNode(nodeToFix, WithTrivia(replacement, nodeToFix)); 172SyntaxNode newMember = SyntaxFactory.PropertyDeclaration( 191private static async Task<Document> ConvertFieldToGeneratedRegexProperty(Document document, SyntaxNode root, SyntaxNode nodeToFix, FieldDeclarationSyntax fieldDeclaration, CancellationToken cancellationToken) 216SyntaxNode newMember = SyntaxFactory.PropertyDeclaration( 229var typeDeclarationOrCompilationUnit = nodeToFix.Ancestors().OfType<TypeDeclarationSyntax>().FirstOrDefault(t => t is not ExtensionBlockDeclarationSyntax) ?? root; 243Document document, SyntaxNode root, SyntaxNode nodeToFix, PropertyDeclarationSyntax propertyDeclaration, CancellationToken cancellationToken) 266SyntaxNode newMember = SyntaxFactory.PropertyDeclaration( 274var typeDeclarationOrCompilationUnit = nodeToFix.Ancestors().OfType<TypeDeclarationSyntax>().FirstOrDefault(t => t is not ExtensionBlockDeclarationSyntax) ?? root; 289SyntaxNode root, INamedTypeSymbol generatedRegexSymbol, 291SyntaxNode? oldMember, SyntaxNode newMember, 292SyntaxNode oldTypeDeclarationOrCompilationUnit, SyntaxNode newTypeDeclarationOrCompilationUnit) 295SyntaxNode? patternValue = GeneratePatternOrOptionsArgumentNode(operationArguments, generator, UpgradeToGeneratedRegexAnalyzer.PatternArgumentName); 296SyntaxNode? regexOptionsValue = GeneratePatternOrOptionsArgumentNode(operationArguments, generator, UpgradeToGeneratedRegexAnalyzer.OptionsArgumentName); 317SyntaxNode? cultureNameValue = null; 336_ => Array.Empty<SyntaxNode>(), 360private static SyntaxNode? TryPartialize<TParent>(SyntaxNode nodeToFix, [NotNullIfNotNull(nameof(parent))] ref TParent? parent, ref SyntaxNode root) where TParent : SyntaxNode 362var trackedRoot = root.TrackNodes(parent is null ? [nodeToFix] : [nodeToFix, parent]); 396private static SyntaxNode? GeneratePatternOrOptionsArgumentNode(ImmutableArray<IArgumentOperation> arguments, SyntaxGenerator generator, string parameterName) 458private static SyntaxNode WithTrivia(SyntaxNode newNode, SyntaxNode originalNode) => 488INamedTypeSymbol regexSymbol, SyntaxNode nodeToFix, 505SyntaxNode declSyntax = syntaxRef.GetSyntax(cancellationToken); 515foreach (SyntaxNode descendant in declSyntax.DescendantNodes())
System.Windows.Forms.Analyzers.CodeFixes.CSharp (2)
System\Windows\Forms\CSharp\CodeFixes\AddDesignerSerializationVisibility\AddDesignerSerializationVisibilityCodeFixProvider.cs (2)
33SyntaxNode root = (await context 78SyntaxNode root = (await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false))!;
System.Windows.Forms.Analyzers.CodeFixes.VisualBasic (2)
AddDesignerSerializationVisibility\AddDesignerSerializationVisibilityCodeFixProvider.vb (2)
39Dim root As SyntaxNode = Await context. 107Dim root As SyntaxNode = Await document.
System.Windows.Forms.Analyzers.CSharp (6)
System\Windows\Forms\CSharp\Analyzers\Designer\InitializeComponentAnalyzer.cs (4)
76SyntaxNode? body = (SyntaxNode?)method.Body ?? method.ExpressionBody; 83foreach (SyntaxNode node in body.DescendantNodes(descendIntoChildren: node => node is not AnonymousFunctionExpressionSyntax and not LocalFunctionStatementSyntax)) 109SyntaxNode node,
System\Windows\Forms\CSharp\Generators\ApplicationConfiguration\ApplicationConfigurationGenerator.cs (2)
58private static string? GetUserProjectNamespace(SyntaxNode node) 108public static bool IsSupportedSyntaxNode(SyntaxNode syntaxNode) =>
System.Windows.Forms.Analyzers.VisualBasic (1)
Analyzers\Designer\InitializeComponentAnalyzer.vb (1)
72For Each node As SyntaxNode In method.Statements.SelectMany(
System.Windows.Forms.PrivateSourceGenerators (4)
System\Windows\Forms\SourceGenerators\EnumValidationGenerator.cs (4)
40IncrementalValuesProvider<SyntaxNode> argumentsToValidate = context.SyntaxProvider.CreateSyntaxProvider( 72return (SyntaxNode)argumentToValidate; 198private static IEnumerable<EnumValidationInfo> GetEnumValidationInfo(Compilation compilation, ImmutableArray<SyntaxNode> argumentsToValidate, CancellationToken cancellationToken) 209foreach (SyntaxNode argument in argumentsToValidate)