Interface MutableLabeledCallGraph<L>

Type Parameters:
L - the type of the labels attached to the calls
All Superinterfaces:
CallGraph, LabeledCallGraph<L>, MutableCallGraph
All Known Implementing Classes:
LabeledGraphBasedCallGraph

public interface MutableLabeledCallGraph<L> extends MutableCallGraph, LabeledCallGraph<L>
A mutable call graph whose calls (edges) can carry labels of type L.
  • Method Details

    • addLabel

      void addLabel(@NonNull CallGraph.Call call, @NonNull L label)
      This method attaches a label to a call in the call graph. A call can carry several labels. A label that is already attached to the call is not added a second time.
      Parameters:
      call - the call the label is attached to. It must be contained in the call graph.
      label - the label that will be attached to the call
      Throws:
      IllegalArgumentException - if the call is not contained in the call graph
    • removeLabel

      boolean removeLabel(@NonNull CallGraph.Call call, @NonNull L label)
      This method removes a label from a call in the call graph.
      Parameters:
      call - the call the label is removed from
      label - the label that will be removed
      Returns:
      true if the label was attached to the call, otherwise false
    • addCall

      default void addCall(@NonNull CallGraph.Call call, @NonNull L label)
      This method adds a call to the call graph if it is not contained yet and attaches the given label to it.
      Parameters:
      call - the call that will be added to the call graph
      label - the label that will be attached to the call