模块 aya.base
程序包 org.aya.terck

记录类 CallGraph<T,P>

java.lang.Object
java.lang.Record
org.aya.terck.CallGraph<T,P>

public record CallGraph<T,P>(@NotNull kala.collection.mutable.MutableMap<T,@NotNull kala.collection.mutable.MutableMap<T,kala.collection.mutable.MutableList<@NotNull CallMatrix<T,P>>>> graph) extends Record
Call graph is a multi-graph; each vertex represents a definition and each edge from vertex `f` to vertex `g` represents a call to `g` within `f`. The edges are labeled with call matrices, and can be labelled with several call matrices if there are several paths from `f` to `g`.
另请参阅:
  • 构造器概要

    构造器
    构造器
    说明
    CallGraph(@NotNull kala.collection.mutable.MutableMap<T,@NotNull kala.collection.mutable.MutableMap<T,kala.collection.mutable.MutableList<@NotNull CallMatrix<T,P>>>> graph)
    创建 CallGraph 记录类的实例。
  • 方法概要

    修饰符和类型
    方法
    说明
    static <T, P> @NotNull CallGraph<T,P>
     
    final boolean
    指示某个其他对象是否“等于”此对象。
    @NotNull kala.collection.immutable.ImmutableSeq<Diagonal<T,P>>
    find bad recursive calls in current SCC
    static <K, V> void
    forEachGraph(@NotNull kala.collection.mutable.MutableMap<K,kala.collection.mutable.MutableMap<K,V>> a, @NotNull kala.collection.mutable.MutableMap<K,kala.collection.mutable.MutableMap<K,V>> b, @NotNull Consumer<V> inA, @NotNull Consumer<V> inB, @NotNull BiConsumer<V,V> both)
     
    static <K, V> void
    forEachMap(@NotNull kala.collection.mutable.MutableMap<K,V> a, @NotNull kala.collection.mutable.MutableMap<K,V> b, @NotNull Consumer<V> inA, @NotNull Consumer<V> inB, @NotNull BiConsumer<V,V> both)
     
    @NotNull kala.collection.mutable.MutableMap<T,@NotNull kala.collection.mutable.MutableMap<T,kala.collection.mutable.MutableList<@NotNull CallMatrix<T,P>>>>
    返回 graph 记录组件的值。
    final int
    返回此对象的哈希代码值。
    boolean
     
    void
    put(@NotNull CallMatrix<T,P> matrix)
     
    final String
    返回此记录类的字符串表示形式。

    从类继承的方法 java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 构造器详细资料

    • CallGraph

      public CallGraph(@NotNull @NotNull kala.collection.mutable.MutableMap<T,@NotNull kala.collection.mutable.MutableMap<T,kala.collection.mutable.MutableList<@NotNull CallMatrix<T,P>>>> graph)
      创建 CallGraph 记录类的实例。
      参数:
      graph - graph 记录组件的值
  • 方法详细资料

    • create

      @NotNull public static <T, P> @NotNull CallGraph<T,P> create()
    • put

      public void put(@NotNull @NotNull CallMatrix<T,P> matrix)
    • isEmpty

      public boolean isEmpty()
      返回:
      true if there's no edge
    • forEachGraph

      public static <K, V> void forEachGraph(@NotNull @NotNull kala.collection.mutable.MutableMap<K,kala.collection.mutable.MutableMap<K,V>> a, @NotNull @NotNull kala.collection.mutable.MutableMap<K,kala.collection.mutable.MutableMap<K,V>> b, @NotNull @NotNull Consumer<V> inA, @NotNull @NotNull Consumer<V> inB, @NotNull @NotNull BiConsumer<V,V> both)
    • forEachMap

      public static <K, V> void forEachMap(@NotNull @NotNull kala.collection.mutable.MutableMap<K,V> a, @NotNull @NotNull kala.collection.mutable.MutableMap<K,V> b, @NotNull @NotNull Consumer<V> inA, @NotNull @NotNull Consumer<V> inB, @NotNull @NotNull BiConsumer<V,V> both)
    • findBadRecursion

      @NotNull public @NotNull kala.collection.immutable.ImmutableSeq<Diagonal<T,P>> findBadRecursion()
      find bad recursive calls in current SCC
    • toString

      public final String toString()
      返回此记录类的字符串表示形式。此表示形式包含类的名称,后跟每个记录组件的名称和值。
      指定者:
      toString 在类中 Record
      返回:
      此对象的字符串表示形式
    • hashCode

      public final int hashCode()
      返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。
      指定者:
      hashCode 在类中 Record
      返回:
      此对象的哈希代码值
    • equals

      public final boolean equals(Object o)
      指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录类中的所有组件都使用 Objects::equals(Object,Object) 进行比较。
      指定者:
      equals 在类中 Record
      参数:
      o - 要与之进行比较的对象
      返回:
      如果此对象与 o 参数相同,则为 true;否则为 false
    • graph

      @NotNull public @NotNull kala.collection.mutable.MutableMap<T,@NotNull kala.collection.mutable.MutableMap<T,kala.collection.mutable.MutableList<@NotNull CallMatrix<T,P>>>> graph()
      返回 graph 记录组件的值。
      返回:
      graph 记录组件的值