提交 3728aac9 编写于 作者: J John Hamby

Respond to review feedback. Rename OwningSymbol "ContainingSymbol".

上级 48c7a2b2
......@@ -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()));
}
......
......@@ -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()));
}
......
......@@ -480,7 +480,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private void ExecuteSyntaxNodeAction<TLanguageKindEnum>(
SyntaxNodeAnalyzerAction<TLanguageKindEnum> syntaxNodeAction,
SyntaxNode node,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel semanticModel,
Action<Diagnostic> addDiagnostic,
SyntaxNodeAnalyzerStateData analyzerStateOpt)
......@@ -490,7 +490,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
if (ShouldExecuteAction(analyzerStateOpt, syntaxNodeAction))
{
var syntaxNodeContext = new SyntaxNodeAnalysisContext(node, owningSymbol, semanticModel, _analyzerOptions, addDiagnostic,
var syntaxNodeContext = new SyntaxNodeAnalysisContext(node, containingSymbol, semanticModel, _analyzerOptions, addDiagnostic,
d => IsSupportedDiagnostic(syntaxNodeAction.Analyzer, d), _cancellationToken);
ExecuteAndCatchIfThrows(syntaxNodeAction.Analyzer,
() => syntaxNodeAction.Action(syntaxNodeContext),
......@@ -503,7 +503,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private void ExecuteOperationAction(
OperationAnalyzerAction operationAction,
IOperation operation,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel semanticModel,
Action<Diagnostic> addDiagnostic,
OperationAnalyzerStateData analyzerStateOpt)
......@@ -512,7 +512,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
if (ShouldExecuteAction(analyzerStateOpt, operationAction))
{
var operationContext = new OperationAnalysisContext(operation, owningSymbol, semanticModel.Compilation, _analyzerOptions, addDiagnostic, d => 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<CompilationAnalyzerAct
IEnumerable<SyntaxNode> nodesToAnalyze,
IDictionary<TLanguageKindEnum, ImmutableArray<SyntaxNodeAnalyzerAction<TLanguageKindEnum>>> nodeActionsByKind,
DiagnosticAnalyzer analyzer,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel model,
Func<SyntaxNode, TLanguageKindEnum> getKind,
TextSpan filterSpan,
......@@ -849,13 +849,13 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
where TLanguageKindEnum : struct
{
var addDiagnostic = GetAddDiagnostic(model.SyntaxTree, filterSpan, analyzer, isSyntaxDiagnostic: false, isGeneratedCode: isGeneratedCode);
ExecuteSyntaxNodeActions(nodesToAnalyze, nodeActionsByKind, owningSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
ExecuteSyntaxNodeActions(nodesToAnalyze, nodeActionsByKind, containingSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
}
private void ExecuteSyntaxNodeActions<TLanguageKindEnum>(
IEnumerable<SyntaxNode> nodesToAnalyze,
IDictionary<TLanguageKindEnum, ImmutableArray<SyntaxNodeAnalyzerAction<TLanguageKindEnum>>> nodeActionsByKind,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel model,
Func<SyntaxNode, TLanguageKindEnum> getKind,
Action<Diagnostic> addDiagnostic,
......@@ -868,7 +868,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
SyntaxNode partiallyProcessedNode = analyzerStateOpt?.CurrentNode;
if (partiallyProcessedNode != null)
{
ExecuteSyntaxNodeActions(partiallyProcessedNode, nodeActionsByKind, owningSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
ExecuteSyntaxNodeActions(partiallyProcessedNode, nodeActionsByKind, containingSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
}
foreach (var child in nodesToAnalyze)
......@@ -877,7 +877,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
SetCurrentNode(analyzerStateOpt, child);
ExecuteSyntaxNodeActions(child, nodeActionsByKind, owningSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
ExecuteSyntaxNodeActions(child, nodeActionsByKind, containingSymbol, model, getKind, addDiagnostic, analyzerStateOpt);
}
}
}
......@@ -885,7 +885,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private void ExecuteSyntaxNodeActions<TLanguageKindEnum>(
SyntaxNode node,
IDictionary<TLanguageKindEnum, ImmutableArray<SyntaxNodeAnalyzerAction<TLanguageKindEnum>>> nodeActionsByKind,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel model,
Func<SyntaxNode, TLanguageKindEnum> getKind,
Action<Diagnostic> addDiagnostic,
......@@ -897,7 +897,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
foreach (var action in actionsForKind)
{
ExecuteSyntaxNodeAction(action, node, owningSymbol, model, addDiagnostic, analyzerStateOpt);
ExecuteSyntaxNodeAction(action, node, containingSymbol, model, addDiagnostic, analyzerStateOpt);
}
}
......@@ -966,20 +966,20 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
IEnumerable<IOperation> operationsToAnalyze,
IDictionary<OperationKind, ImmutableArray<OperationAnalyzerAction>> 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<IOperation> operationsToAnalyze,
IDictionary<OperationKind, ImmutableArray<OperationAnalyzerAction>> operationActionsByKind,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel model,
Action<Diagnostic> addDiagnostic,
OperationAnalyzerStateData analyzerStateOpt)
......@@ -990,7 +990,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
IOperation partiallyProcessedNode = analyzerStateOpt?.CurrentOperation;
if (partiallyProcessedNode != null)
{
ExecuteOperationActions(partiallyProcessedNode, operationActionsByKind, owningSymbol, model, addDiagnostic, analyzerStateOpt);
ExecuteOperationActions(partiallyProcessedNode, operationActionsByKind, containingSymbol, model, addDiagnostic, analyzerStateOpt);
}
foreach (var child in operationsToAnalyze)
......@@ -999,7 +999,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
SetCurrentOperation(analyzerStateOpt, child);
ExecuteOperationActions(child, operationActionsByKind, owningSymbol, model, addDiagnostic, analyzerStateOpt);
ExecuteOperationActions(child, operationActionsByKind, containingSymbol, model, addDiagnostic, analyzerStateOpt);
}
}
}
......@@ -1007,7 +1007,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private void ExecuteOperationActions(
IOperation operation,
IDictionary<OperationKind, ImmutableArray<OperationAnalyzerAction>> operationActionsByKind,
ISymbol owningSymbol,
ISymbol containingSymbol,
SemanticModel model,
Action<Diagnostic> addDiagnostic,
OperationAnalyzerStateData analyzerStateOpt)
......@@ -1017,7 +1017,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
foreach (var action in actionsForKind)
{
ExecuteOperationAction(action, operation, owningSymbol, model, addDiagnostic, analyzerStateOpt);
ExecuteOperationAction(action, operation, containingSymbol, model, addDiagnostic, analyzerStateOpt);
}
}
......
......@@ -929,7 +929,7 @@ public void ReportDiagnostic(Diagnostic diagnostic)
public struct SyntaxNodeAnalysisContext
{
private readonly SyntaxNode _node;
private readonly ISymbol _owningSymbol;
private readonly ISymbol _containingSymbol;
private readonly SemanticModel _semanticModel;
private readonly AnalyzerOptions _options;
private readonly Action<Diagnostic> _reportDiagnostic;
......@@ -944,7 +944,7 @@ public struct SyntaxNodeAnalysisContext
/// <summary>
/// <see cref="ISymbol"/> for the declaration containing the syntax node.
/// </summary>
public ISymbol OwningSymbol => _owningSymbol;
public ISymbol ContainingSymbol => _containingSymbol;
/// <summary>
/// <see cref="CodeAnalysis.SemanticModel"/> that can provide semantic information about the <see cref="SyntaxNode"/>.
......@@ -966,10 +966,10 @@ public struct SyntaxNodeAnalysisContext
/// </summary>
public CancellationToken CancellationToken => _cancellationToken;
public SyntaxNodeAnalysisContext(SyntaxNode node, ISymbol owningSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> isSupportedDiagnostic, CancellationToken cancellationToken)
public SyntaxNodeAnalysisContext(SyntaxNode node, ISymbol containingSymbol, SemanticModel semanticModel, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> 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<Diagnostic> _reportDiagnostic;
......@@ -1019,7 +1018,7 @@ public struct OperationAnalysisContext
/// <summary>
/// <see cref="ISymbol"/> for the declaration containing the operation.
/// </summary>
public ISymbol OwningSymbol => _owningSymbol;
public ISymbol ContainingSymbol => _containingSymbol;
/// <summary>
/// <see cref="CodeAnalysis.Compilation"/> containing the <see cref="IOperation"/>.
......@@ -1036,16 +1035,10 @@ public struct OperationAnalysisContext
/// </summary>
public CancellationToken CancellationToken => _cancellationToken;
public OperationAnalysisContext(IOperation operation, ISymbol owningSymbol, Compilation compilation, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> 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<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> isSupportedDiagnostic, SemanticModel semanticModel, CancellationToken cancellationToken)
public OperationAnalysisContext(IOperation operation, ISymbol containingSymbol, Compilation compilation, AnalyzerOptions options, Action<Diagnostic> reportDiagnostic, Func<Diagnostic, bool> 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
/// <param name="diagnostic"><see cref="Diagnostic"/> to be reported.</param>
public void ReportDiagnostic(Diagnostic diagnostic)
{
DiagnosticAnalysisContextHelpers.VerifyArguments(diagnostic, _semanticModelOpt?.Compilation, _isSupportedDiagnostic);
DiagnosticAnalysisContextHelpers.VerifyArguments(diagnostic, _compilation, _isSupportedDiagnostic);
lock (_reportDiagnostic)
{
_reportDiagnostic(diagnostic);
......
......@@ -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<Microsoft.CodeAnalysis.Diagnostic> reportDiagnostic, System.Func<Microsoft.CodeAnalysis.Diagnostic, bool> 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<Microsoft.CodeAnalysis.Diagnostic> reportDiagnostic, System.Func<Microsoft.CodeAnalysis.Diagnostic, bool> 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<Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext> 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<Microsoft.CodeAnalysis.Diagnostic> reportDiagnostic, System.Func<Microsoft.CodeAnalysis.Diagnostic, bool> 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<Microsoft.CodeAnalysis.Diagnostic> reportDiagnostic, System.Func<Microsoft.CodeAnalysis.Diagnostic, bool> 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
......
......@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册