- All Superinterfaces:
AyaDocile,org.aya.util.binop.OpDecl,org.aya.util.error.SourceNode,Stmt,TyckUnit
- All Known Implementing Classes:
ClassDecl,CommonDecl,TeleDecl,TeleDecl.DataCtor,TeleDecl.DataDecl,TeleDecl.FnDecl,TeleDecl.PrimDecl,TeleDecl.StructDecl,TeleDecl.StructField
public sealed interface Decl
extends org.aya.util.binop.OpDecl, org.aya.util.error.SourceNode, TyckUnit, Stmt
permits CommonDecl
Generic concrete definitions, corresponding to
GenericDef.
Concrete definitions can be varied in the following ways:
- Whether it has a telescope, see
Decl.Telescopic - Whether it can be defined at top-level, see
Decl.TopLevel - Whether it has a result type, see
Decl.Resulted
There are some commonalities between concrete definitions: they all have
source positions, names, operator info and statement accessibility. These common
parts are extracted into CommonDecl for all concrete definitions,
TeleDecl for all top-level telescopic concrete definitions and
ClassDecl for all top-level class-able concrete definitions.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumstatic interfaceDenotes that the definition has a result typestatic interfaceDecl.Telescopic<RetTy extends Term>Denotes that the definition is telescopicstatic interfaceDenotes that the definition can be defined at top-levelNested classes/interfaces inherited from interface org.aya.util.binop.OpDecl
org.aya.util.binop.OpDecl.BindPred, org.aya.util.binop.OpDecl.OpInfoNested classes/interfaces inherited from interface org.aya.concrete.stmt.Stmt
Stmt.Accessibility -
Field Summary
Fields inherited from interface org.aya.util.binop.OpDecl
APPLICATION -
Method Summary
Modifier and TypeMethodDescription@NotNull Stmt.Accessibility@NotNull BindBlock@NotNull org.aya.util.error.SourcePosdefault boolean@Nullable org.aya.util.binop.OpDecl.OpInfoopInfo()@NotNull DefVar<?,?> ref()Methods inherited from interface org.aya.generic.AyaDocile
debuggerOnlyToDocMethods inherited from interface org.aya.util.error.SourceNode
sourcePos
-
Method Details
-
accessibility
- Specified by:
accessibilityin interfaceStmt
-
ref
-
bindBlock
-
opInfo
@Nullable @Nullable org.aya.util.binop.OpDecl.OpInfo opInfo()- Specified by:
opInfoin interfaceorg.aya.util.binop.OpDecl
-
entireSourcePos
@NotNull @NotNull org.aya.util.error.SourcePos entireSourcePos() -
needTyck
default boolean needTyck(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<String> currentMod)
-