Class MethodLookup

java.lang.Object
sootup.callgraph.MethodLookup

public final class MethodLookup extends Object
JVM method lookup shared by all call graph / points-to algorithms: from a start class (declared owner for resolution, receiver type for dispatch) find the method a sub-signature binds to.

Order: start class and superclasses, then maximally specific interface method (default methods), then signature-polymorphic methods (SignaturePolymorphicMethods). May return an abstract method (e.g. re-abstracted override); use findConcrete(sootup.core.types.ClassType, sootup.core.signatures.MethodSubSignature) for dispatch.

Not pluggable on purpose: JVM semantics, one right answer. Pluggable target models (reflection, invokedynamic) live elsewhere.

Cache: per (class, sub-signature), misses included; dropped when the type hierarchy modification count changes. One instance per analysis, holds the view strongly.