java.lang.Object
org.aya.tyck.unify.TermComparator
- Direct Known Subclasses:
Unifier
Bidirectional unification of terms, with abstract
solveMeta(org.aya.core.term.Term, org.aya.tyck.unify.TermComparator.Sub, org.aya.tyck.unify.TermComparator.Sub, org.aya.core.term.MetaTerm).
This class is not called Comparator because there is already Comparator.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final record -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final @NotNull org.aya.util.Orderingprotected final @NotNull LocalCtxprotected final @NotNull org.aya.util.error.SourcePosprotected final @NotNull org.aya.util.reporter.Reporterprotected final @NotNull TyckStateprotected final Trace.Builder -
Constructor Summary
ConstructorsConstructorDescriptionTermComparator(Trace.Builder traceBuilder, @NotNull TyckState state, @NotNull org.aya.util.reporter.Reporter reporter, @NotNull org.aya.util.error.SourcePos pos, @NotNull org.aya.util.Ordering cmp, @NotNull LocalCtx ctx) -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected final booleancompare(Term lhs, Term rhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable Term type) booleancompareSort(SortTerm l, SortTerm r) protected @Nullable TermcompareUntyped(@NotNull Term lhs, @NotNull Term rhs, TermComparator.Sub lr, TermComparator.Sub rl) @NotNull TermComparator.FailureDataprotected abstract @Nullable TermsolveMeta(@NotNull Term preRhs, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull MetaTerm lhs) protected final voidtracing(@NotNull Consumer<@NotNull Trace.Builder> consumer) static <E> EwithIntervals(@NotNull kala.collection.immutable.ImmutableSeq<LocalVar> l, @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> r, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> tyVars, @NotNull BiFunction<Subst, Subst, E> supplier)
-
Field Details
-
traceBuilder
-
state
-
reporter
@NotNull protected final @NotNull org.aya.util.reporter.Reporter reporter -
pos
@NotNull protected final @NotNull org.aya.util.error.SourcePos pos -
cmp
@NotNull protected final @NotNull org.aya.util.Ordering cmp -
ctx
-
-
Constructor Details
-
TermComparator
public TermComparator(@Nullable Trace.Builder traceBuilder, @NotNull @NotNull TyckState state, @NotNull @NotNull org.aya.util.reporter.Reporter reporter, @NotNull @NotNull org.aya.util.error.SourcePos pos, @NotNull @NotNull org.aya.util.Ordering cmp, @NotNull @NotNull LocalCtx ctx)
-
-
Method Details
-
withIntervals
public static <E> E withIntervals(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> l, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> r, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> tyVars, @NotNull @NotNull BiFunction<Subst, Subst, E> supplier) -
getFailure
-
tracing
-
compare
-
compare
protected final boolean compare(Term lhs, Term rhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable @Nullable Term type) -
compareUntyped
@Nullable protected @Nullable Term compareUntyped(@NotNull @NotNull Term lhs, @NotNull @NotNull Term rhs, TermComparator.Sub lr, TermComparator.Sub rl) -
solveMeta
@Nullable protected abstract @Nullable Term solveMeta(@NotNull @NotNull Term preRhs, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull @NotNull MetaTerm lhs) -
compareSort
-