polyglot.ext.coffer.ast
Class Free_c
java.lang.Object
polyglot.ast.Node_c
polyglot.ast.Term_c
polyglot.ast.Stmt_c
polyglot.ext.coffer.ast.Free_c
- All Implemented Interfaces:
- java.lang.Cloneable, JL, Node, NodeOps, Stmt, Term, Free, Copy
public class Free_c
- extends Stmt_c
- implements Free
This statement revokes the key associated with a tracked expression.
The expression cannot be evaluated after this statement executes.
Methods inherited from class polyglot.ast.Node_c |
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isDisambiguated, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, typeCheckEnter, typeCheckOverride, visit, visitChild, 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, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList |
Methods inherited from interface polyglot.ast.JL |
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
addDecls, buildTypes, buildTypesEnter, checkConstants, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride |
Methods inherited from interface polyglot.util.Copy |
copy |
expr
protected Expr expr
Free_c
public Free_c(Position pos,
Expr expr)
expr
public Expr expr()
- Specified by:
expr
in interface Free
expr
public Free expr(Expr expr)
- Specified by:
expr
in interface Free
reconstruct
public Free_c reconstruct(Expr expr)
visitChildren
public Node visitChildren(NodeVisitor v)
- Description copied from interface:
NodeOps
- Visit the children of the node.
- Specified by:
visitChildren
in interface NodeOps
- Overrides:
visitChildren
in class Node_c
- Parameters:
v
- The visitor that will traverse/rewrite the AST.
- Returns:
- A new AST if a change was made, or
this
.
typeCheck
public Node typeCheck(TypeChecker tc)
throws SemanticException
- Specified by:
typeCheck
in interface NodeOps
- Overrides:
typeCheck
in class Node_c
- Throws:
SemanticException
prettyPrint
public void prettyPrint(CodeWriter w,
PrettyPrinter tr)
- Description copied from class:
Node_c
- Pretty-print the AST using the given
CodeWriter
.
- Specified by:
prettyPrint
in interface NodeOps
- Overrides:
prettyPrint
in class Node_c
- Parameters:
w
- The code writer to which to write.tr
- The pretty printer. This is not a visitor.
translate
public void translate(CodeWriter w,
Translator tr)
- Description copied from class:
Node_c
- Translate the AST using the given
CodeWriter
.
- Specified by:
translate
in interface NodeOps
- Overrides:
translate
in class Node_c
- Parameters:
w
- The code writer to which to write.tr
- The translation pass. This is not a visitor.
toString
public java.lang.String toString()
- Overrides:
toString
in class Node_c
entry
public Term entry()
- Description copied from class:
Term_c
- Return the first (sub)term performed when evaluating this
term.
- Specified by:
entry
in interface Term
- Specified by:
entry
in class Term_c
acceptCFG
public java.util.List acceptCFG(CFGBuilder v,
java.util.List succs)
- Description copied from class:
Term_c
- Visit this term in evaluation order.
- Specified by:
acceptCFG
in interface Term
- Specified by:
acceptCFG
in class Term_c