public abstract class PassFactory
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
PassFactory.HotSwapPassFactory
A pass-factory that is good for
HotSwapCompilerPass passes. |
Modifier and Type | Field and Description |
---|---|
private boolean |
isOneTimePass |
private java.lang.String |
name |
Modifier | Constructor and Description |
---|---|
protected |
PassFactory(java.lang.String name,
boolean isOneTimePass) |
Modifier and Type | Method and Description |
---|---|
protected abstract CompilerPass |
create(AbstractCompiler compiler)
Creates a new compiler pass to be run.
|
static PassFactory |
createEmptyPass(java.lang.String name)
Create a no-op pass that can only run once.
|
protected HotSwapCompilerPass |
getHotSwapPass(AbstractCompiler compiler)
Any factory whose CompilerPass has a corresponding hot-swap version should
override this.
|
(package private) java.lang.String |
getName() |
(package private) boolean |
isOneTimePass() |
private final java.lang.String name
private final boolean isOneTimePass
protected PassFactory(java.lang.String name, boolean isOneTimePass)
name
- The name of the pass that this factory creates.isOneTimePass
- If true, the pass produced by this factory can
only be run once.java.lang.String getName()
boolean isOneTimePass()
protected abstract CompilerPass create(AbstractCompiler compiler)
protected HotSwapCompilerPass getHotSwapPass(AbstractCompiler compiler)
compiler
- The compiler that can has been used to do the full compile.public static PassFactory createEmptyPass(java.lang.String name)