Class CHACallGraph

  • All Implemented Interfaces:
    it.unive.lisa.interprocedural.callgraph.CallGraph

    public final 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
    • Field Summary

      • Fields inherited from class it.unive.lisa.util.datastructures.graph.Graph

        adjacencyMatrix, entrypoints
    • Constructor Summary

      Constructors 
      Constructor Description
      CHACallGraph()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Collection<it.unive.lisa.type.Type> getPossibleTypesOfReceiver​(it.unive.lisa.program.cfg.statement.Expression receiver)  
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • CHACallGraph

        public CHACallGraph()
    • Method Detail

      • getPossibleTypesOfReceiver

        protected java.util.Collection<it.unive.lisa.type.Type> getPossibleTypesOfReceiver​(it.unive.lisa.program.cfg.statement.Expression receiver)
        Specified by:
        getPossibleTypesOfReceiver in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph