Package org.eclipse.jdt.core.dom

## Class PrimitiveType

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.Type
    - - org.eclipse.jdt.core.dom.AnnotatableType
      - - org.eclipse.jdt.core.dom.PrimitiveType

    public class PrimitiveType
    extends AnnotatableType

Primitive type nodes.

     PrimitiveType:
        { Annotation } byte
        { Annotation } short
        { Annotation } char
        { Annotation } int
        { Annotation } long
        { Annotation } float
        { Annotation } double
        { Annotation } boolean
        { Annotation } void

Note that due to the fact that AST nodes belong to a specific AST and have a specific parent, there needs to multiple instances of these nodes.

Since:
  2.0
Restriction:
  This class is not intended to be instantiated by clients.

### Nested Class Summary

Nested Classes
`static class` `PrimitiveType.Code` Primitive type codes (typesafe enumeration).

### Field Summary

Fields
`static ChildListPropertyDescriptor` `ANNOTATIONS_PROPERTY` The "annotations" structural property of this node type (element type: `Annotation`).
`static PrimitiveType.Code` `BOOLEAN` Type code for the primitive type "boolean".
`static PrimitiveType.Code` `BYTE` Type code for the primitive type "byte".
`static PrimitiveType.Code` `CHAR` Type code for the primitive type "char".
`static PrimitiveType.Code` `DOUBLE` Type code for the primitive type "double".
`static PrimitiveType.Code` `FLOAT` Type code for the primitive type "float".
`static PrimitiveType.Code` `INT` Type code for the primitive type "int".
`static PrimitiveType.Code` `LONG` Type code for the primitive type "long".
`static SimplePropertyDescriptor` `PRIMITIVE_TYPE_CODE_PROPERTY` The "primitiveTypeCode" structural property of this node type (type: `PrimitiveType.Code`).
`static PrimitiveType.Code` `SHORT` Type code for the primitive type "short".
`static PrimitiveType.Code` `VOID` Type code for the primitive type "void".

### Fields inherited from class org.eclipse.jdt.core.dom.ASTNode

`ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`PrimitiveType.Code` `getPrimitiveTypeCode()` Returns the primitive type code.
`static List` `propertyDescriptors​(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setPrimitiveTypeCode​(PrimitiveType.Code typeCode)` Sets the primitive type code.
`static PrimitiveType.Code` `toCode​(String token)` Returns the primitive type code corresponding to the given string, or `null` if none.

### Methods inherited from class org.eclipse.jdt.core.dom.AnnotatableType

`annotations, getAnnotationsProperty`

### Methods inherited from class org.eclipse.jdt.core.dom.Type

`isAnnotatable, isArrayType, isIntersectionType, isNameQualifiedType, isParameterizedType, isPrimitiveType, isQualifiedType, isSimpleType, isUnionType, isVar, isWildcardType, resolveBinding`

### Methods inherited from class org.eclipse.jdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### INT

    public static final PrimitiveType.Code INT

Type code for the primitive type "int".

#### CHAR

    public static final PrimitiveType.Code CHAR

Type code for the primitive type "char".

#### BOOLEAN

    public static final PrimitiveType.Code BOOLEAN

Type code for the primitive type "boolean".

#### SHORT

    public static final PrimitiveType.Code SHORT

Type code for the primitive type "short".

#### LONG

    public static final PrimitiveType.Code LONG

Type code for the primitive type "long".

#### FLOAT

    public static final PrimitiveType.Code FLOAT

Type code for the primitive type "float".

#### DOUBLE

    public static final PrimitiveType.Code DOUBLE

Type code for the primitive type "double".

#### BYTE

    public static final PrimitiveType.Code BYTE

Type code for the primitive type "byte".

#### VOID

    public static final PrimitiveType.Code VOID

Type code for the primitive type "void". Note that "void" is special in that its only legitimate uses are as a method return type and as a type literal.

#### ANNOTATIONS_PROPERTY

    public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY

The "annotations" structural property of this node type (element type: `Annotation`).

Since:
  3.10

#### PRIMITIVE_TYPE_CODE_PROPERTY

    public static final SimplePropertyDescriptor PRIMITIVE_TYPE_CODE_PROPERTY

The "primitiveTypeCode" structural property of this node type (type: `PrimitiveType.Code`).

Since:
  3.0

### Method Detail

#### toCode

    public static PrimitiveType.Code toCode​(String token)

Returns the primitive type code corresponding to the given string, or `null` if none.

`toCode` is the converse of `toString`: that is, `PrimitiveType.Code.toCode(code.toString()) == code` for all type code `code`.

Parameters:
  `token` - the standard name of the primitive type
Returns:
  the primitive type code, or `null` if none

#### propertyDescriptors

    public static List propertyDescriptors​(int apiLevel)

Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the `AST.JLS*` constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)
Since:
  3.0

#### getPrimitiveTypeCode

    public PrimitiveType.Code getPrimitiveTypeCode()

Returns the primitive type code.

Returns:
  one of the primitive type code constants declared in this class

#### setPrimitiveTypeCode

    public void setPrimitiveTypeCode​(PrimitiveType.Code typeCode)

Sets the primitive type code.

Parameters:
  `typeCode` - one of the primitive type code constants declared in this class
Throws:
  `IllegalArgumentException` - if the argument is incorrect