|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.VariableDeclaration
org.eclipse.jdt.core.dom.SingleVariableDeclaration
public class SingleVariableDeclaration
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 ]
Field Summary | |
---|---|
static SimplePropertyDescriptor |
EXTRA_DIMENSIONS_PROPERTY
The "extraDimensions" structural property of this node type. |
static ChildPropertyDescriptor |
INITIALIZER_PROPERTY
The "initializer" structural property of this node type. |
static SimplePropertyDescriptor |
MODIFIERS_PROPERTY
The "modifiers" structural property of this node type (JLS2 API only). |
static ChildListPropertyDescriptor |
MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (added in JLS3 API). |
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type. |
static ChildPropertyDescriptor |
TYPE_PROPERTY
The "type" structural property of this node type. |
static SimplePropertyDescriptor |
VARARGS_PROPERTY
The "varargs" structural property of this node type (added in JLS3 API). |
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). |
java.util.List |
modifiers()
Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API). |
static java.util.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.VariableDeclaration |
---|
getExtraDimensionsProperty, getInitializerProperty, getNameProperty, resolveBinding |
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 |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final SimplePropertyDescriptor MODIFIERS_PROPERTY
public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
public static final ChildPropertyDescriptor NAME_PROPERTY
public static final ChildPropertyDescriptor TYPE_PROPERTY
public static final SimplePropertyDescriptor VARARGS_PROPERTY
public static final SimplePropertyDescriptor EXTRA_DIMENSIONS_PROPERTY
public static final ChildPropertyDescriptor INITIALIZER_PROPERTY
Method Detail |
---|
public static java.util.List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constants
StructuralPropertyDescriptor
)public java.util.List modifiers()
Note that the final modifier is the only meaningful modifier for local variable and formal parameter declarations.
IExtendedModifier
)
java.lang.UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic int getModifiers()
In the JLS3 API, this method is a convenience method that
computes these flags from modifiers()
.
Modifier
constantsModifier
public void setModifiers(int modifiers)
modifiers()
which contains a list of a Modifier
nodes.
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.
modifiers
- the given modifiers (bit-wise or of Modifier
constants)
java.lang.UnsupportedOperationException
- if this operation is used in
an AST later than JLS2Modifier
public SimpleName getName()
VariableDeclaration
getName
in class VariableDeclaration
public void setName(SimpleName variableName)
VariableDeclaration
setName
in class VariableDeclaration
variableName
- the new variable namepublic Type getType()
public void setType(Type type)
type
- the new type
java.lang.IllegalArgumentException
- if:
public boolean isVarargs()
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.
true
if this is a variable arity parameter declaration,
and false
otherwise
java.lang.UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic void setVarargs(boolean variableArity)
variableArity
- true
if this is a variable arity
parameter declaration, and false
otherwisepublic int getExtraDimensions()
VariableDeclaration
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.
getExtraDimensions
in class VariableDeclaration
public void setExtraDimensions(int dimensions)
VariableDeclaration
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.
setExtraDimensions
in class VariableDeclaration
dimensions
- the number of array dimensionspublic Expression getInitializer()
VariableDeclaration
null
if there is none.
getInitializer
in class VariableDeclaration
null
if
there is nonepublic void setInitializer(Expression initializer)
VariableDeclaration
setInitializer
in class VariableDeclaration
initializer
- the initializer expression node, or null
if there is none
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |