Class ReturnEdge<Node>

java.lang.Object
pascal.taie.util.graph.AbstractEdge<Node>
pascal.taie.analysis.graph.icfg.ICFGEdge<Node>
pascal.taie.analysis.graph.icfg.ReturnEdge<Node>
Type Parameters:
Node - type of nodes
All Implemented Interfaces:
Serializable, Edge<Node>

public class ReturnEdge<Node> extends ICFGEdge<Node>
The edge connecting a method exit to return site of the call site.
See Also:
  • Method Details

    • getCallSite

      public Node getCallSite()
      Returns:
      the call site that corresponds to the return edge.
    • getReturnVars

      public Collection<Var> getReturnVars()
      Each method in ICFG has only one exit, but it may have multiple return statements. This API returns all returned variables. E.g., for the return edges starting from the exit of method:
       int foo(...) {
           if (...) {
               return x;
           } else {
               return y;
           }
       }
       
      this API returns [x, y].
      Returns:
      the variables that hold the return values.
    • getExceptions

      public Collection<ClassType> getExceptions()
      Returns:
      the exceptions that may be thrown out.