public class PreciseExVisitor
extends polyglot.visit.NodeVisitor
Modifier and Type | Field and Description |
---|---|
protected PreciseExAnalysisUtil |
autil |
protected java.util.Set<ThrowableType> |
throwTypes |
protected boolean |
trackImplicitErrors |
protected polyglot.types.TypeSystem |
ts |
Modifier | Constructor and Description |
---|---|
|
PreciseExVisitor(PreciseExAnalysisUtil autil) |
protected |
PreciseExVisitor(PreciseExVisitor v) |
|
PreciseExVisitor(polyglot.types.TypeSystem ts) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canAllTerminateNormally(java.util.List<? extends polyglot.ast.Node> ns) |
protected boolean |
canTerminateNormally(polyglot.ast.Node n) |
polyglot.ast.Node |
leave(polyglot.ast.Node old,
polyglot.ast.Node n,
polyglot.visit.NodeVisitor v) |
polyglot.ast.Node |
override(polyglot.ast.Node n) |
PreciseExAbsVal |
performVisit(polyglot.ast.CodeNode n) |
protected void |
process(polyglot.ast.Call n) |
protected void |
process(polyglot.ast.ConstructorCall n) |
protected void |
process(polyglot.ast.New n) |
protected boolean |
process(polyglot.ast.Node n)
An extension point, so that subclasses can handle any custom nodes
easily.
|
protected void |
process(Suppress n) |
protected void |
process(polyglot.ast.Try n) |
boolean |
removeThrowableType(ThrowableType tt) |
java.util.Set<ThrowableType> |
throwTypes() |
protected final PreciseExAnalysisUtil autil
protected final polyglot.types.TypeSystem ts
protected boolean trackImplicitErrors
protected final java.util.Set<ThrowableType> throwTypes
public PreciseExVisitor(PreciseExAnalysisUtil autil)
public PreciseExVisitor(polyglot.types.TypeSystem ts)
protected PreciseExVisitor(PreciseExVisitor v)
public boolean removeThrowableType(ThrowableType tt)
public PreciseExAbsVal performVisit(polyglot.ast.CodeNode n) throws polyglot.types.SemanticException
polyglot.types.SemanticException
public polyglot.ast.Node override(polyglot.ast.Node n)
override
in class polyglot.visit.NodeVisitor
public polyglot.ast.Node leave(polyglot.ast.Node old, polyglot.ast.Node n, polyglot.visit.NodeVisitor v)
leave
in class polyglot.visit.NodeVisitor
protected boolean process(polyglot.ast.Node n)
n
- protected void process(polyglot.ast.Try n)
protected boolean canTerminateNormally(polyglot.ast.Node n)
protected boolean canAllTerminateNormally(java.util.List<? extends polyglot.ast.Node> ns)
protected void process(polyglot.ast.Call n)
protected void process(polyglot.ast.ConstructorCall n)
protected void process(polyglot.ast.New n)
protected void process(Suppress n)
public java.util.Set<ThrowableType> throwTypes()