@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass().equals(obj.getClass())) { CallerSiteContextPair other = (CallerSiteContextPair) obj; return getCaller().equals(other.getCaller()) && getCallSite().equals(other.getCallSite()) && baseContext.equals(other.baseContext); } else { return false; } }
@Override public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver) { Context baseContext = baseSelector.getCalleeTarget(caller, site, callee, receiver); if (baseContext.equals(Everywhere.EVERYWHERE)) { return new CallerSiteContext(caller, site); } else { return new CallerSiteContextPair(caller, site, baseContext); } }
@Override public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver) { Context baseContext = baseSelector.getCalleeTarget(caller, site, callee, receiver); if (baseContext.equals(Everywhere.EVERYWHERE)) { return new CallerSiteContext(caller, site); } else { return new CallerSiteContextPair(caller, site, baseContext); } }
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass().equals(obj.getClass())) { CallerSiteContextPair other = (CallerSiteContextPair) obj; return getCaller().equals(other.getCaller()) && getCallSite().equals(other.getCallSite()) && baseContext.equals(other.baseContext); } else { return false; } }
return new CallerSiteContextPair(caller,site,new ReceiverInstanceContext(receivers[0])); return new CallerSiteContextPair(caller,site,new ReceiverInstanceContext(receivers[0]));