Module aya.base

Interface LocalCtx

All Known Implementing Classes:
MapLocalCtx, SeqLocalCtx

public sealed interface LocalCtx permits MapLocalCtx, SeqLocalCtx
  • Method Details

    • freshHole

      @NotNull default @NotNull kala.tuple.Tuple2<MetaTerm,Term> freshHole(@NotNull @NotNull Term type, @NotNull @NotNull org.aya.util.error.SourcePos sourcePos)
    • freshHole

      @NotNull default @NotNull kala.tuple.Tuple2<MetaTerm,Term> freshHole(@Nullable @Nullable Term type, @NotNull @NotNull String name, @NotNull @NotNull org.aya.util.error.SourcePos sourcePos)
    • with

      default <T> T with(@NotNull Term.Param param, @NotNull @NotNull Supplier<T> action)
    • withIntervals

      default <T> T withIntervals(@NotNull @NotNull kala.collection.SeqView<LocalVar> params, @NotNull @NotNull Supplier<T> action)
    • remove

      void remove(@NotNull @NotNull kala.collection.SeqView<LocalVar> vars)
    • forward

      default void forward(@NotNull @NotNull LocalCtx dest, @NotNull @NotNull Term term, @NotNull @NotNull TyckState state)
    • with

      default <T> T with(@NotNull @NotNull LocalVar var, @NotNull @NotNull Term type, @NotNull @NotNull Supplier<T> action)
    • with

      default <T> T with(@NotNull @NotNull Supplier<T> action, @NotNull @NotNull Term.Param... param)
    • with

      default <T> T with(@NotNull @NotNull Supplier<T> action, @NotNull @NotNull kala.collection.SeqView<Term.Param> param)
    • extract

      @NotNull default @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> extract()
    • extractToLocal

      @Contract(mutates="param1") void extractToLocal(@NotNull @NotNull kala.collection.mutable.MutableList<Term.Param> dest)
    • get

      @Contract(pure=true) @NotNull default @NotNull Term get(@NotNull @NotNull LocalVar var)
    • getLocal

      @Contract(pure=true) @Nullable @Nullable Term getLocal(@NotNull @NotNull LocalVar var)
    • put

      default void put(@NotNull Term.Param param)
    • put

      void put(@NotNull @NotNull LocalVar var, @NotNull @NotNull Term term)
    • isEmpty

      default boolean isEmpty()
    • isMeEmpty

      boolean isMeEmpty()
    • deriveMap

      @Contract(" -> new") @NotNull default @NotNull MapLocalCtx deriveMap()
    • deriveSeq

      @Contract(" -> new") @NotNull default @NotNull SeqLocalCtx deriveSeq()
    • parent

      @Nullable @Nullable LocalCtx parent()
    • modifyMyTerms

      @Contract(mutates="this") void modifyMyTerms(@NotNull @NotNull UnaryOperator<Term> u)