Class VariableDeclarationExpression
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.Expression
-
- org.eclipse.jdt.core.dom.VariableDeclarationExpression
-
public class VariableDeclarationExpression extends Expression
Local variable declaration expression AST node type.This kind of node collects together several variable declaration fragments (
VariableDeclarationFragment) into a single expression (Expression), all sharing the same modifiers and base type. This type of node can be used as the initializer of aForStatement, or wrapped in anExpressionStatementto form the equivalent of aVariableDeclarationStatement.VariableDeclarationExpression: { ExtendedModifier } Type VariableDeclarationFragment { , VariableDeclarationFragment }- Since:
- 2.0
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ChildListPropertyDescriptorFRAGMENTS_PROPERTYThe "fragments" structural property of this node type (element type:VariableDeclarationFragment).static SimplePropertyDescriptorMODIFIERS_PROPERTYDeprecated.In the JLS3 API, this property is replaced byMODIFIERS2_PROPERTY.static ChildListPropertyDescriptorMODIFIERS2_PROPERTYThe "modifiers" structural property of this node type (element type:IExtendedModifier) (added in JLS3 API).static ChildPropertyDescriptorTYPE_PROPERTYThe "type" structural property of this node type (child type:Type).-
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, RECORD_DECLARATION, 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, TEXT_BLOCK, 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, YIELD_STATEMENT
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Listfragments()Returns the live list of variable declaration fragments in this expression.intgetModifiers()Returns the modifiers explicitly specified on this declaration.TypegetType()Returns the base type declared in this variable declaration.Listmodifiers()Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).static ListpropertyDescriptors(int apiLevel)Returns a list of structural property descriptors for this node type.voidsetModifiers(int modifiers)Deprecated.In the JLS3 API, this method is replaced bymodifiers()which contains a list of aModifiernodes.voidsetType(Type type)Sets the base type declared in this variable declaration to the given type.-
Methods inherited from class org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
-
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
-
-
-
-
Field Detail
-
MODIFIERS_PROPERTY
public static final SimplePropertyDescriptor MODIFIERS_PROPERTY
Deprecated.In the JLS3 API, this property is replaced byMODIFIERS2_PROPERTY.The "modifiers" structural property of this node type (type:Integer) (JLS2 API only).- Since:
- 3.0
-
MODIFIERS2_PROPERTY
public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (element type:IExtendedModifier) (added in JLS3 API).- Since:
- 3.1
-
TYPE_PROPERTY
public static final ChildPropertyDescriptor TYPE_PROPERTY
The "type" structural property of this node type (child type:Type).- Since:
- 3.0
-
FRAGMENTS_PROPERTY
public static final ChildListPropertyDescriptor FRAGMENTS_PROPERTY
The "fragments" structural property of this node type (element type:VariableDeclarationFragment).- Since:
- 3.0
-
-
Method Detail
-
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 theAST.JLS*constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor) - Since:
- 3.0
-
modifiers
public List modifiers()
Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).Note that the final modifier is the only meaningful modifier for local variable declarations.
- Returns:
- the live list of modifiers and annotations
(element type:
IExtendedModifier) - Throws:
UnsupportedOperationException- if this operation is used in a JLS2 AST- Since:
- 3.1
-
getModifiers
public int getModifiers()
Returns the modifiers explicitly specified on this declaration.In the JLS3 API, this method is a convenience method that computes these flags from
modifiers().- Returns:
- the bit-wise or of
Modifierconstants - See Also:
Modifier
-
setModifiers
public void setModifiers(int modifiers)
Deprecated.In the JLS3 API, this method is replaced bymodifiers()which contains a list of aModifiernodes.Sets the modifiers explicitly specified on this declaration (JLS2 API only).Note that the final modifier is the only meaningful modifier for local variable declarations.
- Parameters:
modifiers- the given modifiers (bit-wise or ofModifierconstants)- Throws:
UnsupportedOperationException- if this operation is used in an AST later than JLS2- See Also:
Modifier
-
getType
public Type getType()
Returns the base type declared in this variable declaration.N.B. The individual child variable declaration fragments may specify additional array dimensions. So the type of the variable are not necessarily exactly this type.
- Returns:
- the base type
-
setType
public void setType(Type type)
Sets the base type declared in this variable declaration to the given type.- Parameters:
type- the new base type- Throws:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
-
fragments
public List fragments()
Returns the live list of variable declaration fragments in this expression. Adding and removing nodes from this list affects this node dynamically. All nodes in this list must beVariableDeclarationFragments; attempts to add any other type of node will trigger an exception.- Returns:
- the live list of variable declaration fragments in this
expression (element type:
VariableDeclarationFragment)
-
-