Browse Source

Add Language to AnalyzerContext

pull/1030/head
Siegfried Pammer 7 years ago
parent
commit
4415d5d5f2
  1. 1
      ILSpy/Analyzers/AnalyzerSearchTreeNode.cs
  2. 1
      ILSpy/Analyzers/IAnalyzer.cs
  3. 6
      ILSpy/Analyzers/ScopedWhereUsedAnalyzer.cs

1
ILSpy/Analyzers/AnalyzerSearchTreeNode.cs

@ -54,6 +54,7 @@ namespace ICSharpCode.ILSpy.Analyzers
var ts = new DecompilerTypeSystem(module, module.GetAssemblyResolver()); var ts = new DecompilerTypeSystem(module, module.GetAssemblyResolver());
var context = new AnalyzerContext(ts) { var context = new AnalyzerContext(ts) {
CancellationToken = ct, CancellationToken = ct,
Language = Language,
CodeMappingInfo = Language.GetCodeMappingInfo(module, analyzedEntity.MetadataToken) CodeMappingInfo = Language.GetCodeMappingInfo(module, analyzedEntity.MetadataToken)
}; };
foreach (var result in entityAnalyzer.Analyze(analyzedEntity, context)) { foreach (var result in entityAnalyzer.Analyze(analyzedEntity, context)) {

1
ILSpy/Analyzers/IAnalyzer.cs

@ -44,5 +44,6 @@ namespace ICSharpCode.ILSpy.Analyzers
public IDecompilerTypeSystem TypeSystem { get; } public IDecompilerTypeSystem TypeSystem { get; }
public CancellationToken CancellationToken { get; internal set; } public CancellationToken CancellationToken { get; internal set; }
public CodeMappingInfo CodeMappingInfo { get; internal set; } public CodeMappingInfo CodeMappingInfo { get; internal set; }
public Language Language { get; internal set; }
} }
} }

6
ILSpy/Analyzers/ScopedWhereUsedAnalyzer.cs

@ -113,7 +113,7 @@ namespace ICSharpCode.ILSpy.Analyzers
IEnumerable<IEntity> FindReferencesInAssembly(PEFile module, CancellationToken ct) IEnumerable<IEntity> FindReferencesInAssembly(PEFile module, CancellationToken ct)
{ {
var ts = new DecompilerTypeSystem(module, module.GetAssemblyResolver()); var ts = new DecompilerTypeSystem(module, module.GetAssemblyResolver());
var context = new AnalyzerContext(ts) { CancellationToken = ct }; var context = new AnalyzerContext(ts) { CancellationToken = ct, Language = language };
foreach (var type in ts.MainAssembly.TypeDefinitions) { foreach (var type in ts.MainAssembly.TypeDefinitions) {
ct.ThrowIfCancellationRequested(); ct.ThrowIfCancellationRequested();
if (type.MetadataToken.IsNil) continue; if (type.MetadataToken.IsNil) continue;
@ -128,7 +128,7 @@ namespace ICSharpCode.ILSpy.Analyzers
IEnumerable<IEntity> FindReferencesInTypeScope(CancellationToken ct) IEnumerable<IEntity> FindReferencesInTypeScope(CancellationToken ct)
{ {
var ts = new DecompilerTypeSystem(assemblyScope.PEFile, assemblyScope.PEFile.GetAssemblyResolver()); var ts = new DecompilerTypeSystem(assemblyScope.PEFile, assemblyScope.PEFile.GetAssemblyResolver());
var context = new AnalyzerContext(ts) { CancellationToken = ct }; var context = new AnalyzerContext(ts) { CancellationToken = ct, Language = language };
var types = TreeTraversal.PreOrder(typeScope, var types = TreeTraversal.PreOrder(typeScope,
t => t.GetNestedTypes(options: GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions) t => t.GetNestedTypes(options: GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions)
.Select(td => td.GetDefinition())); .Select(td => td.GetDefinition()));
@ -146,7 +146,7 @@ namespace ICSharpCode.ILSpy.Analyzers
IEnumerable<IEntity> FindReferencesInEnclosingTypeScope(CancellationToken ct) IEnumerable<IEntity> FindReferencesInEnclosingTypeScope(CancellationToken ct)
{ {
var ts = new DecompilerTypeSystem(assemblyScope.PEFile, assemblyScope.PEFile.GetAssemblyResolver()); var ts = new DecompilerTypeSystem(assemblyScope.PEFile, assemblyScope.PEFile.GetAssemblyResolver());
var context = new AnalyzerContext(ts) { CancellationToken = ct }; var context = new AnalyzerContext(ts) { CancellationToken = ct, Language = language };
var types = TreeTraversal.PreOrder(typeScope.DeclaringTypeDefinition, var types = TreeTraversal.PreOrder(typeScope.DeclaringTypeDefinition,
t => t.GetNestedTypes(options: GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions) t => t.GetNestedTypes(options: GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions)
.Select(td => td.GetDefinition())); .Select(td => td.GetDefinition()));

Loading…
Cancel
Save