public class PreciseCallGraphVisitor
extends polyglot.visit.NodeVisitor
Modifier and Type | Field and Description |
---|---|
protected PreciseCallGraphAnalysisUtil |
autil |
protected java.util.Set<EdgeIdentifier> |
returnSites |
protected java.util.Set<EdgeIdentifier> |
throwSites |
protected java.util.Set<ThrowableType> |
throwTypes |
protected polyglot.types.TypeSystem |
ts |
Constructor and Description |
---|
PreciseCallGraphVisitor(PreciseCallGraphAnalysisUtil autil) |
PreciseCallGraphVisitor(polyglot.types.TypeSystem ts) |
Modifier and Type | Method and Description |
---|---|
polyglot.ast.Node |
leave(polyglot.ast.Node parent,
polyglot.ast.Node old,
polyglot.ast.Node n,
polyglot.visit.NodeVisitor v) |
polyglot.ast.Node |
override(polyglot.ast.Node n) |
PCGAbsVal |
performVisit(polyglot.ast.CodeNode n) |
protected void |
recordCatchSites(polyglot.ast.Term n,
java.util.Set<EdgeIdentifier> catchSites) |
protected void |
recordReturnSources(polyglot.ast.Term n,
java.util.Set<EdgeIdentifier> returnSites) |
java.util.Set<ThrowableType> |
throwTypes() |
protected final PreciseCallGraphAnalysisUtil autil
protected final polyglot.types.TypeSystem ts
protected final java.util.Set<ThrowableType> throwTypes
protected final java.util.Set<EdgeIdentifier> throwSites
protected final java.util.Set<EdgeIdentifier> returnSites
public PreciseCallGraphVisitor(PreciseCallGraphAnalysisUtil autil)
public PreciseCallGraphVisitor(polyglot.types.TypeSystem ts)
public PCGAbsVal performVisit(polyglot.ast.CodeNode n)
public polyglot.ast.Node override(polyglot.ast.Node n)
override
in class polyglot.visit.NodeVisitor
public polyglot.ast.Node leave(polyglot.ast.Node parent, polyglot.ast.Node old, polyglot.ast.Node n, polyglot.visit.NodeVisitor v)
leave
in class polyglot.visit.NodeVisitor
public java.util.Set<ThrowableType> throwTypes()
protected void recordReturnSources(polyglot.ast.Term n, java.util.Set<EdgeIdentifier> returnSites)
protected void recordCatchSites(polyglot.ast.Term n, java.util.Set<EdgeIdentifier> catchSites)