|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.core.dom.ASTNode
org.aspectj.org.eclipse.jdt.core.dom.VariableDeclaration
org.aspectj.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.
SingleVariableDeclaration:
{ ExtendedModifier } Type {Annotation} [ ... ] Identifier { Dimension } [ = Expression ]
Note: There's currently no construct in the Java language that allows an initializer on a SingleVariableDeclaration.
| Field Summary | |
|---|---|
static SimplePropertyDescriptor |
EXTRA_DIMENSIONS_PROPERTY
Deprecated. In JLS8 and later, use EXTRA_DIMENSIONS2_PROPERTY instead. |
static ChildListPropertyDescriptor |
EXTRA_DIMENSIONS2_PROPERTY
The "extraDimensions2" structural property of this node type (element type: Dimension) (added in JLS8 API). |
static ChildPropertyDescriptor |
INITIALIZER_PROPERTY
The "initializer" structural property of this node type (child type: Expression). |
static SimplePropertyDescriptor |
MODIFIERS_PROPERTY
Deprecated. In the JLS3 API, this property is replaced by MODIFIERS2_PROPERTY. |
static ChildListPropertyDescriptor |
MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (element type: IExtendedModifier) (added in JLS3 API). |
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type (child type: SimpleName). |
static ChildPropertyDescriptor |
TYPE_PROPERTY
The "type" structural property of this node type (child type: Type). |
static ChildListPropertyDescriptor |
VARARGS_ANNOTATIONS_PROPERTY
The "varargsAnnotations" structural property of variable arguments of this node type (element type: Annotation)
(added in JLS8 API). |
static SimplePropertyDescriptor |
VARARGS_PROPERTY
The "varargs" structural property of this node type (type: Boolean) (added in JLS3 API). |
| Method Summary | |
|---|---|
int |
getModifiers()
Returns the modifiers explicitly specified on this declaration. |
Type |
getType()
Returns the type of the variable declared in this variable declaration, exclusive of any extra array dimensions or the varargs dimension. |
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 |
setModifiers(int modifiers)
Deprecated. In the JLS3 API, this method is replaced by modifiers() which contains a list of a Modifier nodes. |
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). |
java.util.List |
varargsAnnotations()
Returns the ordered list of annotations on the varargs token (added in JLS8 API). |
| Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.VariableDeclaration |
|---|
extraDimensions, getExtraDimensions, getExtraDimensions2Property, getExtraDimensionsProperty, getInitializer, getInitializerProperty, getName, getNameProperty, resolveBinding, setExtraDimensions, setInitializer, setName |
| Methods inherited from class 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 |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final SimplePropertyDescriptor MODIFIERS_PROPERTY
MODIFIERS2_PROPERTY.Integer) (JLS2 API only).
public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
IExtendedModifier) (added in JLS3 API).
public static final ChildPropertyDescriptor TYPE_PROPERTY
Type).
public static final ChildListPropertyDescriptor VARARGS_ANNOTATIONS_PROPERTY
Annotation)
(added in JLS8 API).
public static final SimplePropertyDescriptor VARARGS_PROPERTY
Boolean) (added in JLS3 API).
public static final ChildPropertyDescriptor NAME_PROPERTY
SimpleName).
public static final SimplePropertyDescriptor EXTRA_DIMENSIONS_PROPERTY
EXTRA_DIMENSIONS2_PROPERTY instead.Integer)
(before JLS8 only).
public static final ChildListPropertyDescriptor EXTRA_DIMENSIONS2_PROPERTY
Dimension) (added in JLS8 API).
public static final ChildPropertyDescriptor INITIALIZER_PROPERTY
Expression).
| 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 constantsModifierpublic 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 JLS2Modifierpublic Type getType()
WARNING: For array-typed varargs, the binding
of the returned Type is not useful, since it represents
an unused type. It misses the last (innermost) dimension that carries the
varargsAnnotations().
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.
WARNING: For array-typed varargs, the binding
of the variable's type is not useful, since it represents
an unused type. It misses the last (innermost) dimension that carries the
varargsAnnotations().
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 java.util.List varargsAnnotations()
WARNING: For array-typed varargs, the binding
of the variable's type is not useful, since it represents
an unused type. It misses the last (innermost) dimension that carries the
returned varargsAnnotations.
Annotation)
java.lang.UnsupportedOperationException - if this operation is used
in a JLS2, JLS3 or JLS4 ASTisVarargs()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||