Klasse QualifiedType
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:
- If the qualifier is a (possibly qualified) name, then a NameQualifiedType is created.
- Otherwise, a QualifiedType is created and its qualifier is built using the same rules.
- Seit:
- 3.1
- Siehe auch:
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungstatic final ChildListPropertyDescriptorThe "annotations" structural property of this node type (element type:Annotation).static final ChildPropertyDescriptorThe "name" structural property of this node type (child type:SimpleName).static final ChildPropertyDescriptorThe "qualifier" structural property of this node type (child type:Type).Von Klasse geerbte Felder org.aspectj.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, CASE_DEFAULT_EXPRESSION, 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, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, 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, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, 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_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT -
Methodenübersicht
Modifizierer und TypMethodeBeschreibunggetName()Returns the name part of this qualified type.Returns the qualifier of this qualified type.static ListpropertyDescriptors(int apiLevel) Returns a list of structural property descriptors for this node type.voidsetName(SimpleName name) Sets the name part of this qualified type to the given simple name.voidsetQualifier(Type type) Sets the qualifier of this qualified type to the given type.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.AnnotatableType
annotations, getAnnotationsPropertyVon Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.Type
isAnnotatable, isArrayType, isIntersectionType, isNameQualifiedType, isParameterizedType, isPrimitiveType, isQualifiedType, isSimpleType, isUnionType, isVar, isWildcardType, resolveBindingVon Klasse geerbte Methoden org.aspectj.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
-
Felddetails
-
QUALIFIER_PROPERTY
The "qualifier" structural property of this node type (child type:Type). -
ANNOTATIONS_PROPERTY
The "annotations" structural property of this node type (element type:Annotation).- Seit:
- 3.10
-
NAME_PROPERTY
The "name" structural property of this node type (child type:SimpleName).
-
-
Methodendetails
-
propertyDescriptors
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameter:
apiLevel- the API level; one of theAST.JLS*constants- Gibt zurück:
- a list of property descriptors (element type:
StructuralPropertyDescriptor)
-
getQualifier
Returns the qualifier of this qualified type.- Gibt zurück:
- the qualifier of this qualified type
-
setQualifier
Sets the qualifier of this qualified type to the given type.- Parameter:
type- the new qualifier of this qualified type- Löst aus:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
-
getName
Returns the name part of this qualified type.- Gibt zurück:
- the name being qualified
-
setName
Sets the name part of this qualified type to the given simple name.- Parameter:
name- the identifier of this qualified name- Löst aus:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
-