org.eclipse.wst.jsdt.core.dom

## Class PrimitiveType

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.ASTNode
  - - org.eclipse.wst.jsdt.core.dom.Type
    - - org.eclipse.wst.jsdt.core.dom.PrimitiveType

    public class PrimitiveType
    extends Type

Primitive type nodes.

     PrimitiveType:
        byte
        short
        char
        int
        long
        float
        double
        boolean
        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.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Nested Class Summary

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

### Field Summary

Fields
`static PrimitiveType.Code` `ANY_CODE` Type code for the primitive type "any".
`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.
`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.wst.jsdt.core.dom.ASTNode

`ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static PrimitiveType` `createAnyType(AST ast)`
`PrimitiveType.Code` `getPrimitiveTypeCode()` Returns the primitive type code.
`static java.util.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(java.lang.String token)` Returns the primitive type code corresponding to the given string, or `null` if none.

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.Type

`isArrayType, isInferred, isPrimitiveType, isQualifiedType, isSimpleType, resolveBinding`

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, 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".

#### ANY_CODE

    public static final PrimitiveType.Code ANY_CODE

Type code for the primitive type "any".

#### 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.

#### PRIMITIVE_TYPE_CODE_PROPERTY

    public static final SimplePropertyDescriptor PRIMITIVE_TYPE_CODE_PROPERTY

The "primitiveTypeCode" structural property of this node type.

### Method Detail

#### toCode

    public static PrimitiveType.Code toCode(java.lang.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 java.util.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`)

#### createAnyType

    public static PrimitiveType createAnyType(AST ast)

#### 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:
  `java.lang.IllegalArgumentException` - if the argument is incorrect