|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.erights.e.elang.visitors.KernelECopyVisitor | +--org.erights.e.elang.visitors.BindFramesVisitor
Untamed:
Field Summary | |
(package private) ScopeMap |
myBindings
|
(package private) int[] |
myMaxLocalsCell
|
Fields inherited from class org.erights.e.elang.visitors.KernelECopyVisitor |
|
Constructor Summary | |
(package private) |
BindFramesVisitor(ScopeMap bindings,
int[] localsCell)
|
Method Summary | |
static BindFramesVisitor |
make(Scope scope)
Enabled: |
int |
maxLocals()
Enabled: |
private BindFramesVisitor |
nestLocals()
|
private KernelECopyVisitor |
nestObject(ScopeMap newBindings)
Return a BindFramesVisitor for inside a method: it will start assigning locals from 0 again, and access locals bound outside itself from frame fields instead. |
(package private) abstract NounExpr |
newFinal(String varName)
|
(package private) abstract NounExpr |
newVar(String varName)
|
ScopeMap |
scopeMap()
Enabled: |
Object |
visitEMethod(ENode optOriginal,
String docComment,
String verb,
Pattern[] patterns,
EExpr returnGuard,
EExpr body)
Enabled: |
Object |
visitEscapeExpr(ENode optOriginal,
Pattern hatch,
EExpr body)
Enabled: If the escape is a def and is never used, eliminate the escape. |
Object |
visitFinalPattern(ENode optOriginal,
String varName,
EExpr valueGuardExpr)
Enabled: |
Object |
visitHideExpr(ENode optOriginal,
EExpr body)
Enabled: Eliminate the HideExpr, while preserving its scope boundary. |
Object |
visitIfExpr(ENode optOriginal,
EExpr test,
EExpr then,
EExpr els)
Enabled: |
Object |
visitMatchBindExpr(ENode optOriginal,
EExpr specimen,
Pattern patt)
Enabled: |
Object |
visitMatcher(ENode optOriginal,
Pattern patt,
EExpr body)
Enabled: |
Object |
visitNounExpr(ENode optOriginal,
String varName)
Enabled: |
Object |
visitObjectExpr(ENode optOriginal,
String docComment,
String optFQN,
EExpr[] auditors,
EScript eScript)
Enabled: |
Object |
visitVarPattern(ENode optOriginal,
String varName,
EExpr slotGuardExpr)
Enabled: |
ENode |
xformNode(ENode eNode)
Enabled: |
Methods inherited from class org.erights.e.elang.visitors.KernelECopyVisitor |
nest, optSpan, run, visitAssignExpr, visitCallExpr, visitCatchExpr, visitCdrPattern, visitDefineExpr, visitEScript, visitFinallyExpr, visitIgnorePattern, visitListPattern, visitLiteralExpr, visitQuasiLiteralExpr, visitQuasiLiteralPatt, visitQuasiPatternExpr, visitQuasiPatternPatt, visitScopeExpr, visitSendExpr, visitSeqExpr, visitSlotExpr, visitSuchThatPattern, xformEExpr, xformEExprs, xformEScript, xformMatcher, xformMethod, xformPattern, xformPatterns |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
ScopeMap myBindings
final int[] myMaxLocalsCell
Constructor Detail |
BindFramesVisitor(ScopeMap bindings, int[] localsCell)
Method Detail |
public static BindFramesVisitor make(Scope scope)
public ScopeMap scopeMap()
public ENode xformNode(ENode eNode)
xformNode
in class KernelECopyVisitor
private BindFramesVisitor nestLocals()
private KernelECopyVisitor nestObject(ScopeMap newBindings)
public int maxLocals()
public Object visitNounExpr(ENode optOriginal, String varName)
visitNounExpr
in interface ETreeVisitor
visitNounExpr
in class KernelECopyVisitor
public Object visitFinalPattern(ENode optOriginal, String varName, EExpr valueGuardExpr)
visitFinalPattern
in interface ETreeVisitor
visitFinalPattern
in class KernelECopyVisitor
public Object visitVarPattern(ENode optOriginal, String varName, EExpr slotGuardExpr)
visitVarPattern
in interface ETreeVisitor
visitVarPattern
in class KernelECopyVisitor
abstract NounExpr newFinal(String varName)
abstract NounExpr newVar(String varName)
public Object visitObjectExpr(ENode optOriginal, String docComment, String optFQN, EExpr[] auditors, EScript eScript)
visitObjectExpr
in interface ETreeVisitor
visitObjectExpr
in class KernelECopyVisitor
public Object visitMatchBindExpr(ENode optOriginal, EExpr specimen, Pattern patt)
visitMatchBindExpr
in interface ETreeVisitor
visitMatchBindExpr
in class KernelECopyVisitor
public Object visitHideExpr(ENode optOriginal, EExpr body)
visitHideExpr
in interface ETreeVisitor
visitHideExpr
in class KernelECopyVisitor
public Object visitEMethod(ENode optOriginal, String docComment, String verb, Pattern[] patterns, EExpr returnGuard, EExpr body)
visitEMethod
in interface ETreeVisitor
visitEMethod
in class KernelECopyVisitor
public Object visitMatcher(ENode optOriginal, Pattern patt, EExpr body)
visitMatcher
in interface ETreeVisitor
visitMatcher
in class KernelECopyVisitor
public Object visitEscapeExpr(ENode optOriginal, Pattern hatch, EExpr body)
visitEscapeExpr
in interface ETreeVisitor
visitEscapeExpr
in class KernelECopyVisitor
public Object visitIfExpr(ENode optOriginal, EExpr test, EExpr then, EExpr els)
visitIfExpr
in interface ETreeVisitor
visitIfExpr
in class KernelECopyVisitor
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |