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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MethodDef resolveMethod(MemberRef method) {
|
public MethodDef resolveMethod(IMethod method) {
|
||||||
if (method == null)
|
if (method == null)
|
||||||
return 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)
|
if (type == null)
|
||||||
return 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)
|
if (field == null)
|
||||||
return 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)
|
if (type == null)
|
||||||
return 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);
|
object getData(string name);
|
||||||
void clearData(string name);
|
void clearData(string name);
|
||||||
TypeDef resolveType(ITypeDefOrRef type);
|
TypeDef resolveType(ITypeDefOrRef type);
|
||||||
MethodDef resolveMethod(MemberRef method);
|
MethodDef resolveMethod(IMethod method);
|
||||||
FieldDef resolveField(MemberRef field);
|
FieldDef resolveField(IField field);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user