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

Respond to review feedback. Rename OwningSymbol "ContainingSymbol".

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