Class RTACallGraph
- java.lang.Object
-
- it.unive.lisa.util.datastructures.graph.Graph<BaseCallGraph,CallGraphNode,CallGraphEdge>
-
- it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
- it.unive.lisa.interprocedural.callgraph.impl.RTACallGraph
-
- All Implemented Interfaces:
CallGraph
public final class RTACallGraph extends BaseCallGraph
A call graph constructed following the Rapid Type 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
-
-
Field Summary
-
Fields inherited from class it.unive.lisa.util.datastructures.graph.Graph
adjacencyMatrix, entrypoints
-
-
Constructor Summary
Constructors Constructor Description RTACallGraph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Collection<Type>getPossibleTypesOfReceiver(Expression receiver)Returns all the possible types of the given expression, that is a receiver of a method call.-
Methods inherited from class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
getCallees, getCallers, init, resolve, toDot
-
Methods inherited from class it.unive.lisa.util.datastructures.graph.Graph
accept, addEdge, addNode, addNode, dump, dump, followersOf, getAdjacencyMatrix, getEdgeConnecting, getEdges, getEdgesCount, getEntrypoints, getIngoingEdges, getNodes, getNodesCount, getOutgoingEdges, isEqualTo, predecessorsOf, preSimplify, simplify, toString
-
-
-
-
Method Detail
-
getPossibleTypesOfReceiver
protected java.util.Collection<Type> getPossibleTypesOfReceiver(Expression receiver)
Description copied from class:BaseCallGraphReturns all the possible types of the given expression, that is a receiver of a method call. How we choose this set varies from the call graph algorithm we decide to adopt (e.g., CHA, RTA, 0-CFA, ...)- Specified by:
getPossibleTypesOfReceiverin classBaseCallGraph- Parameters:
receiver- an expression- Returns:
- the possible types of the given expression
-
-