java.lang.Object
java.lang.Record
org.aya.terck.CallMatrix<Def,Param>
- 所有已实现的接口:
org.aya.pretty.doc.Docile,Selector.Candidate<CallMatrix<Def,Param>>
public record CallMatrix<Def,Param> (@NotNull CallTerm callTerm, Def domain, Def codomain, @NotNull kala.collection.immutable.ImmutableSeq<Param> domainTele, @NotNull kala.collection.immutable.ImmutableSeq<Param> codomainTele, @NotNull Relation[][] matrix)
extends Record
implements org.aya.pretty.doc.Docile, Selector.Candidate<CallMatrix<Def,Param>>
A call matrix for a call `f --> g` has dimensions `arity(g) * arity(f)`.
Each row corresponds to one argument in the call to `g` (the codomain).
Each column corresponds to one formal argument of caller `f` (the domain).
- 另请参阅:
-
构造器概要
构造器构造器说明CallMatrix(@NotNull CallTerm callTerm, Def domain, Def codomain, @NotNull kala.collection.immutable.ImmutableSeq<Param> domainTele, @NotNull kala.collection.immutable.ImmutableSeq<Param> codomainTele) CallMatrix(@NotNull CallTerm callTerm, Def domain, Def codomain, @NotNull kala.collection.immutable.ImmutableSeq<Param> domainTele, @NotNull kala.collection.immutable.ImmutableSeq<Param> codomainTele, @NotNull Relation[][] matrix) 创建CallMatrix记录类的实例。 -
方法概要
修饰符和类型方法说明@NotNull CallTermcallTerm()返回callTerm记录组件的值。codomain()返回codomain记录组件的值。@NotNull kala.collection.immutable.ImmutableSeq<Param>返回codomainTele记录组件的值。intcols()static <Def,Param>
@NotNull CallMatrix<Def,Param> combine(@NotNull CallMatrix<Def, Param> A, @NotNull CallMatrix<Def, Param> B) Combine two call matrices if there exists an indirect call, for example: If `f` calls `g` with call matrix `A` and `g` calls `h` with call matrix `B`, the `f` indirectly calls `h` with call matrix `combine(A, B)` or `AB` in matrix notation.compare(@NotNull CallMatrix<Def, Param> other) Compare two call matrices by their decrease amount.domain()返回domain记录组件的值。@NotNull kala.collection.immutable.ImmutableSeq<Param>返回domainTele记录组件的值。final boolean指示某个其他对象是否“等于”此对象。final inthashCode()返回此对象的哈希代码值。@NotNull Relation[][]matrix()返回matrix记录组件的值。introws()void@NotNull org.aya.pretty.doc.DoctoDoc()final StringtoString()返回此记录类的字符串表示形式。从接口继承的方法 org.aya.terck.Selector.Candidate
notWorseThan
-
构造器详细资料
-
CallMatrix
-
CallMatrix
public CallMatrix(@NotNull @NotNull CallTerm callTerm, @NotNull Def domain, @NotNull Def codomain, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<Param> domainTele, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<Param> codomainTele, @NotNull @NotNull Relation[][] matrix) 创建CallMatrix记录类的实例。- 参数:
callTerm-callTerm记录组件的值domain-domain记录组件的值codomain-codomain记录组件的值domainTele-domainTele记录组件的值codomainTele-codomainTele记录组件的值matrix-matrix记录组件的值
-
-
方法详细资料
-
rows
public int rows() -
cols
public int cols() -
set
-
compare
Compare two call matrices by their decrease amount.- 指定者:
compare在接口中Selector.Candidate<Def>
-
combine
@Contract(pure=true) @NotNull public static <Def,Param> @NotNull CallMatrix<Def,Param> combine(@NotNull @NotNull CallMatrix<Def, Param> A, @NotNull @NotNull CallMatrix<Def, Param> B) Combine two call matrices if there exists an indirect call, for example: If `f` calls `g` with call matrix `A` and `g` calls `h` with call matrix `B`, the `f` indirectly calls `h` with call matrix `combine(A, B)` or `AB` in matrix notation. -
toDoc
@NotNull public @NotNull org.aya.pretty.doc.Doc toDoc()- 指定者:
toDoc在接口中org.aya.pretty.doc.Docile
-
toString
返回此记录类的字符串表示形式。此表示形式包含类的名称,后跟每个记录组件的名称和值。 -
hashCode
public final int hashCode()返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。 -
equals
指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录类中的所有组件都使用Objects::equals(Object,Object)进行比较。 -
callTerm
返回callTerm记录组件的值。- 返回:
callTerm记录组件的值
-
domain
返回domain记录组件的值。- 返回:
domain记录组件的值
-
codomain
返回codomain记录组件的值。- 返回:
codomain记录组件的值
-
domainTele
返回domainTele记录组件的值。- 返回:
domainTele记录组件的值
-
codomainTele
返回codomainTele记录组件的值。- 返回:
codomainTele记录组件的值
-
matrix
返回matrix记录组件的值。- 返回:
matrix记录组件的值
-