diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/BypassMethodTargetSelector.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/BypassMethodTargetSelector.java index 21d6b0a9f..bdbb67787 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/BypassMethodTargetSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/BypassMethodTargetSelector.java @@ -125,7 +125,11 @@ public class BypassMethodTargetSelector implements MethodTargetSelector { // we want to generate a NoOpSummary for this method. return findOrCreateSyntheticMethod(site.getDeclaredTarget(), site.isStatic()); } - if (parent instanceof ClassHierarchyMethodTargetSelector) { + + // not using if (instanceof ClassHierarchyMethodTargetSelector) because + // we want to make sure that getCalleeTarget() is still called if + // parent is a subclass of ClassHierarchyMethodTargetSelector + if (parent.getClass() == ClassHierarchyMethodTargetSelector.class) { // already checked this case and decided not to bypass return chaTarget; }