org.extendj.ast
node type ArrayAccess

General Info

Production
ArrayAccess : Access ::= Expr;
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.ArrayAccess
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

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

Member Filters

API level:

Aspect:

Constructors

public ArrayAccess()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public ArrayAccess(Expr p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@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 259
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 783
Aspect
DU
Overrides:isArrayAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 63
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
@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
Overrides:unknownType in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 307
Aspect
TypeAnalysis

Methods

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 432
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 159
Aspect
TypeCheck
public void emitStore(org.extendj.ast.CodeGeneration gen)
Overrides:emitStore in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 377
Aspect
CodeGeneration
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 459
Aspect
CreateBCode
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 19
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 25
public void flushAttrCache()
Overrides:flushAttrCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 31
public void flushCollectionCache()
Overrides:flushCollectionCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 38
public void flushRewriteCache()
Overrides:flushRewriteCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 44
public ArrayAccess clone()
                  throws java.lang.CloneNotSupportedException
Overrides:clone in class Access
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public ArrayAccess copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 57
@Deprecated
public ArrayAccess 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 76
public ArrayAccess 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 86
public ArrayAccess 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 106
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 113
public void setExpr(Expr node)
Replaces the Expr child.
Parameters:
node - The new node to replace the Expr child.
Retrieves the Expr child.
Returns:
The current node used as the Expr child.
Retrieves the Expr child.

This method does not invoke AST transformations.

Returns:
The current node used as the Expr child.
public void createAssignSimpleLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignSimpleLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java5/backend/AutoBoxingCodegen.jrag at line 449
Aspect
AutoBoxingCodegen
public void createAssignLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java5/backend/AutoBoxingCodegen.jrag at line 455
Aspect
AutoBoxingCodegen
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/backend/AutoBoxingCodegen.jrag at line 442
Aspect
AutoBoxingCodegen
public boolean Define_isDest(ASTNode caller,
                             ASTNode child)
Overrides:Define_isDest in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 37
protected boolean canDefine_isDest(ASTNode caller,
                                   ASTNode child)
public boolean Define_isSource(ASTNode caller,
                               ASTNode child)
Overrides:Define_isSource in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 47
protected boolean canDefine_isSource(ASTNode caller,
                                     ASTNode child)
public java.util.Collection Define_lookupMethod(ASTNode caller,
                                                ASTNode child,
                                                java.lang.String name)
Overrides:Define_lookupMethod in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 46
protected boolean canDefine_lookupMethod(ASTNode caller,
                                         ASTNode child,
                                         java.lang.String name)
public boolean Define_hasPackage(ASTNode caller,
                                 ASTNode child,
                                 java.lang.String packageName)
Overrides:Define_hasPackage in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 115
protected boolean canDefine_hasPackage(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String packageName)
public org.extendj.ast.SimpleSet Define_lookupType(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
Overrides:Define_lookupType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 197
protected boolean canDefine_lookupType(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String name)
public org.extendj.ast.SimpleSet Define_lookupVariable(ASTNode caller,
                                                       ASTNode child,
                                                       java.lang.String name)
Overrides:Define_lookupVariable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/LookupVariable.jrag at line 30
protected boolean canDefine_lookupVariable(ASTNode caller,
                                           ASTNode child,
                                           java.lang.String name)
public org.extendj.ast.NameType Define_nameType(ASTNode caller,
                                                ASTNode child)
Overrides:Define_nameType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 36
protected boolean canDefine_nameType(ASTNode caller,
                                     ASTNode child)
public boolean Define_assignmentContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_assignmentContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 196
protected boolean canDefine_assignmentContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_invocationContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_invocationContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 197
protected boolean canDefine_invocationContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_castContext(ASTNode caller,
                                  ASTNode child)
Overrides:Define_castContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 198
protected boolean canDefine_castContext(ASTNode caller,
                                        ASTNode child)
public boolean Define_stringContext(ASTNode caller,
                                    ASTNode child)
Overrides:Define_stringContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 199
protected boolean canDefine_stringContext(ASTNode caller,
                                          ASTNode child)
public boolean Define_numericContext(ASTNode caller,
                                     ASTNode child)
Overrides:Define_numericContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 200
protected boolean canDefine_numericContext(ASTNode caller,
                                           ASTNode child)
Overrides:rewriteTo in class Access

Fields

protected boolean type_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