public class QualifiedType extends AnnotatableType
QualifiedType: Type . { Annotation } SimpleName
Not all node arrangements will represent legal Java constructs. In particular, it is nonsense if the type is an array type or primitive type. The normal use is when the type is a ParameterizedType, an annotated QualifiedType, or a NameQualifiedType.
A "."-separated type like "A.B" can be represented in three ways:
1. SimpleType | 2. NameQualifiedType | 3. QualifiedType QualifiedName | SimpleName SimpleName | SimpleType SimpleName SimpleName SimpleName | "A" "B" | SimpleName "B" "A" "B" | | "A"
The ASTParser creates the SimpleType form (wrapping a name) if possible. The SimpleType form doesn't support any embedded Annotations nor ParameterizedTypes. The NameQualifiedType form is only available since JLS8 and the QualifiedType form only since JLS3. The NameQualifiedType and QualifiedType forms allow Annotations on the last SimpleName. The QualifiedType form cannot be used if the qualifier represents a package name.
The part before the last "." is called the qualifier of a type. If the name after the last "." has annotations or if the qualifier is not a (possibly qualified) name, then the ASTParser creates either a NameQualifiedType or a QualifiedType:
SimpleType
,
NameQualifiedType
Modifier and Type | Field and Description |
---|---|
static ChildListPropertyDescriptor |
ANNOTATIONS_PROPERTY
The "annotations" structural property of this node type (element type:
Annotation ). |
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type (child type:
SimpleName ). |
static ChildPropertyDescriptor |
QUALIFIER_PROPERTY
The "qualifier" structural property of this node type (child type:
Type ). |
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
Modifier and Type | Method and Description |
---|---|
SimpleName |
getName()
Returns the name part of this qualified type.
|
Type |
getQualifier()
Returns the qualifier of this qualified type.
|
static List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
void |
setName(SimpleName name)
Sets the name part of this qualified type to the given simple name.
|
void |
setQualifier(Type type)
Sets the qualifier of this qualified type to the given type.
|
annotations, getAnnotationsProperty
isAnnotatable, isArrayType, isIntersectionType, isNameQualifiedType, isParameterizedType, isPrimitiveType, isQualifiedType, isSimpleType, isUnionType, isVar, isWildcardType, resolveBinding
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
public static final ChildPropertyDescriptor QUALIFIER_PROPERTY
Type
).public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY
Annotation
).public static final ChildPropertyDescriptor NAME_PROPERTY
SimpleName
).public static List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constantsStructuralPropertyDescriptor
)public Type getQualifier()
public void setQualifier(Type type)
type
- the new qualifier of this qualified typeIllegalArgumentException
- if:
public SimpleName getName()
public void setName(SimpleName name)
name
- the identifier of this qualified nameIllegalArgumentException
- if:
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.