org.extendj.ast
node type IntersectionCastExpr

General Info

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

Description

Source
Declared in /home/jesper/git/extendj/java8/grammar/IntersectionCasts.ast at line 1

Member Filters

API level:

Aspect:

Constructors

public IntersectionCastExpr()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public IntersectionCastExpr(Access p0,
                            List<Access> p1,
                            Expr p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14

Attributes

Specified by:type in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeCheck.jrag at line 35
Aspect
TypeCheck

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/java8/frontend/PrettyPrint.jadd at line 118
Aspect
Java8PrettyPrint
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 22
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 28
public void flushAttrCache()
Overrides:flushAttrCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 34
public void flushCollectionCache()
Overrides:flushCollectionCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 41
public void flushRewriteCache()
Overrides:flushRewriteCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 47
public IntersectionCastExpr clone()
                           throws java.lang.CloneNotSupportedException
Overrides:clone in class Expr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 53
public IntersectionCastExpr copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 60
@Deprecated
public IntersectionCastExpr 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 79
public IntersectionCastExpr 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 89
public IntersectionCastExpr 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 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 setTypeListList(List<Access> list)
Replaces the TypeList list.
Parameters:
list - The new list node to be used as the TypeList list.
public int getNumTypeList()
Retrieves the number of children in the TypeList list.
Returns:
Number of children in the TypeList list.
Retrieves the number of children in the TypeList list. Calling this method will not trigger rewrites.
Returns:
Number of children in the TypeList list.
public Access getTypeList(int i)
Retrieves the element at index i in the TypeList list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeList list.
public boolean hasTypeList()
Check whether the TypeList list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addTypeList(Access node)
Append an element to the TypeList list.
Parameters:
node - The element to append to the TypeList list.
public void addTypeListNoTransform(Access node)
public void setTypeList(Access node,
                        int i)
Replaces the TypeList 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 TypeList list.
Returns:
The node representing the TypeList list.
Retrieves the TypeList list.

This method does not invoke AST transformations.

Returns:
The node representing the TypeList list.
Retrieves the TypeList list.
Returns:
The node representing the TypeList list.
Retrieves the TypeList list.

This method does not invoke AST transformations.

Returns:
The node representing the TypeList list.
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.
Overrides:rewriteTo in class Expr

Fields

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