From 3728aac9e3354a6521452d4e8b99a7df5493d2b6 Mon Sep 17 00:00:00 2001 From: John Hamby Date: Thu, 4 Feb 2016 15:20:16 -0800 Subject: [PATCH] Respond to review feedback. Rename OwningSymbol "ContainingSymbol". --- .../Diagnostics/DiagnosticAnalyzerTests.cs | 2 +- .../Diagnostics/OperationTestAnalyzer.cs | 2 +- .../DiagnosticAnalyzer/AnalyzerExecutor.cs | 36 +++++++++---------- .../DiagnosticAnalysisContext.cs | 25 +++++-------- .../Core/Portable/PublicAPI.Unshipped.txt | 8 ++--- .../Diagnostics/DiagnosticAnalyzerTests.vb | 2 +- 6 files changed, 34 insertions(+), 41 deletions(-) diff --git a/src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs b/src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs index a75f0a2a635..4bedc4a06eb 100644 --- a/src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs +++ b/src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs @@ -1376,7 +1376,7 @@ public sealed override void Initialize(AnalysisContext context) context.RegisterSyntaxNodeAction( (nodeContext) => { - if (nodeContext.OwningSymbol.Name.StartsWith("Funky") && nodeContext.Compilation.Language == "C#") + if (nodeContext.ContainingSymbol.Name.StartsWith("Funky") && nodeContext.Compilation.Language == "C#") { nodeContext.ReportDiagnostic(CodeAnalysis.Diagnostic.Create(ExpressionDescriptor, nodeContext.Node.GetLocation())); } diff --git a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs index 4b601bbfd2a..cfc3e31e6ec 100644 --- a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs +++ b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs @@ -92,7 +92,7 @@ public sealed override void Initialize(AnalysisContext context) context.RegisterOperationAction( (operationContext) => { - if (operationContext.OwningSymbol.Name.StartsWith("Funky") && operationContext.Compilation.Language != "Mumble") + if (operationContext.ContainingSymbol.Name.StartsWith("Funky") && operationContext.Compilation.Language != "Mumble") { operationContext.ReportDiagnostic(Diagnostic.Create(ExpressionDescriptor, operationContext.Operation.Syntax.GetLocation())); } diff --git a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs index 4aeea689fc5..1ee17f516d7 100644 --- a/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs +++ b/src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs @@ -480,7 +480,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray( SyntaxNodeAnalyzerAction syntaxNodeAction, SyntaxNode node, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel semanticModel, Action addDiagnostic, SyntaxNodeAnalyzerStateData analyzerStateOpt) @@ -490,7 +490,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray IsSupportedDiagnostic(syntaxNodeAction.Analyzer, d), _cancellationToken); ExecuteAndCatchIfThrows(syntaxNodeAction.Analyzer, () => syntaxNodeAction.Action(syntaxNodeContext), @@ -503,7 +503,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray addDiagnostic, OperationAnalyzerStateData analyzerStateOpt) @@ -512,7 +512,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray IsSupportedDiagnostic(operationAction.Analyzer, d), semanticModel, _cancellationToken); + var operationContext = new OperationAnalysisContext(operation, containingSymbol, semanticModel.Compilation, _analyzerOptions, addDiagnostic, d => IsSupportedDiagnostic(operationAction.Analyzer, d), _cancellationToken); ExecuteAndCatchIfThrows(operationAction.Analyzer, () => operationAction.Action(operationContext), new AnalysisContextInfo(_compilation, operation)); @@ -840,7 +840,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray nodesToAnalyze, IDictionary>> nodeActionsByKind, DiagnosticAnalyzer analyzer, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, Func getKind, TextSpan filterSpan, @@ -849,13 +849,13 @@ private void ExecuteCompilationActionsCore(ImmutableArray( IEnumerable nodesToAnalyze, IDictionary>> nodeActionsByKind, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, Func getKind, Action addDiagnostic, @@ -868,7 +868,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray( SyntaxNode node, IDictionary>> nodeActionsByKind, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, Func getKind, Action addDiagnostic, @@ -897,7 +897,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray operationsToAnalyze, IDictionary> operationActionsByKind, DiagnosticAnalyzer analyzer, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, TextSpan filterSpan, OperationAnalyzerStateData analyzerStateOpt, bool isGeneratedCode) { var addDiagnostic = GetAddDiagnostic(model.SyntaxTree, filterSpan, analyzer, isSyntaxDiagnostic: false, isGeneratedCode: isGeneratedCode); - ExecuteOperationActions(operationsToAnalyze, operationActionsByKind, owningSymbol, model, addDiagnostic, analyzerStateOpt); + ExecuteOperationActions(operationsToAnalyze, operationActionsByKind, containingSymbol, model, addDiagnostic, analyzerStateOpt); } private void ExecuteOperationActions( IEnumerable operationsToAnalyze, IDictionary> operationActionsByKind, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, Action addDiagnostic, OperationAnalyzerStateData analyzerStateOpt) @@ -990,7 +990,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray> operationActionsByKind, - ISymbol owningSymbol, + ISymbol containingSymbol, SemanticModel model, Action addDiagnostic, OperationAnalyzerStateData analyzerStateOpt) @@ -1017,7 +1017,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray _reportDiagnostic; @@ -944,7 +944,7 @@ public struct SyntaxNodeAnalysisContext /// /// for the declaration containing the syntax node. /// - public ISymbol OwningSymbol => _owningSymbol; + public ISymbol ContainingSymbol => _containingSymbol; /// /// that can provide semantic information about the . @@ -966,10 +966,10 @@ public struct SyntaxNodeAnalysisContext /// public CancellationToken CancellationToken => _cancellationToken; - public SyntaxNodeAnalysisContext(SyntaxNode node, ISymbol owningSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action reportDiagnostic, Func isSupportedDiagnostic, CancellationToken cancellationToken) + public SyntaxNodeAnalysisContext(SyntaxNode node, ISymbol containingSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action reportDiagnostic, Func isSupportedDiagnostic, CancellationToken cancellationToken) { _node = node; - _owningSymbol = owningSymbol; + _containingSymbol = containingSymbol; _semanticModel = semanticModel; _options = options; _reportDiagnostic = reportDiagnostic; @@ -1003,8 +1003,7 @@ public void ReportDiagnostic(Diagnostic diagnostic) public struct OperationAnalysisContext { private readonly IOperation _operation; - private readonly ISymbol _owningSymbol; - private readonly SemanticModel _semanticModelOpt; + private readonly ISymbol _containingSymbol; private readonly Compilation _compilation; private readonly AnalyzerOptions _options; private readonly Action _reportDiagnostic; @@ -1019,7 +1018,7 @@ public struct OperationAnalysisContext /// /// for the declaration containing the operation. /// - public ISymbol OwningSymbol => _owningSymbol; + public ISymbol ContainingSymbol => _containingSymbol; /// /// containing the . @@ -1036,16 +1035,10 @@ public struct OperationAnalysisContext /// public CancellationToken CancellationToken => _cancellationToken; - public OperationAnalysisContext(IOperation operation, ISymbol owningSymbol, Compilation compilation, AnalyzerOptions options, Action reportDiagnostic, Func isSupportedDiagnostic, CancellationToken cancellationToken) - : this(operation, owningSymbol, compilation, options, reportDiagnostic, isSupportedDiagnostic, semanticModel: null, cancellationToken: cancellationToken) - { - } - - internal OperationAnalysisContext(IOperation operation, ISymbol owningSymbol, Compilation compilation, AnalyzerOptions options, Action reportDiagnostic, Func isSupportedDiagnostic, SemanticModel semanticModel, CancellationToken cancellationToken) + public OperationAnalysisContext(IOperation operation, ISymbol containingSymbol, Compilation compilation, AnalyzerOptions options, Action reportDiagnostic, Func isSupportedDiagnostic, CancellationToken cancellationToken) { _operation = operation; - _owningSymbol = owningSymbol; - _semanticModelOpt = semanticModel; + _containingSymbol = containingSymbol; _compilation = compilation; _options = options; _reportDiagnostic = reportDiagnostic; @@ -1059,7 +1052,7 @@ internal OperationAnalysisContext(IOperation operation, ISymbol owningSymbol, Co /// to be reported. public void ReportDiagnostic(Diagnostic diagnostic) { - DiagnosticAnalysisContextHelpers.VerifyArguments(diagnostic, _semanticModelOpt?.Compilation, _isSupportedDiagnostic); + DiagnosticAnalysisContextHelpers.VerifyArguments(diagnostic, _compilation, _isSupportedDiagnostic); lock (_reportDiagnostic) { _reportDiagnostic(diagnostic); diff --git a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt index 18db022758f..745e12e95b1 100644 --- a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt +++ b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt @@ -14,10 +14,10 @@ Microsoft.CodeAnalysis.Diagnostics.GeneratedCodeAnalysisFlags.ReportDiagnostics Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.Compilation.get -> Microsoft.CodeAnalysis.Compilation +Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.ContainingSymbol.get -> Microsoft.CodeAnalysis.ISymbol Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.Operation.get -> Microsoft.CodeAnalysis.Semantics.IOperation -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.OperationAnalysisContext(Microsoft.CodeAnalysis.Semantics.IOperation operation, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.Compilation compilation, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void +Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.OperationAnalysisContext(Microsoft.CodeAnalysis.Semantics.IOperation operation, Microsoft.CodeAnalysis.ISymbol containingSymbol, Microsoft.CodeAnalysis.Compilation compilation, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.Options.get -> Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions -Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.OwningSymbol.get -> Microsoft.CodeAnalysis.ISymbol Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.ReportDiagnostic(Microsoft.CodeAnalysis.Diagnostic diagnostic) -> void Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext Microsoft.CodeAnalysis.Diagnostics.OperationBlockAnalysisContext.CancellationToken.get -> System.Threading.CancellationToken @@ -34,8 +34,8 @@ Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.Options.ge Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.OwningSymbol.get -> Microsoft.CodeAnalysis.ISymbol Microsoft.CodeAnalysis.Diagnostics.OperationBlockStartAnalysisContext.RegisterOperationAction(System.Action action, params Microsoft.CodeAnalysis.Semantics.OperationKind[] operationKinds) -> void Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.Compilation.get -> Microsoft.CodeAnalysis.Compilation -Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.OwningSymbol.get -> Microsoft.CodeAnalysis.ISymbol -Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.SyntaxNodeAnalysisContext(Microsoft.CodeAnalysis.SyntaxNode node, Microsoft.CodeAnalysis.ISymbol owningSymbol, Microsoft.CodeAnalysis.SemanticModel semanticModel, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void +Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.ContainingSymbol.get -> Microsoft.CodeAnalysis.ISymbol +Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.SyntaxNodeAnalysisContext(Microsoft.CodeAnalysis.SyntaxNode node, Microsoft.CodeAnalysis.ISymbol containingSymbol, Microsoft.CodeAnalysis.SemanticModel semanticModel, Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions options, System.Action reportDiagnostic, System.Func isSupportedDiagnostic, System.Threading.CancellationToken cancellationToken) -> void Microsoft.CodeAnalysis.Diagnostics.Telemetry.AnalyzerTelemetryInfo.OperationActionsCount.get -> int Microsoft.CodeAnalysis.Diagnostics.Telemetry.AnalyzerTelemetryInfo.OperationBlockActionsCount.get -> int Microsoft.CodeAnalysis.Diagnostics.Telemetry.AnalyzerTelemetryInfo.OperationBlockEndActionsCount.get -> int diff --git a/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb b/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb index ef3c028a8d6..d8790779496 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb @@ -941,7 +941,7 @@ End Class Public NotOverridable Overrides Sub Initialize(context As AnalysisContext) context.RegisterSyntaxNodeAction( Sub(nodeContext) - If nodeContext.OwningSymbol.Name.StartsWith("Funky") AndAlso nodeContext.Compilation.Language = "Visual Basic" Then + If nodeContext.ContainingSymbol.Name.StartsWith("Funky") AndAlso nodeContext.Compilation.Language = "Visual Basic" Then nodeContext.ReportDiagnostic(CodeAnalysis.Diagnostic.Create(ExpressionDescriptor, nodeContext.Node.GetLocation())) End If End Sub, -- GitLab