AST
node type VariableDeclaration

General Info

Production
VariableDeclaration : Stmt ::= Modifiers TypeAccess:Access <ID:String> [Init:Expr];
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.Stmt
              extended by AST.VariableDeclaration
All Implemented Interfaces:
SimpleSet, Variable, java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator
Direct Known Subclasses:
ResourceDeclaration

Nested classes/interfaces inherited from interface AST.SimpleSet

Description

Source
Declared in Java1.4Frontend/java.ast at line 83

Member Filters

API level:

Aspect:

Constructors

public VariableDeclaration(Access type,
                           java.lang.String name,
                           Expr init)
 
Source
Declared in Java1.4Frontend/NodeConstructors.jrag at line 74
Aspect
NodeConstructors
public VariableDeclaration(Access type,
                           java.lang.String name)
 
Source
Declared in Java1.4Frontend/NodeConstructors.jrag at line 78
Aspect
NodeConstructors
public VariableDeclaration(Modifiers p0,
                           Access p1,
                           java.lang.String p2,
                           Opt<Expr> p3)
 
public VariableDeclaration(Modifiers p0,
                           Access p1,
                           beaver.Symbol p2,
                           Opt<Expr> p3)
 

Attributes

syn int size()
Specified by:size in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 97
Aspect
DataStructures
syn boolean isEmpty()
Specified by:isEmpty in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 98
Aspect
DataStructures
syn boolean contains(java.lang.Object o)
Specified by:contains in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 102
Aspect
DataStructures
syn boolean isBlankFinal()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 91
Aspect
DefiniteAssignment
syn boolean isValue()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 92
Aspect
DefiniteAssignment
syn boolean isDAafter(Variable v)
Overrides:isDAafter in class Stmt
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 492
Aspect
DA
syn boolean isDUafter(Variable v)
Overrides:isDUafter in class Stmt
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 875
Aspect
DU
syn boolean declaresVariable(java.lang.String name)
Overrides:declaresVariable in class Stmt
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 129
Aspect
VariableScope
syn boolean isSynthetic()
Specified by:isSynthetic in interface Variable
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 219
Aspect
Modifiers
syn java.lang.String dumpString()
Overrides:dumpString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 800
Aspect
PrettyPrint
syn TypeDecl type()
Specified by:type in interface Variable
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 252
Aspect
TypeAnalysis
syn boolean isParameter()
Specified by:isParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 13
Aspect
Variables
syn boolean isClassVariable()
Specified by:isClassVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 15
Aspect
Variables
syn boolean isInstanceVariable()
Specified by:isInstanceVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 16
Aspect
Variables
syn boolean isMethodParameter()
Specified by:isMethodParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 17
Aspect
Variables
syn boolean isConstructorParameter()
Specified by:isConstructorParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 18
Aspect
Variables
Specified by:isExceptionHandlerParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 19
Aspect
Variables
syn boolean isLocalVariable()
Specified by:isLocalVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 20
Aspect
Variables
syn boolean isFinal()
Specified by:isFinal in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 22
Aspect
Variables
syn boolean isVolatile()
Specified by:isVolatile in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 23
Aspect
Variables
syn boolean isBlank()
Specified by:isBlank in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 24
Aspect
Variables
syn boolean isStatic()
Specified by:isStatic in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 25
Aspect
Variables
syn java.lang.String name()
Specified by:name in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 27
Aspect
Variables
Specified by:constant in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 29
Aspect
Variables
Specified by:sourceVariableDecl in interface Variable
Source
Declared in Java1.5Frontend/Generics.jrag at line 1520
Aspect
SourceDeclarations
syn java.util.Collection<TypeDecl> throwTypes()
Specified by:throwTypes in interface Variable
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 17
Aspect
PreciseRethrow
syn boolean modifiedInScope(Variable var)
Specified by:modifiedInScope in class Stmt
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 55
Aspect
PreciseRethrow
syn boolean hasAnnotationSuppressWarnings(java.lang.String s)
Source
Declared in Java7Frontend/SuppressWarnings.jrag at line 10
Aspect
SuppressWarnings
syn boolean suppressWarnings(java.lang.String type)
Source
Declared in Java7Frontend/SuppressWarnings.jrag at line 20
Aspect
SuppressWarnings
inh SimpleSet lookupVariable(java.lang.String name)
Overrides:lookupVariable in class Stmt
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 21
Aspect
VariableScope
Source
Declared in Java1.4Frontend/NameCheck.jrag at line 294
Aspect
NameCheck
Specified by:hostType in interface VariableOverrides:hostType in class Stmt
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 588
Aspect
NestedTypes
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 42
Aspect
CodeGeneration
inh int localNum()
Overrides:localNum in class Stmt
Source
Declared in Java1.4Backend/LocalNum.jrag at line 11
Aspect
LocalNum
inh boolean withinSuppressWarnings(java.lang.String s)
Source
Declared in Java7Frontend/SuppressWarnings.jrag at line 13
Aspect
SuppressWarnings
inh boolean resourcePreviouslyDeclared(java.lang.String name)
Source
Declared in Java7Frontend/TryWithResources.jrag at line 144
Aspect
TryWithResources

Methods

public void flushCache()
Overrides:flushCache in class Stmt
public void flushCollectionCache()
Overrides:flushCollectionCache in class Stmt
public VariableDeclaration clone()
                          throws java.lang.CloneNotSupportedException
Overrides:clone in class Stmt
Throws:
java.lang.CloneNotSupportedException
Overrides:copy in class ASTNode<ASTNode>
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
public SimpleSet add(java.lang.Object o)
Specified by:add in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 99
Aspect
DataStructures
public boolean isSingleton()
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 103
Aspect
DataStructures
public boolean isSingleton(java.lang.Object o)
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 104
Aspect
DataStructures
public java.util.Iterator iterator()
Specified by:iterator in interface SimpleSetSpecified by:iterator in interface java.lang.Iterable<ASTNode>Overrides:iterator in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 108
Aspect
DataStructures
public boolean hasNext()
Specified by:hasNext in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 109
Aspect
DataStructures
public java.lang.Object next()
Specified by:next in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 110
Aspect
DataStructures
public void remove()
Specified by:remove in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 111
Aspect
DataStructures
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 164
Aspect
PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 22
Aspect
TypeCheck
public void createBCode(CodeGeneration gen)
Overrides:createBCode in class Stmt
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 237
Aspect
CreateBCode
public void checkWarnings()
Description copied from class: ASTNodeChecking of the SafeVarargs annotation is only needed for method declarations.
Overrides:checkWarnings in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/UncheckedConversion.jrag at line 20
Aspect
UncheckedConversion
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Stmt
protected int numChildren()
Overrides:numChildren in class Stmt
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Stmt
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Specified by:getModifiers in interface Variable
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Returns:
The current node used as the Modifiers child.
public void setTypeAccess(Access node)
Replaces the TypeAccess child.
Parameters:
node - The new node to replace the TypeAccess child.
Retrieves the TypeAccess child.
Returns:
The current node used as the TypeAccess child.
Retrieves the TypeAccess child.

This method does not invoke AST transformations.

Returns:
The current node used as the TypeAccess child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Parameters:
value - The new value for the lexeme ID.
public void setID(beaver.Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Returns:
The value for the lexeme ID.
public void setInitOpt(Opt<Expr> opt)
Replaces the optional node for the Init child. This is the Opt node containing the child Init, not the actual child!
Parameters:
opt - The new node to be used as the optional node for the Init child.
public boolean hasInit()
Check whether the optional Init child exists.
Specified by:hasInit in interface Variable
Returns:
true if the optional Init child exists, false if it does not.
public Expr getInit()
Retrieves the (optional) Init child.
Specified by:getInit in interface Variable
Returns:
The Init child, if it exists. Returns null otherwise.
public void setInit(Expr node)
Replaces the (optional) Init child.
Parameters:
node - The new node to be used as the Init child.
public Opt<Expr> getInitOpt()
Retrieves the optional node for child Init. This is the Opt node containing the child Init, not the actual child!

This method does not invoke AST transformations.

Returns:
The optional node for child Init.
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 240
Aspect
MultiCatch
public boolean Define_boolean_isSource(ASTNode caller,
                                       ASTNode child)
Overrides:Define_boolean_isSource in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 40
public boolean Define_boolean_isDAbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDAbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 497
public boolean Define_boolean_isDUbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDUbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 880
public boolean Define_boolean_mayBeFinal(ASTNode caller,
                                         ASTNode child)
Overrides:Define_boolean_mayBeFinal in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 286
Overrides:Define_NameType_nameType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/SyntacticClassification.jrag at line 85
Overrides:Define_TypeDecl_declType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 261
Overrides:Define_TypeDecl_expectedType in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 68
public boolean Define_boolean_mayUseAnnotationTarget(ASTNode caller,
                                                     ASTNode child,
                                                     java.lang.String name)
Overrides:Define_boolean_mayUseAnnotationTarget in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/Annotations.jrag at line 92
Overrides:Define_TypeDecl_assignConvertedType in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/GenericMethodsInference.jrag at line 34
Overrides:rewriteTo in class Stmt

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean constant_computed
protected boolean sourceVariableDecl_computed
protected boolean throwTypes_computed
protected java.util.Collection<TypeDecl> throwTypes_value
protected boolean localNum_computed
protected int localNum_value

Inherited Members

Attributes inherited from AST.Stmt

Attributes inherited from AST.ASTNode

Methods inherited from class AST.Stmt

Methods inherited from class AST.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Methods inherited from interface AST.SimpleSet

Methods inherited from interface AST.Variable

Fields inherited from AST.Stmt

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value

Fields inherited from interface AST.SimpleSet