Class AbstractTypeDeclaration

Direct Known Subclasses:
AnnotationTypeDeclaration, EnumDeclaration, ImplicitTypeDeclaration, RecordDeclaration, TypeDeclaration

public abstract class AbstractTypeDeclaration extends BodyDeclaration
Abstract subclass for type declaration, enum declaration, and annotation type declaration AST node types.
 AbstractTypeDeclaration:
                TypeDeclaration
                EnumDeclaration
                AnnotationTypeDeclaration
 
Since:
3.0
  • Method Details

    • getBodyDeclarationsProperty

      public final ChildListPropertyDescriptor getBodyDeclarationsProperty()
      Returns structural property descriptor for the "bodyDeclarations" property of this node (element type: BodyDeclaration).
      Returns:
      the property descriptor
      Since:
      3.1
    • getNameProperty

      public final ChildPropertyDescriptor getNameProperty()
      Returns structural property descriptor for the "name" property of this node (child type: SimpleName).
      Returns:
      the property descriptor
      Since:
      3.1
    • getName

      public SimpleName getName()
      Returns the name of the type declared in this type declaration.
      Returns:
      the type name node
      Since:
      2.0 (originally declared on TypeDeclaration)
    • setName

      public void setName(SimpleName typeName)
      Sets the name of the type declared in this type declaration to the given name.
      Parameters:
      typeName - the new type name
      Throws:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
      Since:
      2.0 (originally declared on TypeDeclaration)
    • bodyDeclarations

      public List bodyDeclarations()
      Returns the live ordered list of body declarations of this type declaration.
      Returns:
      the live list of body declarations (element type: BodyDeclaration)
      Since:
      2.0 (originally declared on TypeDeclaration)
    • isPackageMemberTypeDeclaration

      public boolean isPackageMemberTypeDeclaration()
      Returns whether this type declaration is a package member (that is, a top-level type).

      Note that this is a convenience method that simply checks whether this node's parent is a compilation unit node.

      Returns:
      true if this type declaration is a child of a compilation unit node, and false otherwise
      Since:
      2.0 (originally declared on TypeDeclaration)
    • isMemberTypeDeclaration

      public boolean isMemberTypeDeclaration()
      Returns whether this type declaration is a type member.

      Note that this is a convenience method that simply checks whether this node's parent is a type declaration node or an anonymous class declaration.

      Returns:
      true if this type declaration is a child of a type declaration node or an anonymous class declaration node, and false otherwise
      Since:
      2.0 (originally declared on TypeDeclaration)
    • isLocalTypeDeclaration

      public boolean isLocalTypeDeclaration()
      Returns whether this type declaration is a local type.

      Note that this is a convenience method that simply checks whether this node's parent is a type declaration statement node.

      Returns:
      true if this type declaration is a child of a type declaration statement node, and false otherwise
      Since:
      2.0 (originally declared on TypeDeclaration)
    • resolveBinding

      public final ITypeBinding resolveBinding()
      Resolves and returns the binding for the type declared in this type declaration.

      Note that bindings are generally unavailable unless requested when the AST is being built.

      Returns:
      the binding, or null if the binding cannot be resolved
      Since:
      3.1 Declared in 3.0 on the individual subclasses.