Class HighLevelDefinition

java.lang.Object
org.openzen.zencode.shared.Taggable
org.openzen.zenscript.codemodel.HighLevelDefinition
Direct Known Subclasses:
AliasDefinition, ClassDefinition, EnumDefinition, ExpansionDefinition, FunctionDefinition, InterfaceDefinition, StructDefinition, VariantDefinition

public abstract class HighLevelDefinition extends Taggable
  • Field Details

  • Constructor Details

  • Method Details

    • getFullName

      public String getFullName()
    • getSuperType

      public TypeID getSuperType()
    • setSuperType

      public void setSuperType(TypeID superType)
    • isSubclassOf

      public boolean isSubclassOf(HighLevelDefinition other)
    • getNumberOfGenericParameters

      public int getNumberOfGenericParameters()
    • setOuterDefinition

      public void setOuterDefinition(HighLevelDefinition outerDefinition)
    • isExpansion

      public boolean isExpansion()
    • isInnerDefinition

      public boolean isInnerDefinition()
    • isInterface

      public boolean isInterface()
    • isAlias

      public boolean isAlias()
    • addMember

      public void addMember(IDefinitionMember member)
    • collectMembers

      public void collectMembers(MemberCollector collector)
    • setTypeParameters

      public void setTypeParameters(TypeParameter[] typeParameters)
    • getAccessScope

      public AccessScope getAccessScope()
    • getFields

      public List<FieldMember> getFields()
    • hasEmptyConstructor

      public boolean hasEmptyConstructor()
    • isStatic

      public boolean isStatic()
    • normalize

      public void normalize(TypeScope scope)
    • accept

      public abstract <T> T accept(DefinitionVisitor<T> visitor)
    • accept

      public abstract <C, R> R accept(C context, DefinitionVisitorWithContext<C,R> visitor)
    • getInnerType

      public HighLevelDefinition getInnerType(String name)
    • isOuterOf

      public boolean isOuterOf(HighLevelDefinition definition)