Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
3728aac9
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3728aac9
编写于
2月 04, 2016
作者:
J
John Hamby
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Respond to review feedback. Rename OwningSymbol "ContainingSymbol".
上级
48c7a2b2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
34 addition
and
41 deletion
+34
-41
src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs
...harp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs
+1
-1
src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs
...ore/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs
+1
-1
src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs
...lers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs
+18
-18
src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs
.../Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs
+9
-16
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
+4
-4
src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb
...asic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb
+1
-1
未找到文件。
src/Compilers/CSharp/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.cs
浏览文件 @
3728aac9
...
...
@@ -1376,7 +1376,7 @@ public sealed override void Initialize(AnalysisContext context)
context
.
RegisterSyntaxNodeAction
(
(
nodeContext
)
=>
{
if
(
nodeContext
.
Ow
ningSymbol
.
Name
.
StartsWith
(
"Funky"
)
&&
nodeContext
.
Compilation
.
Language
==
"C#"
)
if
(
nodeContext
.
Contai
ningSymbol
.
Name
.
StartsWith
(
"Funky"
)
&&
nodeContext
.
Compilation
.
Language
==
"C#"
)
{
nodeContext
.
ReportDiagnostic
(
CodeAnalysis
.
Diagnostic
.
Create
(
ExpressionDescriptor
,
nodeContext
.
Node
.
GetLocation
()));
}
...
...
src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs
浏览文件 @
3728aac9
...
...
@@ -92,7 +92,7 @@ public sealed override void Initialize(AnalysisContext context)
context
.
RegisterOperationAction
(
(
operationContext
)
=>
{
if
(
operationContext
.
Ow
ningSymbol
.
Name
.
StartsWith
(
"Funky"
)
&&
operationContext
.
Compilation
.
Language
!=
"Mumble"
)
if
(
operationContext
.
Contai
ningSymbol
.
Name
.
StartsWith
(
"Funky"
)
&&
operationContext
.
Compilation
.
Language
!=
"Mumble"
)
{
operationContext
.
ReportDiagnostic
(
Diagnostic
.
Create
(
ExpressionDescriptor
,
operationContext
.
Operation
.
Syntax
.
GetLocation
()));
}
...
...
src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecutor.cs
浏览文件 @
3728aac9
...
...
@@ -480,7 +480,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private
void
ExecuteSyntaxNodeAction
<
TLanguageKindEnum
>(
SyntaxNodeAnalyzerAction
<
TLanguageKindEnum
>
syntaxNodeAction
,
SyntaxNode
node
,
ISymbol
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
,
ow
ningSymbol
,
semanticModel
,
_analyzerOptions
,
addDiagnostic
,
var
syntaxNodeContext
=
new
SyntaxNodeAnalysisContext
(
node
,
contai
ningSymbol
,
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
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
,
ow
ningSymbol
,
model
,
getKind
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteSyntaxNodeActions
(
nodesToAnalyze
,
nodeActionsByKind
,
contai
ningSymbol
,
model
,
getKind
,
addDiagnostic
,
analyzerStateOpt
);
}
private
void
ExecuteSyntaxNodeActions
<
TLanguageKindEnum
>(
IEnumerable
<
SyntaxNode
>
nodesToAnalyze
,
IDictionary
<
TLanguageKindEnum
,
ImmutableArray
<
SyntaxNodeAnalyzerAction
<
TLanguageKindEnum
>>>
nodeActionsByKind
,
ISymbol
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
,
ow
ningSymbol
,
model
,
getKind
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteSyntaxNodeActions
(
partiallyProcessedNode
,
nodeActionsByKind
,
contai
ningSymbol
,
model
,
getKind
,
addDiagnostic
,
analyzerStateOpt
);
}
foreach
(
var
child
in
nodesToAnalyze
)
...
...
@@ -877,7 +877,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
SetCurrentNode
(
analyzerStateOpt
,
child
);
ExecuteSyntaxNodeActions
(
child
,
nodeActionsByKind
,
ow
ningSymbol
,
model
,
getKind
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteSyntaxNodeActions
(
child
,
nodeActionsByKind
,
contai
ningSymbol
,
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
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
,
ow
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteSyntaxNodeAction
(
action
,
node
,
contai
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
}
}
...
...
@@ -966,20 +966,20 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
IEnumerable
<
IOperation
>
operationsToAnalyze
,
IDictionary
<
OperationKind
,
ImmutableArray
<
OperationAnalyzerAction
>>
operationActionsByKind
,
DiagnosticAnalyzer
analyzer
,
ISymbol
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
SemanticModel
model
,
TextSpan
filterSpan
,
OperationAnalyzerStateData
analyzerStateOpt
,
bool
isGeneratedCode
)
{
var
addDiagnostic
=
GetAddDiagnostic
(
model
.
SyntaxTree
,
filterSpan
,
analyzer
,
isSyntaxDiagnostic
:
false
,
isGeneratedCode
:
isGeneratedCode
);
ExecuteOperationActions
(
operationsToAnalyze
,
operationActionsByKind
,
ow
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteOperationActions
(
operationsToAnalyze
,
operationActionsByKind
,
contai
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
}
private
void
ExecuteOperationActions
(
IEnumerable
<
IOperation
>
operationsToAnalyze
,
IDictionary
<
OperationKind
,
ImmutableArray
<
OperationAnalyzerAction
>>
operationActionsByKind
,
ISymbol
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
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
,
ow
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteOperationActions
(
partiallyProcessedNode
,
operationActionsByKind
,
contai
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
}
foreach
(
var
child
in
operationsToAnalyze
)
...
...
@@ -999,7 +999,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
SetCurrentOperation
(
analyzerStateOpt
,
child
);
ExecuteOperationActions
(
child
,
operationActionsByKind
,
ow
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteOperationActions
(
child
,
operationActionsByKind
,
contai
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
}
}
}
...
...
@@ -1007,7 +1007,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
private
void
ExecuteOperationActions
(
IOperation
operation
,
IDictionary
<
OperationKind
,
ImmutableArray
<
OperationAnalyzerAction
>>
operationActionsByKind
,
ISymbol
ow
ningSymbol
,
ISymbol
contai
ningSymbol
,
SemanticModel
model
,
Action
<
Diagnostic
>
addDiagnostic
,
OperationAnalyzerStateData
analyzerStateOpt
)
...
...
@@ -1017,7 +1017,7 @@ private void ExecuteCompilationActionsCore(ImmutableArray<CompilationAnalyzerAct
{
foreach
(
var
action
in
actionsForKind
)
{
ExecuteOperationAction
(
action
,
operation
,
ow
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
ExecuteOperationAction
(
action
,
operation
,
contai
ningSymbol
,
model
,
addDiagnostic
,
analyzerStateOpt
);
}
}
...
...
src/Compilers/Core/Portable/DiagnosticAnalyzer/DiagnosticAnalysisContext.cs
浏览文件 @
3728aac9
...
...
@@ -929,7 +929,7 @@ public void ReportDiagnostic(Diagnostic diagnostic)
public
struct
SyntaxNodeAnalysisContext
{
private
readonly
SyntaxNode
_node
;
private
readonly
ISymbol
_
ow
ningSymbol
;
private
readonly
ISymbol
_
contai
ningSymbol
;
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
=>
_ow
ningSymbol
;
public
ISymbol
ContainingSymbol
=>
_contai
ningSymbol
;
/// <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
ow
ningSymbol
,
SemanticModel
semanticModel
,
AnalyzerOptions
options
,
Action
<
Diagnostic
>
reportDiagnostic
,
Func
<
Diagnostic
,
bool
>
isSupportedDiagnostic
,
CancellationToken
cancellationToken
)
public
SyntaxNodeAnalysisContext
(
SyntaxNode
node
,
ISymbol
contai
ningSymbol
,
SemanticModel
semanticModel
,
AnalyzerOptions
options
,
Action
<
Diagnostic
>
reportDiagnostic
,
Func
<
Diagnostic
,
bool
>
isSupportedDiagnostic
,
CancellationToken
cancellationToken
)
{
_node
=
node
;
_
owningSymbol
=
ow
ningSymbol
;
_
containingSymbol
=
contai
ningSymbol
;
_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
=>
_ow
ningSymbol
;
public
ISymbol
ContainingSymbol
=>
_contai
ningSymbol
;
/// <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
?.
C
ompilation
,
_isSupportedDiagnostic
);
DiagnosticAnalysisContextHelpers
.
VerifyArguments
(
diagnostic
,
_
c
ompilation
,
_isSupportedDiagnostic
);
lock
(
_reportDiagnostic
)
{
_reportDiagnostic
(
diagnostic
);
...
...
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
浏览文件 @
3728aac9
...
...
@@ -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
ow
ningSymbol, 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
contai
ningSymbol, 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.
Ow
ningSymbol.get -> Microsoft.CodeAnalysis.ISymbol
Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.SyntaxNodeAnalysisContext(Microsoft.CodeAnalysis.SyntaxNode node, Microsoft.CodeAnalysis.ISymbol
ow
ningSymbol, 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.
Contai
ningSymbol.get -> Microsoft.CodeAnalysis.ISymbol
Microsoft.CodeAnalysis.Diagnostics.SyntaxNodeAnalysisContext.SyntaxNodeAnalysisContext(Microsoft.CodeAnalysis.SyntaxNode node, Microsoft.CodeAnalysis.ISymbol
contai
ningSymbol, 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
...
...
src/Compilers/VisualBasic/Test/Semantic/Diagnostics/DiagnosticAnalyzerTests.vb
浏览文件 @
3728aac9
...
...
@@ -941,7 +941,7 @@ End Class
Public
NotOverridable
Overrides
Sub
Initialize
(
context
As
AnalysisContext
)
context
.
RegisterSyntaxNodeAction
(
Sub
(
nodeContext
)
If
nodeContext
.
Ow
ningSymbol
.
Name
.
StartsWith
(
"Funky"
)
AndAlso
nodeContext
.
Compilation
.
Language
=
"Visual Basic"
Then
If
nodeContext
.
Contai
ningSymbol
.
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录