Class CHACallGraph
- java.lang.Object
-
- it.unive.lisa.util.datastructures.graph.BaseGraph<it.unive.lisa.interprocedural.callgraph.CallGraph,it.unive.lisa.interprocedural.callgraph.CallGraphNode,it.unive.lisa.interprocedural.callgraph.CallGraphEdge>
-
- it.unive.lisa.interprocedural.callgraph.CallGraph
-
- it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
- it.unive.lisa.interprocedural.callgraph.CHACallGraph
-
- All Implemented Interfaces:
it.unive.lisa.util.datastructures.graph.Graph<it.unive.lisa.interprocedural.callgraph.CallGraph,it.unive.lisa.interprocedural.callgraph.CallGraphNode,it.unive.lisa.interprocedural.callgraph.CallGraphEdge>
public class CHACallGraph extends it.unive.lisa.interprocedural.callgraph.BaseCallGraph
A call graph constructed following the Class Hierarchy Analysis as defined in: Frank Tip and Jens Palsberg. 2000. Scalable propagation-based call graph construction algorithms. In Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA '00). Association for Computing Machinery, New York, NY, USA, 281–293. DOI:https://doi.org/10.1145/353171.353190
-
-
Constructor Summary
Constructors Constructor Description CHACallGraph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<it.unive.lisa.type.Type>
getPossibleTypesOfReceiver(it.unive.lisa.program.cfg.statement.Expression receiver, java.util.Set<it.unive.lisa.type.Type> types)
-
Methods inherited from class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
checkMember, getCallSites, init, matchCodeMemberName, registerCall, resolve, resolveInstance, resolveNonInstance
-
Methods inherited from class it.unive.lisa.interprocedural.callgraph.CallGraph
getCallees, getCallees, getCalleesTransitively, getCalleesTransitively, getCallers, getCallers, getCallersTransitively, getCallersTransitively, getCallSites, getRecursions, getRecursionsContaining
-
Methods inherited from class it.unive.lisa.util.datastructures.graph.BaseGraph
addEdge, addNode, addNode, containsEdge, containsNode, followersOf, getAdjacencyMatrix, getEdgeConnecting, getEdges, getEdgesConnecting, getEdgesCount, getEntrypoints, getIngoingEdges, getNodes, getNodesCount, getOutgoingEdges, isEqualTo, predecessorsOf, toSerializableGraph, toString
-
-
-
-
Method Detail
-
getPossibleTypesOfReceiver
public java.util.Collection<it.unive.lisa.type.Type> getPossibleTypesOfReceiver(it.unive.lisa.program.cfg.statement.Expression receiver, java.util.Set<it.unive.lisa.type.Type> types)
- Specified by:
getPossibleTypesOfReceiver
in classit.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
-