polyglot.ext.jl.ast
Class Term_c
java.lang.Object
polyglot.ext.jl.ast.Node_c
polyglot.ext.jl.ast.Term_c
- All Implemented Interfaces:
- java.lang.Cloneable, Copy, JL, Node, NodeOps, Term
- Direct Known Subclasses:
- ClassBody_c, ClassDecl_c, ConstructorDecl_c, Expr_c, FieldDecl_c, Initializer_c, MethodDecl_c, Stmt_c
- public abstract class Term_c
- extends Node_c
- implements Term
A Term
represents any Java expression or statement on which
dataflow can be performed.
Method Summary |
abstract java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this term in evaluation order. |
abstract Term |
entry()
Return the first (sub)term performed when evaluating this
term. |
static Term |
listEntry(java.util.List l,
Term alt)
Utility function to get the first entry of a list, or else alt. |
boolean |
reachable()
Return true if this term is eachable. |
Term |
reachable(boolean reachability)
Set the reachability of this term. |
Methods inherited from class polyglot.ext.jl.ast.Node_c |
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypes, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguate, 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 |
Methods inherited from interface polyglot.ast.JL |
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren |
Methods inherited from interface polyglot.util.Copy |
copy |
reachable
protected boolean reachable
Term_c
public Term_c(Position pos)
entry
public abstract Term entry()
- Return the first (sub)term performed when evaluating this
term.
- Specified by:
entry
in interface Term
acceptCFG
public abstract java.util.List acceptCFG(CFGBuilder v,
java.util.List succs)
- Visit this term in evaluation order.
- Specified by:
acceptCFG
in interface Term
reachable
public boolean reachable()
- Return true if this term is eachable. This attribute is not
guaranteed correct until after the reachability pass
- Specified by:
reachable
in interface Term
- See Also:
ReachChecker
reachable
public Term reachable(boolean reachability)
- Set the reachability of this term.
- Specified by:
reachable
in interface Term
listEntry
public static Term listEntry(java.util.List l,
Term alt)
- Utility function to get the first entry of a list, or else alt.