AST
node type FieldDeclaration

General Info

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

Nested classes/interfaces inherited from interface AST.SimpleSet

Description

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

Member Filters

API level:

Aspect:

Constructors

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

Attributes

syn boolean isConstant()
Overrides:isConstant in class MemberDecl
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 332
Aspect
ConstantExpression
syn boolean accessibleFrom(TypeDecl type)
Source
Declared in Java1.4Frontend/AccessControl.jrag at line 109
Aspect
AccessControl
syn java.util.Collection exceptions()
Source
Declared in Java1.4Frontend/AnonymousClasses.jrag at line 178
Aspect
AnonymousClasses
syn int size()
Specified by:size in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 79
Aspect
DataStructures
syn boolean isEmpty()
Specified by:isEmpty in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 80
Aspect
DataStructures
syn boolean contains(java.lang.Object o)
Specified by:contains in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 84
Aspect
DataStructures
syn boolean isDAafter(Variable v)
Overrides:isDAafter in class BodyDecl
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 314
Aspect
DA
syn boolean isDUafter(Variable v)
Overrides:isDUafter in class BodyDecl
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 771
Aspect
DU
syn boolean isSynthetic()
Specified by:isSynthetic in interface VariableOverrides:isSynthetic in class MemberDecl
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 214
Aspect
Modifiers
syn boolean isPublic()
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 239
Aspect
Modifiers
syn boolean isPrivate()
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 240
Aspect
Modifiers
syn boolean isProtected()
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 241
Aspect
Modifiers
syn boolean isStatic()
Specified by:isStatic in interface VariableSpecified by:isStatic in class MemberDecl
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 242
Aspect
Modifiers
syn boolean isFinal()
Specified by:isFinal in interface Variable
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 244
Aspect
Modifiers
syn boolean isTransient()
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 245
Aspect
Modifiers
syn boolean isVolatile()
Specified by:isVolatile in interface Variable
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 246
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 251
Aspect
TypeAnalysis
syn boolean isVoid()
Overrides:isVoid in class BodyDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 271
Aspect
TypeAnalysis
syn boolean isParameter()
Specified by:isParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 32
Aspect
Variables
syn boolean isClassVariable()
Specified by:isClassVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 34
Aspect
Variables
syn boolean isInstanceVariable()
Specified by:isInstanceVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 35
Aspect
Variables
syn boolean isMethodParameter()
Specified by:isMethodParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 36
Aspect
Variables
syn boolean isConstructorParameter()
Specified by:isConstructorParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 37
Aspect
Variables
Specified by:isExceptionHandlerParameter in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 38
Aspect
Variables
syn boolean isLocalVariable()
Specified by:isLocalVariable in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 39
Aspect
Variables
syn boolean isBlank()
Specified by:isBlank in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 41
Aspect
Variables
syn java.lang.String name()
Specified by:name in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 43
Aspect
Variables
Specified by:constant in interface Variable
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 44
Aspect
Variables
syn java.util.Collection attributes()
Overrides:attributes in class BodyDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 324
Aspect
GenericsCodegen
syn int flags()
Source
Declared in Java1.4Backend/Flags.jrag at line 76
Aspect
Flags
syn boolean isBytecodeField()
Overrides:isBytecodeField in class BodyDecl
Source
Declared in Java1.4Backend/GenerateClassfile.jrag at line 293
Aspect
GenerateClassfile
syn boolean flush()
Overrides:flush in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/GenerateClassfile.jrag at line 325
Aspect
GenerateClassfile
syn boolean hasAnnotationSuppressWarnings(java.lang.String s)
Overrides:hasAnnotationSuppressWarnings in class BodyDecl
Source
Declared in Java1.5Frontend/Annotations.jrag at line 283
Aspect
Annotations
syn boolean isDeprecated()
Overrides:isDeprecated in class BodyDecl
Source
Declared in Java1.5Frontend/Annotations.jrag at line 325
Aspect
Annotations
syn boolean usesTypeVariable()
Overrides:usesTypeVariable in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/Generics.jrag at line 1065
Aspect
LookupParTypeDecl
Specified by:sourceVariableDecl in interface Variable
Source
Declared in Java1.5Frontend/Generics.jrag at line 1521
Aspect
SourceDeclarations
syn boolean visibleTypeParameters()
Overrides:visibleTypeParameters in class BodyDecl
Source
Declared in Java1.5Frontend/GenericsParTypeDecl.jrag at line 67
Aspect
GenericsParTypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 53
Aspect
GenericsCodegen
Overrides:needsSignatureAttribute in class BodyDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 362
Aspect
GenericsCodegen
syn java.util.Collection<TypeDecl> throwTypes()
Specified by:throwTypes in interface Variable
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 22
Aspect
PreciseRethrow
Overrides:hasAnnotationSafeVarargs in class BodyDecl
Returns:
true if the modifier list includes the SafeVarargs annotation
Source
Declared in Java7Frontend/SafeVarargs.jrag at line 20
Aspect
SafeVarargs
syn boolean suppressWarnings(java.lang.String type)
Source
Declared in Java7Frontend/SuppressWarnings.jrag at line 22
Aspect
SuppressWarnings
inh boolean handlesException(TypeDecl exceptionType)
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 48
Aspect
ExceptionHandling
inh boolean withinSuppressWarnings(java.lang.String s)
Source
Declared in Java7Frontend/SuppressWarnings.jrag at line 14
Aspect
SuppressWarnings

Methods

public void flushCache()
Overrides:flushCache in class MemberDecl
public void flushCollectionCache()
Overrides:flushCollectionCache in class MemberDecl
public FieldDeclaration clone()
                       throws java.lang.CloneNotSupportedException
Overrides:clone in class MemberDecl
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
Source
Declared in Java1.4Frontend/BoundNames.jrag at line 11
Aspect
BoundNames
Source
Declared in Java1.4Frontend/BoundNames.jrag at line 86
Aspect
BoundNames
public SimpleSet add(java.lang.Object o)
Specified by:add in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 81
Aspect
DataStructures
public boolean isSingleton()
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 85
Aspect
DataStructures
public boolean isSingleton(java.lang.Object o)
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 86
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 90
Aspect
DataStructures
public boolean hasNext()
Specified by:hasNext in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 91
Aspect
DataStructures
public java.lang.Object next()
Specified by:next in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 92
Aspect
DataStructures
public void remove()
Specified by:remove in interface java.util.Iterator
Source
Declared in Java1.4Frontend/DataStructures.jrag at line 93
Aspect
DataStructures
public void definiteAssignment()
Overrides:definiteAssignment in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 177
Aspect
DefiniteAssignment
public void checkModifiers()
Overrides:checkModifiers in class MemberDecl
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 114
Aspect
Modifiers
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/NameCheck.jrag at line 282
Aspect
NameCheck
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 152
Aspect
PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 33
Aspect
TypeCheck
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 92
Aspect
VariableDeclarationTransformation
public void setFieldDecl(FieldDecl fieldDecl)
Source
Declared in Java1.4Frontend/VariableDeclaration.jrag at line 95
Aspect
VariableDeclarationTransformation
public void emitLoadField(CodeGeneration gen,
                          TypeDecl typeDecl)
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 678
Aspect
CodeGeneration
public void emitStoreField(CodeGeneration gen,
                           TypeDecl typeDecl)
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 736
Aspect
CodeGeneration
public boolean clear()
Overrides:clear in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/GenerateClassfile.jrag at line 372
Aspect
GenerateClassfile
public MethodDecl createAccessor(TypeDecl fieldQualifier)
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 290
Aspect
InnerClasses
public MethodDecl createAccessorWrite(TypeDecl fieldQualifier)
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 323
Aspect
InnerClasses
Overrides:substitutedBodyDecl in class BodyDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 1295
Aspect
LookupParTypeDecl
public void checkWarnings()
Description copied from class: BodyDeclWe must report illegal uses of the SafeVarargs annotation. It is only allowed on variable arity method and constructor declarations.
Overrides:checkWarnings in class BodyDecl
Source
Declared in Java7Frontend/UncheckedConversion.jrag at line 25
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 MemberDecl
protected int numChildren()
Overrides:numChildren in class MemberDecl
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class MemberDecl
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 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 39
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 320
public boolean Define_boolean_handlesException(ASTNode caller,
                                               ASTNode child,
                                               TypeDecl exceptionType)
Overrides:Define_boolean_handlesException in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 166
public boolean Define_boolean_mayBePublic(ASTNode caller,
                                          ASTNode child)
Overrides:Define_boolean_mayBePublic in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 262
public boolean Define_boolean_mayBeProtected(ASTNode caller,
                                             ASTNode child)
Overrides:Define_boolean_mayBeProtected in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 263
public boolean Define_boolean_mayBePrivate(ASTNode caller,
                                           ASTNode child)
Overrides:Define_boolean_mayBePrivate in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 264
public boolean Define_boolean_mayBeStatic(ASTNode caller,
                                          ASTNode child)
Overrides:Define_boolean_mayBeStatic in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 265
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 266
public boolean Define_boolean_mayBeTransient(ASTNode caller,
                                             ASTNode child)
Overrides:Define_boolean_mayBeTransient in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 267
public boolean Define_boolean_mayBeVolatile(ASTNode caller,
                                            ASTNode child)
Overrides:Define_boolean_mayBeVolatile in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/Modifiers.jrag at line 268
Overrides:Define_NameType_nameType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/SyntacticClassification.jrag at line 78
Overrides:Define_TypeDecl_declType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 260
public boolean Define_boolean_inStaticContext(ASTNode caller,
                                              ASTNode child)
Overrides:Define_boolean_inStaticContext in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 141
Overrides:Define_TypeDecl_expectedType in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 67
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 80
Overrides:Define_TypeDecl_assignConvertedType in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/GenericMethodsInference.jrag at line 35
Overrides:rewriteTo in class MemberDecl

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected java.util.Map accessibleFrom_TypeDecl_values
protected boolean exceptions_computed
protected java.util.Collection exceptions_value
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean constant_computed
protected boolean attributes_computed
protected java.util.Collection attributes_value
protected boolean flags_computed
protected int flags_value
protected boolean usesTypeVariable_computed
protected boolean usesTypeVariable_value
protected boolean sourceVariableDecl_computed
protected boolean throwTypes_computed
protected java.util.Collection<TypeDecl> throwTypes_value

Inherited Members

Attributes inherited from AST.BodyDecl

Attributes inherited from AST.ASTNode

Methods inherited from class AST.BodyDecl

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.BodyDecl

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value

Fields inherited from interface AST.SimpleSet