public abstract class CompilerPass extends Object
Modifier and Type | Field and Description |
---|---|
static List<Class<? extends CompilerPass>> |
NO_DEPENDENCIES |
Constructor and Description |
---|
CompilerPass() |
Modifier and Type | Method and Description |
---|---|
static CompilerPass |
createPassInstance(Class<? extends CompilerPass> passClass) |
static CompilerPass |
createPassInstance(String passClassName) |
boolean |
equals(Object other) |
abstract Object |
execute(IRScope scope,
Object... dependencyData)
Meat of an individual pass.
|
List<Class<? extends CompilerPass>> |
getDependencies() |
abstract String |
getLabel()
What is the user-friendly name of this compiler pass
|
static List<CompilerPass> |
getPassesFromString(String passList,
String defaultPassList) |
int |
hashCode() |
boolean |
invalidate(IRScope scope)
The data that this pass is responsible for will get invalidated so that
if this pass is then executed it will generate new pass data.
|
Object |
previouslyRun(IRScope scope)
If this pass has been previous run, then return the data from that last run.
|
Object |
run(IRScope scope) |
Object |
run(IRScope scope,
boolean force) |
protected Object |
run(IRScope scope,
boolean force,
boolean childScope) |
public static List<Class<? extends CompilerPass>> NO_DEPENDENCIES
public abstract String getLabel()
public abstract Object execute(IRScope scope, Object... dependencyData)
scope
- is the scope to run this pass ondependencyData
- is the data supplied to this pass to use to execute the passpublic List<Class<? extends CompilerPass>> getDependencies()
public Object previouslyRun(IRScope scope)
public boolean invalidate(IRScope scope)
scope
- is where the pass stores its data.public static CompilerPass createPassInstance(Class<? extends CompilerPass> passClass)
public static CompilerPass createPassInstance(String passClassName)
public static List<CompilerPass> getPassesFromString(String passList, String defaultPassList)
Copyright © 2001-2015 JRuby. All Rights Reserved.