org.extendj.ast
node type ArrayInit

General Info

Production
ArrayInit : Expr ::= Init: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.ArrayInit
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 90

Member Filters

API level:

Aspect:

Constructors

public ArrayInit()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public ArrayInit(List<Expr> p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14

Attributes

Overrides:representableIn in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 220
Aspect
ConstantExpression
@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 computeDABefore(int childIndex,
                                                    org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 562
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
@ASTNodeAnnotation.Attribute
syn boolean computeDUbefore(int childIndex,
                                                    org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 1007
Aspect
DU
Specified by:type in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
@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
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 281
Aspect
TypeAnalysis
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 93
Aspect
InnerClasses

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 610
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 169
Aspect
TypeCheck
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 42
public void flushRewriteCache()
Overrides:flushRewriteCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public ArrayInit clone()
                throws java.lang.CloneNotSupportedException
Overrides:clone in class Expr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public ArrayInit copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 61
@Deprecated
public ArrayInit 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 Expr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 80
public ArrayInit 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 Expr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 90
public ArrayInit 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 Expr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 110
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 117
public void setInitList(List<Expr> list)
Replaces the Init list.
Parameters:
list - The new list node to be used as the Init list.
public int getNumInit()
Retrieves the number of children in the Init list.
Returns:
Number of children in the Init list.
Retrieves the number of children in the Init list. Calling this method will not trigger rewrites.
Returns:
Number of children in the Init list.
public Expr getInit(int i)
Retrieves the element at index i in the Init list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Init list.
public boolean hasInit()
Check whether the Init list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addInit(Expr node)
Append an element to the Init list.
Parameters:
node - The element to append to the Init list.
public void addInitNoTransform(Expr node)
public void setInit(Expr node,
                    int i)
Replaces the Init list element at index i with the new node node.
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the Init list.
Returns:
The node representing the Init list.
Retrieves the Init list.

This method does not invoke AST transformations.

Returns:
The node representing the Init list.
public List<Expr> getInits()
Retrieves the Init list.
Returns:
The node representing the Init list.
Retrieves the Init list.

This method does not invoke AST transformations.

Returns:
The node representing the Init list.
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 317
Aspect
AutoBoxingCodegen
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 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 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:Define_assignConvertedType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethodsInference.jrag at line 58
protected boolean canDefine_assignConvertedType(ASTNode caller,
                                                ASTNode child)
public TypeDecl Define_targetType(ASTNode caller,
                                  ASTNode child)
Overrides:Define_targetType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 30
protected boolean canDefine_targetType(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 Expr

Fields

protected java.util.Map computeDABefore_int_Variable_values
protected java.util.Map computeDUbefore_int_Variable_values
protected boolean type_computed
protected boolean declType_computed

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