fabil.visit
Class Memoizer

java.lang.Object
  extended by NodeVisitor
      extended by fabil.visit.Memoizer

public class Memoizer
extends NodeVisitor


Field Summary
protected  java.util.List<ClassMember> addedMembers
           
protected  java.lang.String flagName
           
protected  Job job
           
protected  NodeFactory nf
           
protected  TypeSystem ts
           
protected  java.lang.String valueName
           
 
Constructor Summary
Memoizer(Job job, TypeSystem ts, NodeFactory nf)
           
 
Method Summary
 NodeVisitor enter(Node n)
           
 Node leave(Node old, Node n, NodeVisitor v)
           
protected  boolean needsMemoization(MethodInstance mi)
           
protected  MethodDecl transform(MethodDecl md, MethodInstance mi)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

job

protected Job job

nf

protected NodeFactory nf

ts

protected TypeSystem ts

addedMembers

protected java.util.List<ClassMember> addedMembers

flagName

protected java.lang.String flagName

valueName

protected java.lang.String valueName
Constructor Detail

Memoizer

public Memoizer(Job job,
                TypeSystem ts,
                NodeFactory nf)
Method Detail

enter

public NodeVisitor enter(Node n)

leave

public Node leave(Node old,
                  Node n,
                  NodeVisitor v)

transform

protected MethodDecl transform(MethodDecl md,
                               MethodInstance mi)

needsMemoization

protected boolean needsMemoization(MethodInstance mi)