|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object polyglot.ext.jl.ast.Node_c polyglot.ext.jl.ast.Term_c
public abstract class Term_c
A Term
represents any Java expression or statement on which
dataflow can be performed.
Field Summary | |
---|---|
protected SubtypeSet |
exceptions
|
protected boolean |
reachable
|
Fields inherited from class polyglot.ext.jl.ast.Node_c |
---|
del, ext, position |
Constructor Summary | |
---|---|
Term_c(Position pos)
|
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. |
Node |
exceptionCheck(ExceptionChecker ec)
Check that exceptions are properly propagated throughout the AST. |
SubtypeSet |
exceptions()
List of Types with all exceptions possibly thrown by this term. |
Term |
exceptions(SubtypeSet exceptions)
|
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, 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, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheckEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren |
Methods inherited from interface polyglot.util.Copy |
---|
copy |
Field Detail |
---|
protected boolean reachable
protected SubtypeSet exceptions
Constructor Detail |
---|
public Term_c(Position pos)
Method Detail |
---|
public abstract Term entry()
entry
in interface Term
public abstract java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
acceptCFG
in interface Term
public boolean reachable()
reachable
in interface Term
ReachChecker
public Term reachable(boolean reachability)
reachable
in interface Term
public static Term listEntry(java.util.List l, Term alt)
public SubtypeSet exceptions()
Term
polyglot.ast.NodeOps.throwTypes()
is similar, but exceptions
are not propagated to the containing node.
exceptions
in interface Term
public Term exceptions(SubtypeSet exceptions)
exceptions
in interface Term
public Node exceptionCheck(ExceptionChecker ec) 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.
exceptionCheck
in interface NodeOps
exceptionCheck
in class Node_c
ec
- The visitor.
SemanticException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |