org.extendj.ast
node type ClassReference

General Info

Production
ClassReference : ConstructorReference ::= TypeArgument:Access*;
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.ConstructorReference
                  extended by org.extendj.ast.ClassReference
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java8/grammar/ConstructorReference.ast at line 3

Member Filters

API level:

Aspect:

Constructors

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

Attributes

@ASTNodeAnnotation.Attribute
syn ConstructorDecl targetConstructor(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 31
Aspect
ConstructorReference
@ASTNodeAnnotation.Attribute
syn ClassInstanceExpr syntheticInstanceExpr(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 34
Aspect
ConstructorReference
@ASTNodeAnnotation.Attribute
syn boolean congruentTo(org.extendj.ast.FunctionDescriptor f)
Specified by:congruentTo in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 68
Aspect
ConstructorReference
@ASTNodeAnnotation.Attribute
syn java.util.ArrayList<ConstructorDecl> potentiallyApplicableConstructors(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 100
Aspect
ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 129
Aspect
ConstructorReference
Specified by:isExact in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 127
Aspect
ConstructorReference
Overrides:potentiallyCompatible in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 466
Aspect
MethodSignature18
Specified by:toBlock in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/backend/ConstructorReferenceToClass.jrag at line 85
Aspect
ConstructorReferenceToClass

Methods

public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 530
Aspect
Java8NameCheck
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 69
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 ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 21
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public void flushAttrCache()
Overrides:flushAttrCache in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushCollectionCache()
Overrides:flushCollectionCache in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 47
public void flushRewriteCache()
Overrides:flushRewriteCache in class ConstructorReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 53
public ClassReference clone()
                     throws java.lang.CloneNotSupportedException
Overrides:clone in class ConstructorReference
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 59
public ClassReference copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 66
@Deprecated
public ClassReference 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 ConstructorReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 85
public ClassReference 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 ConstructorReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 95
public ClassReference 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 ConstructorReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 115
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 122
public void setTypeAccess(Access node)
Replaces the TypeAccess child.
Overrides:setTypeAccess in class ConstructorReference
Parameters:
node - The new node to replace the TypeAccess child.
Retrieves the TypeAccess child.
Overrides:getTypeAccess in class ConstructorReference
Returns:
The current node used as the TypeAccess child.
Retrieves the TypeAccess child.

This method does not invoke AST transformations.

Overrides:getTypeAccessNoTransform in class ConstructorReference
Returns:
The current node used as the TypeAccess child.
public void setTypeArgumentList(List<Access> list)
Replaces the TypeArgument list.
Parameters:
list - The new list node to be used as the TypeArgument list.
public int getNumTypeArgument()
Retrieves the number of children in the TypeArgument list.
Returns:
Number of children in the TypeArgument list.
Retrieves the number of children in the TypeArgument list. Calling this method will not trigger rewrites.
Returns:
Number of children in the TypeArgument list.
public Access getTypeArgument(int i)
Retrieves the element at index i in the TypeArgument list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeArgument list.
public boolean hasTypeArgument()
Check whether the TypeArgument list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addTypeArgument(Access node)
Append an element to the TypeArgument list.
Parameters:
node - The element to append to the TypeArgument list.
public void setTypeArgument(Access node,
                            int i)
Replaces the TypeArgument 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 TypeArgument list.
Returns:
The node representing the TypeArgument list.
Retrieves the TypeArgument list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The node representing the TypeArgument list.
public org.extendj.ast.NameType Define_nameType(ASTNode caller,
                                                ASTNode child)
Overrides:Define_nameType in class ConstructorReference
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_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)
Overrides:rewriteTo in class ConstructorReference

Fields

Inherited Members

Attributes inherited from org.extendj.ast.ConstructorReference

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.ConstructorReference

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

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value