From ee2eeed3cc78f39952b0a83c91352d9915c2267b Mon Sep 17 00:00:00 2001 From: John Hamby Date: Wed, 21 Oct 2015 22:54:34 -0700 Subject: [PATCH] Respond to review feedback. --- Roslyn.sln | 60 +++++++------- .../Diagnostics/SystemLanguageAnalyzer.cs | 10 +-- .../DiagnosticAnalyzer/AnalyzerDriver.cs | 81 ++++++++++--------- .../DiagnosticAnalyzer/AnalyzerExecutor.cs | 21 ++--- .../DiagnosticAnalysisContext.cs | 2 +- .../Core/Portable/PublicAPI.Unshipped.txt | 18 ++--- 6 files changed, 92 insertions(+), 100 deletions(-) diff --git a/Roslyn.sln b/Roslyn.sln index 33db8f645b8..fa40d53ab79 100644 --- a/Roslyn.sln +++ b/Roslyn.sln @@ -134,7 +134,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InteractiveWindow", "src\In EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpEditorServicesTest", "src\EditorFeatures\CSharpTest\CSharpEditorServicesTest.csproj", "{AC2BCEFB-9298-4621-AC48-1FF5E639E48D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpEditorServicesTest2", "src\EditorFeatures\CSharpTest2\CSharpEditorServicesTest2.csproj", "{16e93074-4252-466c-89a3-3b905abaf779}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpEditorServicesTest2", "src\EditorFeatures\CSharpTest2\CSharpEditorServicesTest2.csproj", "{16E93074-4252-466C-89A3-3B905ABAF779}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EditorServicesTest", "src\EditorFeatures\Test\EditorServicesTest.csproj", "{8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}" EndProject @@ -1436,26 +1436,26 @@ Global {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|x64.Build.0 = Release|Any CPU {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|x86.ActiveCfg = Release|Any CPU {AC2BCEFB-9298-4621-AC48-1FF5E639E48D}.Release|x86.Build.0 = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|Any CPU.Build.0 = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|ARM.ActiveCfg = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|ARM.Build.0 = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|x64.ActiveCfg = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|x64.Build.0 = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|x86.ActiveCfg = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Debug|x86.Build.0 = Debug|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|Any CPU.ActiveCfg = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|Any CPU.Build.0 = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|ARM.ActiveCfg = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|ARM.Build.0 = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|x64.ActiveCfg = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|x64.Build.0 = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|x86.ActiveCfg = Release|Any CPU - {16e93074-4252-466c-89a3-3b905abaf779}.Release|x86.Build.0 = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|ARM.ActiveCfg = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|ARM.Build.0 = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|x64.ActiveCfg = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|x64.Build.0 = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|x86.ActiveCfg = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Debug|x86.Build.0 = Debug|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|Any CPU.ActiveCfg = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|Any CPU.Build.0 = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|ARM.ActiveCfg = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|ARM.Build.0 = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|x64.ActiveCfg = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|x64.Build.0 = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|x86.ActiveCfg = Release|Any CPU + {16E93074-4252-466C-89A3-3B905ABAF779}.Release|x86.Build.0 = Release|Any CPU {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|Any CPU.Build.0 = Debug|Any CPU {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -2638,22 +2638,22 @@ Global {ECBB1F28-2672-4344-8CB3-83882F291739}.Release|x86.Build.0 = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Any CPU.Build.0 = Debug|Any CPU - {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.ActiveCfg = Debug|ARM - {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.Build.0 = Debug|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.ActiveCfg = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|ARM.Build.0 = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.ActiveCfg = Debug|x64 - {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.Build.0 = Debug|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.ActiveCfg = Debug|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x64.Build.0 = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x86.ActiveCfg = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Debug|x86.Build.0 = Debug|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Any CPU.ActiveCfg = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Any CPU.Build.0 = Release|Any CPU - {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.ActiveCfg = Release|ARM - {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.Build.0 = Release|ARM + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.ActiveCfg = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|ARM.Build.0 = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.ActiveCfg = Release|x64 - {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.Build.0 = Release|x64 + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.ActiveCfg = Release|Any CPU + {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x64.Build.0 = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x86.ActiveCfg = Release|Any CPU {308CEBD4-418A-4C3B-97A5-24723B288157}.Release|x86.Build.0 = Release|Any CPU {0835A7FB-C472-4F7D-A500-F9FD072CFF21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -2779,7 +2779,7 @@ Global {8E2A252E-A140-45A6-A81A-2652996EA589} = {2491A9B9-C0A8-49EE-9077-A32DE76E1E94} {01E9BD68-0339-4A13-B42F-A3CA84D164F3} = {999FBDA2-33DA-4F74-B957-03AC72CCE5EC} {AC2BCEFB-9298-4621-AC48-1FF5E639E48D} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} - {16e93074-4252-466c-89a3-3b905abaf779} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} + {16E93074-4252-466C-89A3-3B905ABAF779} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} {8CEE3609-A5A9-4A9B-86D7-33118F5D6B33} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} {3CEA0D69-00D3-40E5-A661-DC41EA07269B} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} {76C6F005-C89D-4348-BB4A-39189DDBEB52} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} diff --git a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/SystemLanguageAnalyzer.cs b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/SystemLanguageAnalyzer.cs index ab82faf937c..6d550fd5c55 100644 --- a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/SystemLanguageAnalyzer.cs +++ b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/SystemLanguageAnalyzer.cs @@ -45,13 +45,13 @@ public sealed override void Initialize(AnalysisContext context) if (containingMethod != null) { bool inConstructor = containingMethod.MethodKind == MethodKind.Constructor; - ITypeSymbol inStaticConstructor = containingMethod.MethodKind == MethodKind.StaticConstructor ? containingMethod.ContainingType : null; + ITypeSymbol staticConstructorType = containingMethod.MethodKind == MethodKind.StaticConstructor ? containingMethod.ContainingType : null; operationBlockContext.RegisterOperationAction( (operationContext) => { IAssignmentExpression assignment = (IAssignmentExpression)operationContext.Operation; - AssignTo(assignment.Target, inConstructor, inStaticConstructor, assignedToFields, mightBecomeReadOnlyFields); + AssignTo(assignment.Target, inConstructor, staticConstructorType, assignedToFields, mightBecomeReadOnlyFields); }, OperationKind.AssignmentExpression, OperationKind.CompoundAssignmentExpression); @@ -64,7 +64,7 @@ public sealed override void Initialize(AnalysisContext context) { if (argument.Parameter.RefKind == RefKind.Out || argument.Parameter.RefKind == RefKind.Ref) { - AssignTo(argument.Value, inConstructor, inStaticConstructor, assignedToFields, mightBecomeReadOnlyFields); + AssignTo(argument.Value, inConstructor, staticConstructorType, assignedToFields, mightBecomeReadOnlyFields); } } }, @@ -95,7 +95,7 @@ public sealed override void Initialize(AnalysisContext context) }); } - static void AssignTo(IExpression target, bool inConstructor, ITypeSymbol inStaticConstructor, HashSet assignedToFields, HashSet mightBecomeReadOnlyFields) + static void AssignTo(IExpression target, bool inConstructor, ITypeSymbol staticConstructorType, HashSet assignedToFields, HashSet mightBecomeReadOnlyFields) { if (target.Kind == OperationKind.FieldReferenceExpression) { @@ -113,7 +113,7 @@ static void AssignTo(IExpression target, bool inConstructor, ITypeSymbol inStati IFieldSymbol targetField = fieldReference.Field; - if (inStaticConstructor != null && targetField.IsStatic && targetField.ContainingType == inStaticConstructor) + if (staticConstructorType != null && targetField.IsStatic && targetField.ContainingType == staticConstructorType) { return; } diff --git a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs index 4dc468572b4..85a358e359f 100644 --- a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs +++ b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs @@ -1090,14 +1090,14 @@ private bool ShouldExecuteOperationActions(AnalysisScope analysisScope) return analysisScope.Analyzers.Any(analyzer => this.OperationActionsByAnalyzerAndKind.ContainsKey(analyzer)); } - private bool ShouldExecuteCodeBlockActions(AnalysisScope analysisScope, ISymbol symbol) + private bool ShouldExecuteBlockActions(ImmutableDictionary> blockStartActions, ImmutableDictionary> blockActions, AnalysisScope analysisScope, ISymbol symbol) { if (AnalyzerExecutor.CanHaveExecutableCodeBlock(symbol)) { foreach (var analyzer in analysisScope.Analyzers) { - if (this.CodeBlockStartActionsByAnalyzer.ContainsKey(analyzer) || - this.CodeBlockActionsByAnalyzer.ContainsKey(analyzer)) + if (blockStartActions.ContainsKey(analyzer) || + blockActions.ContainsKey(analyzer)) { return true; } @@ -1107,21 +1107,14 @@ private bool ShouldExecuteCodeBlockActions(AnalysisScope analysisScope, ISymbol return false; } - private bool ShouldExecuteOperationBlockActions(AnalysisScope analysisScope, ISymbol symbol) + private bool ShouldExecuteCodeBlockActions(AnalysisScope analysisScope, ISymbol symbol) { - if (AnalyzerExecutor.CanHaveExecutableCodeBlock(symbol)) - { - foreach (var analyzer in analysisScope.Analyzers) - { - if (this.OperationBlockStartActionsByAnalyzer.ContainsKey(analyzer) || - this.OperationBlockActionsByAnalyzer.ContainsKey(analyzer)) - { - return true; - } - } - } + return ShouldExecuteBlockActions(this.CodeBlockStartActionsByAnalyzer, this.CodeBlockActionsByAnalyzer, analysisScope, symbol); + } - return false; + private bool ShouldExecuteOperationBlockActions(AnalysisScope analysisScope, ISymbol symbol) + { + return ShouldExecuteBlockActions(this.OperationBlockStartActionsByAnalyzer, this.OperationBlockActionsByAnalyzer, analysisScope, symbol); } protected override void ExecuteDeclaringReferenceActions( @@ -1311,53 +1304,61 @@ private static void ComputeDeclarationsInNode(SemanticModel semanticModel, ISymb { // Compute the executable code blocks of interest. var executableCodeBlocks = ImmutableArray.Empty; + IEnumerable codeBlockActions = null; foreach (var declInNode in declarationAnalysisData.DeclarationsInNode) { if (declInNode.DeclaredNode == declarationAnalysisData.TopmostNodeForAnalysis || declInNode.DeclaredNode == declarationAnalysisData.DeclaringReferenceSyntax) { executableCodeBlocks = declInNode.ExecutableCodeBlocks; - - // Execute operation actions. - if ((shouldExecuteOperationActions || shouldExecuteOperationBlockActions) && executableCodeBlocks.Any()) + if (executableCodeBlocks.Any()) { - var operationBlocksToAnalyze = GetOperationBlocksToAnalyze(executableCodeBlocks, semanticModel, cancellationToken); - var operationsToAnalyze = GetOperationsToAnalyze(operationBlocksToAnalyze); + if (shouldExecuteCodeBlockActions || shouldExecuteOperationBlockActions) + { + codeBlockActions = GetCodeBlockActions(analysisScope); + } - if (!operationsToAnalyze.IsEmpty) + // Execute operation actions. + if (shouldExecuteOperationActions || shouldExecuteOperationBlockActions) { - if (shouldExecuteOperationActions) + var operationBlocksToAnalyze = GetOperationBlocksToAnalyze(executableCodeBlocks, semanticModel, cancellationToken); + var operationsToAnalyze = GetOperationsToAnalyze(operationBlocksToAnalyze); + + if (!operationsToAnalyze.IsEmpty) { - foreach (var analyzer in analysisScope.Analyzers) + if (shouldExecuteOperationActions) { - ImmutableDictionary> operationActionsByKind; - if (this.OperationActionsByAnalyzerAndKind.TryGetValue(analyzer, out operationActionsByKind)) + foreach (var analyzer in analysisScope.Analyzers) { - analyzerExecutor.ExecuteOperationActions(operationsToAnalyze, operationActionsByKind, - analyzer, semanticModel, declarationAnalysisData.TopmostNodeForAnalysis.FullSpan, decl, analysisScope, analysisStateOpt); + ImmutableDictionary> operationActionsByKind; + if (this.OperationActionsByAnalyzerAndKind.TryGetValue(analyzer, out operationActionsByKind)) + { + analyzerExecutor.ExecuteOperationActions(operationsToAnalyze, operationActionsByKind, + analyzer, semanticModel, declarationAnalysisData.TopmostNodeForAnalysis.FullSpan, decl, analysisScope, analysisStateOpt); + } } } - } - if (shouldExecuteOperationBlockActions) - { - foreach (var analyzerActions in GetCodeBlockActions(analysisScope)) + if (shouldExecuteOperationBlockActions) { - analyzerExecutor.ExecuteOperationBlockActions( - analyzerActions.OperationBlockStartActions, analyzerActions.OperationBlockActions, - analyzerActions.OpererationBlockEndActions, analyzerActions.Analyzer, declarationAnalysisData.TopmostNodeForAnalysis, symbol, - operationBlocksToAnalyze, operationsToAnalyze, semanticModel, decl, analysisScope, analysisStateOpt); + foreach (var analyzerActions in codeBlockActions) + { + analyzerExecutor.ExecuteOperationBlockActions( + analyzerActions.OperationBlockStartActions, analyzerActions.OperationBlockActions, + analyzerActions.OpererationBlockEndActions, analyzerActions.Analyzer, declarationAnalysisData.TopmostNodeForAnalysis, symbol, + operationBlocksToAnalyze, operationsToAnalyze, semanticModel, decl, analysisScope, analysisStateOpt); + } } } } - } - break; + break; + } } } if (executableCodeBlocks.Any() && shouldExecuteCodeBlockActions) { - foreach (var analyzerActions in GetCodeBlockActions(analysisScope)) + foreach (var analyzerActions in codeBlockActions) { analyzerExecutor.ExecuteCodeBlockActions( analyzerActions.CodeBlockStartActions, analyzerActions.CodeBlockActions, @@ -1393,7 +1394,7 @@ private struct CodeBlockAnalyzerActions public ImmutableArray OperationBlockActions; public ImmutableArray OpererationBlockEndActions; } - + private IEnumerable GetCodeBlockActions(AnalysisScope analysisScope) { foreach (var analyzer in analysisScope.Analyzers) diff --git a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs index f0dc38b37d8..fde5ff4a04b 100644 --- a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs +++ b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs @@ -454,7 +454,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray( IEnumerable> codeBlockStartActions, IEnumerable codeBlockActions, @@ -591,7 +591,6 @@ private void ExecuteCompilationActionsCore(ImmutableArray isSupportedDiagnostic = d => IsSupportedDiagnostic(blockAction.Analyzer, d); if (codeBlockAction != null) { - ExecuteAndCatchIfThrows(codeBlockAction.Analyzer, - () => - { - codeBlockAction.Action(new CodeBlockAnalysisContext(declaredNode, declaredSymbol, semanticModel, _analyzerOptions, addDiagnostic, isSupportedDiagnostic, _cancellationToken)); - }); + ExecuteAndCatchIfThrows( + codeBlockAction.Analyzer, + () => codeBlockAction.Action(new CodeBlockAnalysisContext(declaredNode, declaredSymbol, semanticModel, _analyzerOptions, addDiagnostic, isSupportedDiagnostic, _cancellationToken))); } else { var operationBlockAction = blockAction as OperationBlockAnalyzerAction; if (operationBlockAction != null) { - ExecuteAndCatchIfThrows(operationBlockAction.Analyzer, - () => - { - operationBlockAction.Action(new OperationBlockAnalysisContext(operationBlocks, declaredSymbol, _analyzerOptions, addDiagnostic, isSupportedDiagnostic, _cancellationToken)); - }); + ExecuteAndCatchIfThrows( + operationBlockAction.Analyzer, + () => operationBlockAction.Action(new OperationBlockAnalysisContext(operationBlocks, declaredSymbol, _analyzerOptions, addDiagnostic, isSupportedDiagnostic, _cancellationToken))); } } @@ -691,7 +686,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray>> GetNodeActionsByKind( IEnumerable> nodeActions) where TLanguageKindEnum : struct diff --git a/src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs b/src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs index 0604e001dae..3ab7e9eb7aa 100644 --- a/src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs +++ b/src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs @@ -712,7 +712,7 @@ public struct OperationBlockAnalysisContext /// /// Code block that is the subject of the analysis. /// - public ImmutableArray CodeBlock => _operationBlocks; + public ImmutableArray OperationBlocks => _operationBlocks; /// /// for which the code block provides a definition or value. diff --git a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt index 5a0bd71453c..4208189d407 100644 --- a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt +++ b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt @@ -80,12 +80,7 @@ Microsoft.CodeAnalysis.Diagnostics.AnalysisContext.RegisterOperationAction(Syste Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalysisContext.RegisterOperationAction(System.Action action, params Microsoft.CodeAnalysis.Semantics.OperationKind[] operationKinds) -> void abstract Microsoft.CodeAnalysis.Diagnostics.AnalysisContext.RegisterOperationAction(System.Action action, System.Collections.Immutable.ImmutableArray operationKinds) -> void abstract Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalysisContext.RegisterOperationAction(System.Action action, System.Collections.Immutable.ImmutableArray operationKinds) -> void -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.Options.get -> Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.ReportDiagnostic(Microsoft.CodeAnalysis.Diagnostic diagnostic) -> void -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.Operation.get -> Microsoft.CodeAnalysis.Semantics.IOperation -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.OperationAnalysisContext(Microsoft.CodeAnalysis.Semantics.IOperation operation, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void +abstract Microsoft.CodeAnalysis.Diagnostics.CompilationStartAnalysisContext.RegisterOperationBlockStartAction(System.Action action) -> void Microsoft.CodeAnalysis.Semantics.IOperation Microsoft.CodeAnalysis.Semantics.IOperation.Kind.get -> Microsoft.CodeAnalysis.Semantics.OperationKind Microsoft.CodeAnalysis.Semantics.IOperation.Syntax.get -> Microsoft.CodeAnalysis.SyntaxNode @@ -636,18 +631,19 @@ Microsoft.CodeAnalysis.Semantics.OperationKind.ConditionalAccessExpression = 60 Microsoft.CodeAnalysis.Semantics.OperationKind.IncrementExpression = 61 -> Microsoft.CodeAnalysis.Semantics.OperationKind Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken -Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.OperationBlock.get -> Microsoft.CodeAnalysis.Semantics.IOperation -Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.OperationBlockAnalysisContext(Microsoft.CodeAnalysis.Semantics.IOperation operationBlock, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void +Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.OperationBlocks.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.OperationBlockAnalysisContext(System.Collections.Immutable.ImmutableArray operationBlocks, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.Options.get -> Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.OwningSymbol.get -> Microsoft.CodeAnalysis.ISymbol Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.ReportDiagnostic(Microsoft.CodeAnalysis.Diagnostic diagnostic) -> void Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken -Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OperationBlock.get -> Microsoft.CodeAnalysis.Semantics.IOperation -Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OperationBlockStartAnalysisContext(Microsoft.CodeAnalysis.Semantics.IOperation operationBlock, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Threading.CancellationToken cancellationToken) -> void +Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OperationBlocks.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OperationBlockStartAnalysisContext(System.Collections.Immutable.ImmutableArray operationBlocks, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Threading.CancellationToken cancellationToken) -> void Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.Options.get -> Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OwningSymbol.get -> Microsoft.CodeAnalysis.ISymbol -abstract Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.RegisterOperationAction(System.Action action, params Microsoft.CodeAnalysis.Semantics.OperationKind[] operationKinds) -> void +Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.RegisterOperationAction(System.Action action, params Microsoft.CodeAnalysis.Semantics.OperationKind[] operationKinds) -> void +abstract Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.RegisterOperationAction(System.Action action, System.Collections.Immutable.ImmutableArray operationKinds) -> void abstract Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.RegisterOperationBlockEndAction(System.Action action) -> void Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken -- GitLab