org.extendj.ast
node type VarAccess

General Info

Production
VarAccess : Access ::= <ID:String>;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Expr
              extended by org.extendj.ast.Access
                  extended by org.extendj.ast.VarAccess
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
BoundFieldAccess

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 18

Member Filters

API level:

Aspect:

Constructors

public VarAccess(java.lang.String name,
                 int start,
                 int end)
 
Source
Declared in /home/jesper/git/extendj/java4/frontend/NodeConstructors.jrag at line 49
Aspect
NodeConstructors
public VarAccess()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public VarAccess(java.lang.String p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 12
public VarAccess(beaver.Symbol p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 15

Attributes

@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Constant constant()
Overrides:constant in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 32
Aspect
ConstantExpression
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Variable varDecl()
Overrides:varDecl in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 81
Aspect
DefiniteAssignment
@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Overrides:isDAafter in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 392
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Overrides:isDUafter in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 937
Aspect
DU
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet decls()
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 336
Aspect
VariableScopePropagation
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Variable decl()
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 352
Aspect
VariableScopePropagation
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 286
Aspect
NameCheck
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 303
Aspect
NameCheck
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 305
Aspect
NameCheck
@ASTNodeAnnotation.Attribute
syn java.lang.String name()
Source
Declared in /home/jesper/git/extendj/java4/frontend/QualifiedNames.jrag at line 36
Aspect
Names
Overrides:isFieldAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 45
Aspect
AccessTypes
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.NameType predNameType()
Defines the expected kind of name for the left hand side in a qualified expression.
Overrides:predNameType in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 58
Aspect
SyntacticClassification
Overrides:type in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
Overrides:isVariable in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 36
Aspect
TypeCheck
Overrides:isVarAccessWithAccessor in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 263
Aspect
CreateBCode
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 430
Aspect
InnerClasses
Overrides:isEnumConstant in class Expr
Source
Declared in /home/jesper/git/extendj/java5/frontend/Enums.jrag at line 576
Aspect
Enums
@ASTNodeAnnotation.Attribute
syn java.util.Collection<TypeDecl> throwTypes()
Overrides:throwTypes in class Expr
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 33
Aspect
PreciseRethrow
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Overrides:modifiedInScope in class Expr
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 149
Aspect
PreciseRethrow
@ASTNodeAnnotation.Attribute
syn boolean isVariable(org.extendj.ast.Variable var)
Overrides:isVariable in class Expr
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 200
Aspect
PreciseRethrow
Overrides:inExplicitConstructorInvocation in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeHierarchyCheck.jrag at line 160
Aspect
TypeHierarchyCheck
Source
Declared in /home/jesper/git/extendj/java8/frontend/EnclosingLambda.jrag at line 32
Aspect
EnclosingLambda

Methods

public void definiteAssignment()
Overrides:definiteAssignment in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 117
Aspect
DefiniteAssignment
protected boolean checkDUeverywhere(org.extendj.ast.Variable v)
Overrides:checkDUeverywhere in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 504
Aspect
DA
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 275
Aspect
NameCheck
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrint.jadd at line 492
Aspect
Java4PrettyPrint
public void refined_CodeGeneration_VarAccess_emitStore(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 356
Aspect
CodeGeneration
public void createAssignSimpleLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignSimpleLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 433
Aspect
CreateBCode
public void createPushAssignmentResult(org.extendj.ast.CodeGeneration gen)
Description copied from class: Exprduplicate top value on stack and store below destination element
Overrides:createPushAssignmentResult in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 449
Aspect
CreateBCode
public void refined_CreateBCode_VarAccess_createAssignLoadDest(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 469
Aspect
CreateBCode
public void refined_CreateBCode_VarAccess_createBCode(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 518
Aspect
CreateBCode
protected void createLoadQualifier(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 576
Aspect
CreateBCode
public void collectEnclosingVariables(java.util.HashSet set,
                                      TypeDecl typeDecl)
Overrides:collectEnclosingVariables in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 197
Aspect
InnerClasses
public void transformation()
Overrides:transformation in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/Transformations.jrag at line 95
Aspect
Transformations
public void checkModifiers()
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 420
Aspect
Annotations
protected void checkEnum(EnumDecl enumDecl)
Overrides:checkEnum in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Enums.jrag at line 515
Aspect
Enums
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 21
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public void flushAttrCache()
Overrides:flushAttrCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushCollectionCache()
Overrides:flushCollectionCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public void flushRewriteCache()
Overrides:flushRewriteCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
public VarAccess clone()
                throws java.lang.CloneNotSupportedException
Overrides:clone in class Access
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
public VarAccess copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 65
@Deprecated
public VarAccess fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Specified by:fullCopy in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 84
public VarAccess treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 94
public VarAccess treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Specified by:treeCopy in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 114
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 121
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.
Parameters:
symbol - Symbol containing the new value for the lexeme ID
@ASTNodeAnnotation.Token(name="ID")
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Returns:
The value for the lexeme ID.
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 181
Aspect
Java8NameCheck
public void emitStore(org.extendj.ast.CodeGeneration gen)
Overrides:emitStore in class Expr
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 74
Aspect
GenericsCodegen
public void refined_GenericsCodegen_VarAccess_createAssignLoadDest(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 88
Aspect
GenericsCodegen
public void refined_GenericsCodegen_VarAccess_createBCode(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 107
Aspect
GenericsCodegen
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 194
Aspect
GenericsCodegen
public void createAssignLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 70
Aspect
MultiCatch
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 84
Aspect
MultiCatch
Source
Declared in /home/jesper/git/extendj/java5/backend/StaticImportsCodegen.jrag at line 32
Aspect
StaticImportsCodegen
Overrides:rewriteTo in class Access

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected int isConstant_visited
protected boolean isConstant_computed
protected boolean isConstant_initialized
protected boolean isConstant_value
protected java.util.Map isDAafter_Variable_values
protected boolean decls_computed
protected org.extendj.ast.SimpleSet decls_value
protected boolean decl_computed
protected org.extendj.ast.Variable decl_value
protected boolean isFieldAccess_computed
protected boolean isFieldAccess_value
protected boolean type_computed
protected boolean enclosingLambda_computed

Inherited Members

Attributes inherited from org.extendj.ast.Access

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Access

Methods inherited from class org.extendj.ast.Expr

Methods inherited from class org.extendj.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

Fields inherited from org.extendj.ast.Access

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value