模块 aya.base
程序包 org.aya.tyck.env

接口 LocalCtx

所有已知实现类:
MapLocalCtx, SeqLocalCtx

public sealed interface LocalCtx permits MapLocalCtx, SeqLocalCtx
  • 方法详细资料

    • freshHole

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

      @NotNull default @NotNull kala.tuple.Tuple2<CallTerm.Hole,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)
    • 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

      boolean isEmpty()
    • deriveMap

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

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

      @Nullable @Nullable LocalCtx parent()