public class AmbReceiver_c extends AmbPrefix_c implements AmbReceiver
AmbReceiver
is an ambiguous AST node composed of
dot-separated list of identifiers that must resolve to a receiver.Modifier and Type | Field and Description |
---|---|
protected Type |
type |
name, prefix
Constructor and Description |
---|
AmbReceiver_c(Position pos,
Prefix prefix,
Id name) |
AmbReceiver_c(Position pos,
Prefix prefix,
Id name,
Ext ext) |
Modifier and Type | Method and Description |
---|---|
Node |
buildTypes(TypeBuilder tb)
Collects classes, methods, and fields from the AST rooted at this node
and constructs type objects for these.
|
Node |
copy(NodeFactory nf)
Produce a copy of this node using the given NodeFactory.
|
Node |
disambiguate(AmbiguityRemover ar)
Disambiguate the receiver.
|
Type |
type()
Return the type of this node, or null if no type has been
assigned yet.
|
protected <N extends AmbReceiver_c> |
type(N n,
Type type) |
AmbReceiver |
type(Type type) |
Node |
typeCheck(TypeChecker tc)
Type check the AST.
|
exceptionCheck, id, id, name, name, nameNode, prefix, prefix, prefix, prettyPrint, reconstruct, toString, visitChildren
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copyIfNeeded, del, del, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, dump, enterChildScope, enterScope, error, error, error, exceptionCheckEnter, ext, ext, ext, ext, extRewrite, extRewriteEnter, isDisambiguated, isTypeChecked, lang, position, position, position, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, translate, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
name, nameNode, prefix
del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitEdge
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
protected Type type
public Type type()
Typed
public AmbReceiver type(Type type)
protected <N extends AmbReceiver_c> N type(N n, Type type)
public Node buildTypes(TypeBuilder tb) throws SemanticException
NodeOps
TypeSystem
.
This method is called by the leave()
method of the
visitor. The method should perform work that should be done
after visiting the children of the node. The method may return
this
or a new copy of the node which will be
installed as a child of the node's parent.buildTypes
in interface NodeOps
buildTypes
in class Node_c
tb
- The visitor which adds new type objects to the
TypeSystem
.SemanticException
public Node disambiguate(AmbiguityRemover ar) throws SemanticException
disambiguate
in interface NodeOps
disambiguate
in class AmbPrefix_c
ar
- The visitor which disambiguates.SemanticException
public Node typeCheck(TypeChecker tc) throws SemanticException
NodeOps
leave()
method of the
visitor. The method should perform work that should be done
after visiting the children of the node. The method may return
this
or a new copy of the node which will be
installed as a child of the node's parent.typeCheck
in interface NodeOps
typeCheck
in class AmbPrefix_c
tc
- The type checking visitor.SemanticException
public Node copy(NodeFactory nf)
NodeOps
copy
in interface NodeOps
copy
in class AmbPrefix_c