Package harpoon.Analysis.MetaMethods

Interface Summary
MetaCallGraph MetaCallGraph is for meta methods what callGraph is for "normal" methods.
 

Class Summary
FakeMetaCallGraph FakeMetaCallGraph converts a classic CallGraph to a MetaCallGraph.
GenType GenType models a type.
MetaAllCallers MetaAllCallers is the dual of MetaCallGraph.
MetaCallGraphAbstr MetaCallGraphAbstr Abstract implementation of the MetaCallGraph interface.
MetaCallGraphImpl MetaCallGraphImpl is a full-power implementation of the MetaCallGraph interface.
MetaMethod MetaMethod is a specialization of a method, function of the types of its arguments.
For example, if we have a method foo declared as having a single parameter of type Object, if we know that in a specific call site it is called with an argument of type A and in some other call site with an argument of type B, then we can say that in the first case we call the meta-method consisting of method <foo,A> while in the second one we call the meta-method <foo,B>.
In languages that relies very heavily on inheritance and dynamic dispatch (virtual methods) such as Java, this will lead to a sparser call graph, removing some unrealizable call chains.
SmartCallGraph SmartCallGraph