Update resolve{Method,Field}() sigs with a more general arg type
This commit is contained in:
parent
814c3d3944
commit
cc1e36389d
|
@ -72,26 +72,42 @@ namespace de4dot.code {
|
|||
return null;
|
||||
}
|
||||
|
||||
public MethodDef resolveMethod(MemberRef method) {
|
||||
public MethodDef resolveMethod(IMethod method) {
|
||||
if (method == null)
|
||||
return null;
|
||||
|
||||
var type = resolveType(method.DeclaringType);
|
||||
var md = method as MethodDef;
|
||||
if (md != null)
|
||||
return md;
|
||||
|
||||
var mr = method as MemberRef;
|
||||
if (mr == null || !mr.IsMethodRef)
|
||||
return null;
|
||||
|
||||
var type = resolveType(mr.DeclaringType);
|
||||
if (type == null)
|
||||
return null;
|
||||
|
||||
return type.Resolve(method) as MethodDef;
|
||||
return type.Resolve(mr) as MethodDef;
|
||||
}
|
||||
|
||||
public FieldDef resolveField(MemberRef field) {
|
||||
public FieldDef resolveField(IField field) {
|
||||
if (field == null)
|
||||
return null;
|
||||
|
||||
var type = resolveType(field.DeclaringType);
|
||||
var fd = field as FieldDef;
|
||||
if (fd != null)
|
||||
return fd;
|
||||
|
||||
var mr = field as MemberRef;
|
||||
if (mr == null || !mr.IsFieldRef)
|
||||
return null;
|
||||
|
||||
var type = resolveType(mr.DeclaringType);
|
||||
if (type == null)
|
||||
return null;
|
||||
|
||||
return type.Resolve(field) as FieldDef;
|
||||
return type.Resolve(mr) as FieldDef;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace de4dot.code {
|
|||
object getData(string name);
|
||||
void clearData(string name);
|
||||
TypeDef resolveType(ITypeDefOrRef type);
|
||||
MethodDef resolveMethod(MemberRef method);
|
||||
FieldDef resolveField(MemberRef field);
|
||||
MethodDef resolveMethod(IMethod method);
|
||||
FieldDef resolveField(IField field);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user