org.erights.e.elang.visitors
Class DefBehaviorVisitor

java.lang.Object
  |
  +--org.erights.e.elang.visitors.KernelECopyVisitor
        |
        +--org.erights.e.elang.visitors.DefBehaviorVisitor
All Implemented Interfaces:
ETreeVisitor

public class DefBehaviorVisitor
extends KernelECopyVisitor

Safe: Transforms from Expanded-E (the output of the parser or quasi-parser) to Kernel-E (Bound-E but without PatternMap info).

This transformation is the determination of absolute fully qualified names.

Author:
Mark S. Miller

Field Summary
private  int myAnonCount
          How many anon object exprs have already been renamed at this level?
private  FlexMap myDefs
          A mapping from fqNames to ObjectExprs.
private  String myFQNPrefix
          Either the null string, or a string ending in a "." or a "$" for a containing package or outer "class" respectively.
 
Fields inherited from class org.erights.e.elang.visitors.KernelECopyVisitor
 
Constructor Summary
  DefBehaviorVisitor(String fqnPrefix)
          Enabled:
private DefBehaviorVisitor(String fqnPrefix, FlexMap defs)
           
 
Method Summary
 Object visitObjectExpr(ENode optOriginal, String docComment, String optFQN, EExpr[] auditors, EScript eScript)
          Enabled:
 
Methods inherited from class org.erights.e.elang.visitors.KernelECopyVisitor
nest, optSpan, run, visitAssignExpr, visitCallExpr, visitCatchExpr, visitCdrPattern, visitDefineExpr, visitEMethod, visitEscapeExpr, visitEScript, visitFinallyExpr, visitFinalPattern, visitHideExpr, visitIfExpr, visitIgnorePattern, visitListPattern, visitLiteralExpr, visitMatchBindExpr, visitMatcher, visitNounExpr, visitQuasiLiteralExpr, visitQuasiLiteralPatt, visitQuasiPatternExpr, visitQuasiPatternPatt, visitScopeExpr, visitSendExpr, visitSeqExpr, visitSlotExpr, visitSuchThatPattern, visitVarPattern, xformEExpr, xformEExprs, xformEScript, xformMatcher, xformMethod, xformNode, xformPattern, xformPatterns
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myFQNPrefix

private final String myFQNPrefix
Either the null string, or a string ending in a "." or a "$" for a containing package or outer "class" respectively.


myDefs

private final FlexMap myDefs
A mapping from fqNames to ObjectExprs.


myAnonCount

private int myAnonCount
How many anon object exprs have already been renamed at this level?

The next one to be renamed will be called ++myAnonCount.

Constructor Detail

DefBehaviorVisitor

public DefBehaviorVisitor(String fqnPrefix)
Enabled:


DefBehaviorVisitor

private DefBehaviorVisitor(String fqnPrefix,
                           FlexMap defs)
Method Detail

visitObjectExpr

public Object visitObjectExpr(ENode optOriginal,
                              String docComment,
                              String optFQN,
                              EExpr[] auditors,
                              EScript eScript)
Enabled:

Specified by:
visitObjectExpr in interface ETreeVisitor
Overrides:
visitObjectExpr in class KernelECopyVisitor
See Also:
The Kernel-E Object Expression


comments?