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