forge.transform
Class InlineTransformer

java.lang.Object
  extended by forge.transform.AbstractTransformer
      extended by forge.transform.InlineTransformer
All Implemented Interfaces:
Transformer

public final class InlineTransformer
extends AbstractTransformer

Inlines all the calls in a call graph into a procedure.

Author:
Greg Dennis (gdennis@mit.edu)

Nested Class Summary
 
Nested classes/interfaces inherited from class forge.transform.AbstractTransformer
AbstractTransformer.TransformVisitor
 
Field Summary
 
Fields inherited from interface forge.transform.Transformer
IDENTITY
 
Constructor Summary
InlineTransformer(int numUnrolls)
          Constructs a call inliner that unrolls recursion the given number of times.
 
Method Summary
protected  AbstractTransformer.TransformVisitor visitor(ForgeCFG source)
          Returns a TransformVisitor that converts source.
 
Methods inherited from class forge.transform.AbstractTransformer
sourceStmt, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InlineTransformer

public InlineTransformer(int numUnrolls)
Constructs a call inliner that unrolls recursion the given number of times.

Throws:
java.lang.IllegalArgumentException - - numUnrolls < 1
Method Detail

visitor

protected AbstractTransformer.TransformVisitor visitor(ForgeCFG source)
Description copied from class: AbstractTransformer
Returns a TransformVisitor that converts source.

Specified by:
visitor in class AbstractTransformer