Package org.eclipse.jdt.core.dom
Class SimpleName
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Expression
org.eclipse.jdt.core.dom.Name
org.eclipse.jdt.core.dom.SimpleName
- All Implemented Interfaces:
IDocElement
AST node for a simple name. A simple name is an identifier other than
a keyword, boolean literal ("true", "false") or null literal ("null").
SimpleName:
Identifier
- Since:
- 2.0
- Restriction:
- This class is not intended to be instantiated by clients.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SimplePropertyDescriptorThe "identifier" structural property of this node type (type:String).static final SimplePropertyDescriptorThe "var" property of this node name (type:Boolean) (added in JLS10 API).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, 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, EitherOr_MultiPattern, 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, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT -
Method Summary
Modifier and TypeMethodDescriptionReturns this node's identifier.booleanReturns whether this simple name represents a name that is being defined, as opposed to one being referenced.booleanisVar()Returns whether this represents a "var" type or not (added in JLS10 API).static ListpropertyDescriptors(int apiLevel) Returns a list of structural property descriptors for this node type.voidsetIdentifier(String identifier) Sets the identifier of this node to the given value.Methods inherited from class org.eclipse.jdt.core.dom.Name
getFullyQualifiedName, isQualifiedName, isSimpleName, resolveBindingMethods inherited from class org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxingMethods 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
-
Field Details
-
Method Details
-
propertyDescriptors
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
-
getIdentifier
Returns this node's identifier.- Returns:
- the identifier of this node
-
setIdentifier
Sets the identifier of this node to the given value. The identifier should be legal according to the rules of the Java language. Note that keywords are not legal identifiers.Note that the list of keywords may depend on the version of the language (determined when the AST object was created).
- Parameters:
identifier- the identifier of this node- Throws:
IllegalArgumentException- if the identifier is invalid
-
isVar
public boolean isVar()Returns whether this represents a "var" type or not (added in JLS10 API).- Returns:
trueif this is a var type andfalseotherwise- Throws:
UnsupportedOperationException- if this operation is used in an AST below JLS10- Since:
- 3.14
-
isDeclaration
public boolean isDeclaration()Returns whether this simple name represents a name that is being defined, as opposed to one being referenced. The following positions are considered ones where a name is defined:- The type name in a
TypeDeclarationnode. - The method name in a
MethodDeclarationnode providingisConstructorisfalse. - The variable name in any type of
VariableDeclarationnode. - The enum type name in a
EnumDeclarationnode. - The enum constant name in an
EnumConstantDeclarationnode. - The variable name in an
EnhancedForStatementnode. - The type variable name in a
TypeParameternode. - The type name in an
AnnotationTypeDeclarationnode. - The member name in an
AnnotationTypeMemberDeclarationnode.
Note that this is a convenience method that simply checks whether this node appears in the declaration position relative to its parent. It always returns
falseif this node is unparented.- Returns:
trueif this node declares a name, andfalseotherwise
- The type name in a
-