|
|
||||||||||
| 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 KernelECopyVisitorprivate BindFramesVisitor nestLocals()
private KernelECopyVisitor nestObject(ScopeMap newBindings)
public int maxLocals()
public Object visitNounExpr(ENode optOriginal,
String varName)
visitNounExpr in interface ETreeVisitorvisitNounExpr in class KernelECopyVisitor
public Object visitFinalPattern(ENode optOriginal,
String varName,
EExpr valueGuardExpr)
visitFinalPattern in interface ETreeVisitorvisitFinalPattern in class KernelECopyVisitor
public Object visitVarPattern(ENode optOriginal,
String varName,
EExpr slotGuardExpr)
visitVarPattern in interface ETreeVisitorvisitVarPattern in class KernelECopyVisitorabstract 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 ETreeVisitorvisitObjectExpr in class KernelECopyVisitor
public Object visitMatchBindExpr(ENode optOriginal,
EExpr specimen,
Pattern patt)
visitMatchBindExpr in interface ETreeVisitorvisitMatchBindExpr in class KernelECopyVisitor
public Object visitHideExpr(ENode optOriginal,
EExpr body)
visitHideExpr in interface ETreeVisitorvisitHideExpr in class KernelECopyVisitor
public Object visitEMethod(ENode optOriginal,
String docComment,
String verb,
Pattern[] patterns,
EExpr returnGuard,
EExpr body)
visitEMethod in interface ETreeVisitorvisitEMethod in class KernelECopyVisitor
public Object visitMatcher(ENode optOriginal,
Pattern patt,
EExpr body)
visitMatcher in interface ETreeVisitorvisitMatcher in class KernelECopyVisitor
public Object visitEscapeExpr(ENode optOriginal,
Pattern hatch,
EExpr body)
visitEscapeExpr in interface ETreeVisitorvisitEscapeExpr in class KernelECopyVisitor
public Object visitIfExpr(ENode optOriginal,
EExpr test,
EExpr then,
EExpr els)
visitIfExpr in interface ETreeVisitorvisitIfExpr in class KernelECopyVisitor
|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||