Module aya.base
Package org.aya.ref

Class DefVar<Core extends GenericDef,Concrete extends Decl>

java.lang.Object
org.aya.ref.DefVar<Core,Concrete>
All Implemented Interfaces:
AnyVar

public final class DefVar<Core extends GenericDef,Concrete extends Decl> extends Object implements AnyVar
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    @UnknownNullability Concrete
    Initialized in parsing, so it might be null for deserialized user definitions.
    @UnknownNullability Core
    Initialized in type checking or core deserialization, so it might be null for unchecked user definitions.
    @Nullable kala.collection.immutable.ImmutableSeq<String>
    Initialized in the resolver or core deserialization
    @Nullable org.aya.util.binop.OpDecl
    Initialized in the resolver or core deserialization
    @NotNull kala.collection.mutable.MutableMap<kala.collection.immutable.ImmutableSeq<String>,org.aya.util.binop.OpDecl>
    Binary operators can be renamed in other modules.
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable org.aya.util.binop.Assoc
     
    static <Core extends GenericDef, Concrete extends Decl>
    @NotNull DefVar<Core,Concrete>
    concrete(Concrete concrete, @NotNull String name)
    Used in user definitions.
    static <Core extends Def, Concrete extends Decl>
    @NotNull DefVar<Core,Concrete>
    empty(@NotNull String name)
    Used in the serialization of core and primitive definitions.
    boolean
     
    boolean
    isInModule(@NotNull kala.collection.immutable.ImmutableSeq<String> moduleName)
     
    @NotNull String
     
    @NotNull kala.collection.immutable.ImmutableSeq<String>
     
    @Nullable org.aya.util.binop.OpDecl
    resolveOpDecl(@NotNull kala.collection.immutable.ImmutableSeq<String> moduleName)
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • concrete

      public @UnknownNullability Concrete extends Decl concrete
      Initialized in parsing, so it might be null for deserialized user definitions.
    • core

      public @UnknownNullability Core extends GenericDef core
      Initialized in type checking or core deserialization, so it might be null for unchecked user definitions.
    • module

      @Nullable public @Nullable kala.collection.immutable.ImmutableSeq<String> module
      Initialized in the resolver or core deserialization
    • opDecl

      @Nullable public @Nullable org.aya.util.binop.OpDecl opDecl
      Initialized in the resolver or core deserialization
    • opDeclRename

      @NotNull public @NotNull kala.collection.mutable.MutableMap<kala.collection.immutable.ImmutableSeq<String>,org.aya.util.binop.OpDecl> opDeclRename
      Binary operators can be renamed in other modules. Initialized in the resolver or core deserialization. see ResolveInfo.opRename()
  • Method Details

    • assoc

      @Contract(pure=true) @Nullable public @Nullable org.aya.util.binop.Assoc assoc()
    • name

      @Contract(pure=true) @NotNull public @NotNull String name()
      Specified by:
      name in interface AnyVar
    • concrete

      @NotNull public static <Core extends GenericDef, Concrete extends Decl> @NotNull DefVar<Core,Concrete> concrete(@NotNull Concrete concrete, @NotNull @NotNull String name)
      Used in user definitions.
    • empty

      @NotNull public static <Core extends Def, Concrete extends Decl> @NotNull DefVar<Core,Concrete> empty(@NotNull @NotNull String name)
      Used in the serialization of core and primitive definitions.
    • resolveOpDecl

      @Nullable public @Nullable org.aya.util.binop.OpDecl resolveOpDecl(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<String> moduleName)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • isInModule

      public boolean isInModule(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<String> moduleName)
    • qualifiedName

      @NotNull public @NotNull kala.collection.immutable.ImmutableSeq<String> qualifiedName()