|
org.eclipse.jdt.core.dom
Class SingleVariableDeclaration
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.VariableDeclaration
org.eclipse.jdt.core.dom.SingleVariableDeclaration
-
public class SingleVariableDeclaration
- extends
VariableDeclaration
Single variable declaration AST node type. Single variable
declaration nodes are used in a limited number of places, including formal
parameter lists and catch clauses. They are not used for field declarations
and regular variable declaration statements.
For JLS2:
SingleVariableDeclaration:
{ Modifier } Type Identifier { [
] } [ = Expression ]
For JLS3, the modifier flags were replaced by
a list of modifier nodes (intermixed with annotations), and the variable arity
indicator was added:
SingleVariableDeclaration:
{ ExtendedModifier } Type [ ... ] Identifier { [
] } [ = Expression ]
-
Since:
- 2.0
-
Restriction:
- This class is not intended to be instantiated by clients.
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,
DO_STATEMENT,
EMPTY_STATEMENT,
ENHANCED_FOR_STATEMENT,
ENUM_CONSTANT_DECLARATION,
ENUM_DECLARATION,
EXPRESSION_STATEMENT,
FIELD_ACCESS,
FIELD_DECLARATION,
FOR_STATEMENT,
IF_STATEMENT,
IMPORT_DECLARATION,
INFIX_EXPRESSION,
INITIALIZER,
INSTANCEOF_EXPRESSION,
JAVADOC,
LABELED_STATEMENT,
LINE_COMMENT,
MALFORMED,
MARKER_ANNOTATION,
MEMBER_REF,
MEMBER_VALUE_PAIR,
METHOD_DECLARATION,
METHOD_INVOCATION,
METHOD_REF,
METHOD_REF_PARAMETER,
MODIFIER,
NORMAL_ANNOTATION,
NULL_LITERAL,
NUMBER_LITERAL,
ORIGINAL,
PACKAGE_DECLARATION,
PARAMETERIZED_TYPE,
PARENTHESIZED_EXPRESSION,
POSTFIX_EXPRESSION,
PREFIX_EXPRESSION,
PRIMITIVE_TYPE,
PROTECT,
QUALIFIED_NAME,
QUALIFIED_TYPE,
RECOVERED,
RETURN_STATEMENT,
SIMPLE_NAME,
SIMPLE_TYPE,
SINGLE_MEMBER_ANNOTATION,
SINGLE_VARIABLE_DECLARATION,
STRING_LITERAL,
SUPER_CONSTRUCTOR_INVOCATION,
SUPER_FIELD_ACCESS,
SUPER_METHOD_INVOCATION,
SWITCH_CASE,
SWITCH_STATEMENT,
SYNCHRONIZED_STATEMENT,
TAG_ELEMENT,
TEXT_ELEMENT,
THIS_EXPRESSION,
THROW_STATEMENT,
TRY_STATEMENT,
TYPE_DECLARATION,
TYPE_DECLARATION_STATEMENT,
TYPE_LITERAL,
TYPE_PARAMETER,
VARIABLE_DECLARATION_EXPRESSION,
VARIABLE_DECLARATION_FRAGMENT,
VARIABLE_DECLARATION_STATEMENT,
WHILE_STATEMENT,
WILDCARD_TYPE
|
Method Summary
|
int
|
getExtraDimensions
()
Returns the number of extra array dimensions over and above the
explicitly-specified type. |
Expression
|
getInitializer
()
Returns the initializer of this variable declaration, or
null if there is none. |
int
|
getModifiers
()
Returns the modifiers explicitly specified on this declaration. |
SimpleName
|
getName
()
Returns the name of the variable declared in this variable declaration. |
Type
|
getType
()
Returns the type of the variable declared in this variable declaration,
exclusive of any extra array dimensions. |
boolean
|
isVarargs
()
Returns whether this declaration declares the last parameter of
a variable arity method (added in JLS3 API). |
List
|
modifiers
()
Returns the live ordered list of modifiers and annotations
of this declaration (added in JLS3 API). |
static
List
|
propertyDescriptors
(int apiLevel)
Returns a list of structural property descriptors for this node type. |
void
|
setExtraDimensions
(int dimensions)
Sets the number of extra array dimensions over and above the
explicitly-specified type. |
void
|
setInitializer
(
Expression initializer)
Sets or clears the initializer of this variable declaration. |
void
|
setModifiers
(int modifiers)
Deprecated. In the JLS3 API, this method is replaced by
modifiers() which contains a list of a Modifier nodes.
|
void
|
setName
(
SimpleName variableName)
Sets the name of the variable declared in this variable declaration
to the given name. |
void
|
setType
(
Type type)
Sets the type of the variable declared in this variable declaration to
the given type, exclusive of any extra array dimensions. |
void
|
setVarargs
(boolean variableArity)
Sets whether this declaration declares the last parameter of
a variable arity method (added in JLS3 API). |
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
|
MODIFIERS_PROPERTY
public static final
SimplePropertyDescriptor MODIFIERS_PROPERTY
- The "modifiers" structural property of this node type (JLS2 API only).
-
Since:
- 3.0
MODIFIERS2_PROPERTY
public static final
ChildListPropertyDescriptor MODIFIERS2_PROPERTY
- The "modifiers" structural property of this node type (added in JLS3 API).
-
Since:
- 3.1
NAME_PROPERTY
public static final
ChildPropertyDescriptor NAME_PROPERTY
- The "name" structural property of this node type.
-
Since:
- 3.0
TYPE_PROPERTY
public static final
ChildPropertyDescriptor TYPE_PROPERTY
- The "type" structural property of this node type.
-
Since:
- 3.0
VARARGS_PROPERTY
public static final
SimplePropertyDescriptor VARARGS_PROPERTY
- The "varargs" structural property of this node type (added in JLS3 API).
-
Since:
- 3.1
EXTRA_DIMENSIONS_PROPERTY
public static final
SimplePropertyDescriptor EXTRA_DIMENSIONS_PROPERTY
- The "extraDimensions" structural property of this node type.
-
Since:
- 3.0
INITIALIZER_PROPERTY
public static final
ChildPropertyDescriptor INITIALIZER_PROPERTY
- The "initializer" structural property of this node type.
-
Since:
- 3.0
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 the
AST.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 and formal parameter 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
Modifier constants -
See Also:
-
Modifier
setModifiers
public void setModifiers(int modifiers)
-
Deprecated. In the JLS3 API, this method is replaced by
modifiers() which contains a list of a Modifier nodes.
- Sets the modifiers explicitly specified on this declaration (JLS2 API only).
The following modifiers are meaningful for fields: public, private, protected,
static, final, volatile, and transient. For local variable and formal
parameter declarations, the only meaningful modifier is final.
-
-
Parameters:
-
modifiers - the given modifiers (bit-wise or of Modifier constants)
-
Throws:
-
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2 -
See Also:
-
Modifier
getName
public
SimpleName getName()
-
Description copied from class:
VariableDeclaration
- Returns the name of the variable declared in this variable declaration.
-
-
Specified by:
-
getName
in class
VariableDeclaration
-
-
Returns:
- the variable name node
setName
public void setName(
SimpleName variableName)
-
Description copied from class:
VariableDeclaration
- Sets the name of the variable declared in this variable declaration
to the given name.
-
-
Specified by:
-
setName
in class
VariableDeclaration
-
-
Parameters:
-
variableName - the new variable name
getType
public
Type getType()
- Returns the type of the variable declared in this variable declaration,
exclusive of any extra array dimensions.
-
-
Returns:
- the type
setType
public void setType(
Type type)
- Sets the type of the variable declared in this variable declaration to
the given type, exclusive of any extra array dimensions.
-
-
Parameters:
-
type - the new type
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
isVarargs
public boolean isVarargs()
- Returns whether this declaration declares the last parameter of
a variable arity method (added in JLS3 API).
Note that the binding for the type Foo in the vararg method
declaration void fun(Foo... args) is always for the type as
written; i.e., the type binding for Foo . However, if you
navigate from the method declaration to its method binding to the
type binding for its last parameter, the type binding for the vararg
parameter is always an array type (i.e., Foo[] ) reflecting
the way vararg methods get compiled.
-
-
Returns:
-
true if this is a variable arity parameter declaration,
and false otherwise
-
Throws:
-
UnsupportedOperationException
- if this operation is used in
a JLS2 AST -
Since:
- 3.1
setVarargs
public void setVarargs(boolean variableArity)
- Sets whether this declaration declares the last parameter of
a variable arity method (added in JLS3 API).
-
-
Parameters:
-
variableArity - true if this is a variable arity
parameter declaration, and false otherwise -
Since:
- 3.1
getExtraDimensions
public int getExtraDimensions()
-
Description copied from class:
VariableDeclaration
- Returns the number of extra array dimensions over and above the
explicitly-specified type.
For example, int x[][] has a type of
int and two extra array dimensions;
int[][] x has a type of int[][]
and zero extra array dimensions. The two constructs have different
ASTs, even though there are really syntactic variants of the same
variable declaration.
-
-
Specified by:
-
getExtraDimensions
in class
VariableDeclaration
-
-
Returns:
- the number of extra array dimensions
setExtraDimensions
public void setExtraDimensions(int dimensions)
-
Description copied from class:
VariableDeclaration
- Sets the number of extra array dimensions over and above the
explicitly-specified type.
For example, int x[][] has a type of
int and two extra array dimensions;
int[][] x has a type of int[][]
and zero extra array dimensions. The two constructs have different
ASTs, even though there are really syntactic variants of the same
variable declaration.
-
-
Specified by:
-
setExtraDimensions
in class
VariableDeclaration
-
-
Parameters:
-
dimensions - the number of array dimensions
getInitializer
public
Expression getInitializer()
-
Description copied from class:
VariableDeclaration
- Returns the initializer of this variable declaration, or
null if there is none.
-
-
Specified by:
-
getInitializer
in class
VariableDeclaration
-
-
Returns:
- the initializer expression node, or
null if
there is none
setInitializer
public void setInitializer(
Expression initializer)
-
Description copied from class:
VariableDeclaration
- Sets or clears the initializer of this variable declaration.
-
-
Specified by:
-
setInitializer
in class
VariableDeclaration
-
-
Parameters:
-
initializer - the initializer expression node, or null
if there is none
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|