polyglot.ext.ibex.ast
Class SymbolNode_c

java.lang.Object
  extended bypolyglot.ext.jl.ast.Node_c
      extended bypolyglot.ext.ibex.ast.RhsElement_c
          extended bypolyglot.ext.ibex.ast.SymbolNode_c
All Implemented Interfaces:
java.lang.Cloneable, Copy, JL, Node, NodeOps, RhsElement, SymbolNode
Direct Known Subclasses:
SuperSymbolNode_c

public class SymbolNode_c
extends RhsElement_c
implements SymbolNode

Node representing a semantic action.


Field Summary
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, ext, position
 
Constructor Summary
SymbolNode_c(Position pos, java.lang.String name)
           
 
Method Summary
 Node buildTypes(TypeBuilder tb)
          Collects classes, methods, and fields from the AST rooted at this node and constructs type objects for these.
 Node disambiguate(AmbiguityRemover ar)
          Remove any remaining ambiguities from the AST.
 java.lang.String name()
           
 SymbolNode name(java.lang.String name)
           
 Node rewrite(Rewriter rw)
           
 Symbol symbolInstance()
           
 SymbolNode symbolInstance(Symbol sym)
           
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguateEnter, disambiguateOverride, dump, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, prettyPrint, print, printBlock, printSubStmt, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visit, visitChild, visitChildren, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypesEnter, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

SymbolNode_c

public SymbolNode_c(Position pos,
                    java.lang.String name)
Method Detail

name

public java.lang.String name()
Specified by:
name in interface SymbolNode

name

public SymbolNode name(java.lang.String name)
Specified by:
name in interface SymbolNode

symbolInstance

public Symbol symbolInstance()
Specified by:
symbolInstance in interface RhsElement

symbolInstance

public SymbolNode symbolInstance(Symbol sym)
Specified by:
symbolInstance in interface SymbolNode

buildTypes

public Node buildTypes(TypeBuilder tb)
                throws SemanticException
Description copied from interface: NodeOps
Collects classes, methods, and fields from the AST rooted at this node and constructs type objects for these. These type objects may be ambiguous. Inserts classes into the 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.

Specified by:
buildTypes in interface NodeOps
Overrides:
buildTypes in class Node_c
Throws:
SemanticException

disambiguate

public Node disambiguate(AmbiguityRemover ar)
                  throws SemanticException
Description copied from interface: NodeOps
Remove any remaining ambiguities from the AST. 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.

Specified by:
disambiguate in interface NodeOps
Overrides:
disambiguate in class Node_c
Throws:
SemanticException

rewrite

public Node rewrite(Rewriter rw)
Overrides:
rewrite in class RhsElement_c