org.extendj.ast
node type ArrayCreationExpr

General Info

Production
ArrayCreationExpr : PrimaryExpr ::= TypeAccess:Access [ArrayInit];
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.PrimaryExpr
                  extended by org.extendj.ast.ArrayCreationExpr
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 130

Member Filters

API level:

Aspect:

Constructors

public ArrayCreationExpr()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public ArrayCreationExpr(Access p0,
                         Opt<ArrayInit> p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14

Attributes

@ASTNodeAnnotation.Attribute
syn boolean isDAafterCreation(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 474
Aspect
DA
@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 isDUafterCreation(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 975
Aspect
DU
@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
Specified by:type in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 103
Aspect
InnerClasses
@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

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 589
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 439
Aspect
GenericsTypeCheck
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 21
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public void flushAttrCache()
Overrides:flushAttrCache in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushCollectionCache()
Overrides:flushCollectionCache in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 41
public void flushRewriteCache()
Overrides:flushRewriteCache in class PrimaryExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 47
public ArrayCreationExpr clone()
                        throws java.lang.CloneNotSupportedException
Overrides:clone in class PrimaryExpr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 53
public ArrayCreationExpr copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 60
@Deprecated
public ArrayCreationExpr 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 PrimaryExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 79
public ArrayCreationExpr 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 PrimaryExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 89
public ArrayCreationExpr 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 PrimaryExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 109
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 116
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 setArrayInitOpt(Opt<ArrayInit> opt)
Replaces the optional node for the ArrayInit child. This is the Opt node containing the child ArrayInit, not the actual child!
Parameters:
opt - The new node to be used as the optional node for the ArrayInit child.
public void setArrayInit(ArrayInit node)
Replaces the (optional) ArrayInit child.
Parameters:
node - The new node to be used as the ArrayInit child.
public boolean hasArrayInit()
Check whether the optional ArrayInit child exists.
Returns:
true if the optional ArrayInit child exists, false if it does not.
Retrieves the (optional) ArrayInit child.
Returns:
The ArrayInit child, if it exists. Returns null otherwise.
Retrieves the optional node for the ArrayInit child. This is the Opt node containing the child ArrayInit, not the actual child!
Returns:
The optional node for child the ArrayInit child.
Retrieves the optional node for child ArrayInit. This is the Opt node containing the child ArrayInit, not the actual child!

This method does not invoke AST transformations.

Returns:
The optional node for child ArrayInit.
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 288
Aspect
AutoBoxingCodegen
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 255
protected boolean canDefine_isDAbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_isDUbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDUbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 779
protected boolean canDefine_isDUbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
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 TypeDecl Define_declType(ASTNode caller,
                                ASTNode child)
Overrides:Define_declType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 601
protected boolean canDefine_declType(ASTNode caller,
                                     ASTNode child)
Overrides:Define_expectedType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 93
protected boolean canDefine_expectedType(ASTNode caller,
                                         ASTNode child)
Overrides:rewriteTo in class PrimaryExpr

Fields

protected boolean type_computed
protected boolean numArrays_computed
protected int numArrays_value

Inherited Members

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

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

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value