org.extendj.ast
node type ExprMethodReference

General Info

Production
ExprMethodReference : MethodReference ::= 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.MethodReference
                  extended by org.extendj.ast.ExprMethodReference
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

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

Member Filters

API level:

Aspect:

Constructors

public ExprMethodReference()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public ExprMethodReference(List<Access> p0,
                           java.lang.String p1,
                           Expr p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14
public ExprMethodReference(List<Access> p0,
                           beaver.Symbol p1,
                           Expr p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 19

Attributes

@ASTNodeAnnotation.Attribute
syn MethodDecl targetMethod(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 32
Aspect
MethodReference
@ASTNodeAnnotation.Attribute
syn Access syntheticAccess(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 36
Aspect
MethodReference
@ASTNodeAnnotation.Attribute
syn MethodAccess syntheticMethodAccess(org.extendj.ast.FunctionDescriptor f)
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 53
Aspect
MethodReference
@ASTNodeAnnotation.Attribute
syn boolean congruentTo(org.extendj.ast.FunctionDescriptor f)
Specified by:congruentTo in class MethodReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 212
Aspect
MethodReference
@ASTNodeAnnotation.Attribute
syn java.util.ArrayList<MethodDecl> potentiallyApplicableMethods(org.extendj.ast.FunctionDescriptor f)
Specified by:potentiallyApplicableMethods in class MethodReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 253
Aspect
MethodReference
Specified by:exactCompileTimeDeclaration in class MethodReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 308
Aspect
MethodReference
Overrides:potentiallyCompatible in class MethodReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodSignature.jrag at line 466
Aspect
MethodSignature18
Source
Declared in /home/jesper/git/extendj/java8/backend/MethodReferenceToClass.jrag at line 37
Aspect
MethodReferenceToClass
Source
Declared in /home/jesper/git/extendj/java8/backend/MethodReferenceToClass.jrag at line 93
Aspect
MethodReferenceToClass

Methods

public void nameCheck()
Overrides:nameCheck in class MethodReference
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 521
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 88
Aspect
Java8PrettyPrint
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 33
Aspect
Java8CreateBCode
public void transformation()
Overrides:transformation in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/backend/Transformations.jrag at line 33
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 MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushAttrCache()
Overrides:flushAttrCache in class MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 39
public void flushCollectionCache()
Overrides:flushCollectionCache in class MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public void flushRewriteCache()
Overrides:flushRewriteCache in class MethodReference
Source
Declared in /home/jesper/git/extendj/ASTNode at line 60
public ExprMethodReference clone()
                          throws java.lang.CloneNotSupportedException
Overrides:clone in class MethodReference
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 66
public ExprMethodReference copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 73
@Deprecated
public ExprMethodReference 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 MethodReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 92
public ExprMethodReference 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 MethodReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 102
public ExprMethodReference 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 MethodReference
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 122
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 129
public void setTypeArgumentList(List<Access> list)
Replaces the TypeArgument list.
Overrides:setTypeArgumentList in class MethodReference
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.
Overrides:getNumTypeArgument in class MethodReference
Returns:
Number of children in the TypeArgument list.
Retrieves the number of children in the TypeArgument list. Calling this method will not trigger rewrites.
Overrides:getNumTypeArgumentNoTransform in class MethodReference
Returns:
Number of children in the TypeArgument list.
public Access getTypeArgument(int i)
Retrieves the element at index i in the TypeArgument list.
Overrides:getTypeArgument in class MethodReference
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.
Overrides:hasTypeArgument in class MethodReference
Returns:
true if it has at least one child, false otherwise.
public void addTypeArgument(Access node)
Append an element to the TypeArgument list.
Overrides:addTypeArgument in class MethodReference
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.
Overrides:setTypeArgument in class MethodReference
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.
Overrides:getTypeArgumentList in class MethodReference
Returns:
The node representing the TypeArgument list.
Retrieves the TypeArgument list.

This method does not invoke AST transformations.

Overrides:getTypeArgumentListNoTransform in class MethodReference
Returns:
The node representing the TypeArgument list.
Retrieves the TypeArgument list.
Overrides:getTypeArguments in class MethodReference
Returns:
The node representing the TypeArgument list.
Retrieves the TypeArgument list.

This method does not invoke AST transformations.

Overrides:getTypeArgumentsNoTransform in class MethodReference
Returns:
The node representing the TypeArgument list.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class MethodReference
Parameters:
value - The new value for the lexeme ID.
public void setID(beaver.Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
Overrides:setID in class MethodReference
Parameters:
symbol - Symbol containing the new value for the lexeme ID
@ASTNodeAnnotation.Token(name="ID")
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Overrides:getID in class MethodReference
Returns:
The value for the lexeme ID.
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.
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: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)
Overrides:rewriteTo in class MethodReference

Fields

Inherited Members

Attributes inherited from org.extendj.ast.MethodReference

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.MethodReference

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

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value