T
- Analysis result typepublic class InterProcAnalysisPass<T extends Ordered<T>>
extends polyglot.frontend.AbstractPass
Modifier and Type | Field and Description |
---|---|
protected polyglot.frontend.ExtensionInfo |
extInfo
Compiler extension info
|
protected AnalysisFactory<T> |
factory
Analysis utility class
|
protected Registrar |
registrar
Map from procedures to analysis results
|
Modifier | Constructor and Description |
---|---|
protected |
InterProcAnalysisPass(polyglot.frontend.ExtensionInfo extInfo,
polyglot.frontend.goals.Goal g,
Registrar registrar,
AnalysisFactory<T> factory)
Create a new interprocedural analysis pass
|
Modifier and Type | Method and Description |
---|---|
protected WorkQueue<T> |
createWorkQueue()
Create the analysis work queue of analysis units
|
polyglot.frontend.ExtensionInfo |
extensionInfo() |
protected void |
postSuccessfulProcess(WorkQueue<T> workQueue)
Post the results of a successful analysis pass
|
Registrar |
registrar() |
boolean |
run() |
protected final polyglot.frontend.ExtensionInfo extInfo
protected final Registrar registrar
protected final AnalysisFactory<T extends Ordered<T>> factory
protected InterProcAnalysisPass(polyglot.frontend.ExtensionInfo extInfo, polyglot.frontend.goals.Goal g, Registrar registrar, AnalysisFactory<T> factory)
extInfo
- Compiler extension infog
- Compiler goal used by Polyglot schedulerregistrar
- Map from procedures to analysis resultsfactory
- Analysis utility classpublic Registrar registrar()
public polyglot.frontend.ExtensionInfo extensionInfo()
public boolean run()
run
in interface polyglot.frontend.Pass
run
in class polyglot.frontend.AbstractPass
protected WorkQueue<T> createWorkQueue()