Module aya.base

Class TeleDecl.FnDecl

All Implemented Interfaces:
Decl, Decl.TopLevel, Stmt, AyaDocile, TyckUnit, org.aya.util.binop.OpDecl, org.aya.util.error.SourceNode
Enclosing class:
TeleDecl<RetTy extends Term>

public static final class TeleDecl.FnDecl extends TeleDecl.TopLevel<Term>
Concrete function definition
See Also:
  • Field Details

    • modifiers

      @NotNull public final @NotNull EnumSet<Modifier> modifiers
    • ref

      @NotNull public final @NotNull DefVar<FnDef,TeleDecl.FnDecl> ref
    • isAnonymous

      public final boolean isAnonymous
      If a function is anonymous. It only occurs when the personality is example/counterexample, and the ref.name is generated.
    • body

      @NotNull public @NotNull kala.control.Either<Expr,kala.collection.immutable.ImmutableSeq<Pattern.Clause>> body
  • Constructor Details

    • FnDecl

      public FnDecl(@NotNull @NotNull DeclInfo info, @NotNull @NotNull EnumSet<Modifier> modifiers, @NotNull @NotNull String name, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<Expr.Param> telescope, @Nullable @Nullable Expr result, @NotNull @NotNull kala.control.Either<Expr,kala.collection.immutable.ImmutableSeq<Pattern.Clause>> body, @NotNull DeclInfo.Personality personality, boolean isAnonymous)
  • Method Details