org.extendj.ast
node type ConstructorReference

General Info

Production
ConstructorReference : Expr ::= TypeAccess: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
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
ArrayReference, ClassReference

Description

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

Member Filters

API level:

Aspect:

Constructors

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

Attributes

@ASTNodeAnnotation.Attribute
syn boolean congruentTo(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 68
Aspect
ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 127
Aspect
ConstructorReference
Source
Declared in /home/jesper/git/extendj/java8/backend/ConstructorReferenceToClass.jrag at line 85
Aspect
ConstructorReferenceToClass
Overrides:compatibleStrictContext in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 32
Aspect
MethodSignature18
Overrides:compatibleLooseContext in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 79
Aspect
MethodSignature18
@ASTNodeAnnotation.Attribute
syn boolean pertinentToApplicability(Expr access,
                                                             BodyDecl decl,
                                                             int argIndex)
Overrides:pertinentToApplicability in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 107
Aspect
MethodSignature18
Computes which type is more specific for a specific argument, as defined in 15.12.2.5
Overrides:moreSpecificThan in class Expr
Parameters:
type1 -
type2 -
Returns:
true if type1 is more specific than type2, false otherwise
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 233
Aspect
MethodSignature18
Overrides:potentiallyCompatible in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 466
Aspect
MethodSignature18
Overrides:isPolyExpression in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/PolyExpressions.jrag at line 80
Aspect
PolyExpressions
Overrides:assignConversionTo in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/PolyExpressions.jrag at line 142
Aspect
PolyExpressions
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 162
Aspect
TargetType
Specified by:type in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeCheck.jrag at line 96
Aspect
TypeCheck
Source
Declared in /home/jesper/git/extendj/java8/backend/ConstructorReferenceToClass.jrag at line 48
Aspect
ConstructorReferenceToClass
Source
Declared in /home/jesper/git/extendj/java8/backend/ConstructorReferenceToClass.jrag at line 87
Aspect
ConstructorReferenceToClass
Source
Declared in /home/jesper/git/extendj/java8/frontend/ConstructorReference.jrag at line 29
Aspect
ConstructorReference

Methods

public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeCheck.jrag at line 354
Aspect
TypeCheck
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/backend/CreateBCode.jrag at line 41
Aspect
Java8CreateBCode
public void transformation()
Overrides:transformation in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/backend/Transformations.jrag at line 41
Aspect
Transformations
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 19
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 25
public void flushAttrCache()
Overrides:flushAttrCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 31
public void flushCollectionCache()
Overrides:flushCollectionCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public void flushRewriteCache()
Overrides:flushRewriteCache in class Expr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public ConstructorReference clone()
                           throws java.lang.CloneNotSupportedException
Overrides:clone in class Expr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 60
@Deprecated
public abstract ConstructorReference 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 71
public abstract ConstructorReference 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 79
public abstract ConstructorReference 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 87
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 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 Expr

Fields

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