public class MethodBypass
extends java.lang.Object
Normally, the method bypass rules replace the IMethod that is resolved by other means, via the getBypass() method. However, the bypass rules can be invoked even before resolving the target of a call, by checking the intercept rules.
| Constructor and Description |
|---|
MethodBypass(java.util.Map<java.lang.Object,MethodSummary> methodSummaries,
java.util.Set<TypeReference> allocatable,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
SyntheticMethod |
getBypass(IMethod target)
Method getBypass.
|
protected IClassHierarchy |
getClassHierarchy() |
boolean |
isAllocatable(IClass klass)
Are we allowed to allocate (for analysis purposes) an instance of a given type? By default, the
answer is yes iff T is not abstract.
|
protected MethodReference |
resolveTarget(MethodReference target) |
public MethodBypass(java.util.Map<java.lang.Object,MethodSummary> methodSummaries, java.util.Set<TypeReference> allocatable, IClassHierarchy cha)
public SyntheticMethod getBypass(IMethod target)
java.lang.IllegalArgumentException - if target is nullprotected IClassHierarchy getClassHierarchy()
protected MethodReference resolveTarget(MethodReference target)
public boolean isAllocatable(IClass klass)
java.lang.IllegalArgumentException - if klass is null