Browse Source

MethodUsedByAnalyzer: Fix detection of usages in expression trees.

pull/1253/head
Siegfried Pammer 7 years ago
parent
commit
c753b65f08
  1. 12
      ILSpy/Analyzers/Builtin/MethodUsedByAnalyzer.cs

12
ILSpy/Analyzers/Builtin/MethodUsedByAnalyzer.cs

@ -99,7 +99,7 @@ namespace ICSharpCode.ILSpy.Analyzers.Builtin @@ -99,7 +99,7 @@ namespace ICSharpCode.ILSpy.Analyzers.Builtin
ILOpCode opCode;
try {
opCode = blob.DecodeOpCode();
if (opCode != ILOpCode.Call && opCode != ILOpCode.Callvirt) {
if (opCode != ILOpCode.Call && opCode != ILOpCode.Callvirt && opCode != ILOpCode.Ldtoken) {
ILParser.SkipOperand(ref blob, opCode);
continue;
}
@ -118,16 +118,14 @@ namespace ICSharpCode.ILSpy.Analyzers.Builtin @@ -118,16 +118,14 @@ namespace ICSharpCode.ILSpy.Analyzers.Builtin
if (m == null)
continue;
if (opCode == ILOpCode.Call) {
if (IsSameMember(analyzedMethod, m)) {
return true;
}
}
if (opCode == ILOpCode.Callvirt && baseMethod != null) {
if (IsSameMember(baseMethod, m)) {
return true;
}
} else {
if (IsSameMember(analyzedMethod, m)) {
return true;
}
}
}

Loading…
Cancel
Save