public abstract class CompilerPass
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected 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) |
boolean |
equals(java.lang.Object other) |
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) |
java.lang.String |
getShortLabel()
Shorter label
|
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.
|
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) |
java.lang.Object |
run(IRScope scope,
boolean force) |
protected java.lang.Object |
run(IRScope scope,
boolean force,
boolean childScope) |
protected static final java.util.List<java.lang.Class<? extends CompilerPass>> NO_DEPENDENCIES
public abstract java.lang.String getLabel()
public java.lang.String getShortLabel()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
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 java.util.List<java.lang.Class<? extends CompilerPass>> getDependencies()
public java.lang.Object previouslyRun(IRScope scope)
public boolean invalidate(IRScope scope)
scope
- is where the pass stores its data.protected java.lang.Object run(IRScope scope, boolean force, boolean childScope)
public java.lang.Object run(IRScope scope, boolean force)
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 © 2001-2018 JRuby. All Rights Reserved.