soot.jbco.bafTransformations
Class StackTypeHeightCalculator

java.lang.Object
  extended by soot.jbco.bafTransformations.StackTypeHeightCalculator

public class StackTypeHeightCalculator
extends Object

Author:
Michael Batchelder Created on 3-May-2006

Nested Class Summary
protected  class StackTypeHeightCalculator.StackEffectSwitch
           
 
Field Summary
static BriefUnitGraph bug
           
static StackTypeHeightCalculator.StackEffectSwitch sw
           
 
Constructor Summary
StackTypeHeightCalculator()
           
 
Method Summary
static HashMap calculateStackHeights(Body b)
           
static HashMap calculateStackHeights(Body b, boolean jimpleLocals)
           
static HashMap calculateStackHeights(Body b, HashMap b2JLocs)
           
static Stack<Type> getAfterStack(Body b, Unit u)
           
static Stack<Type> getAfterStack(Stack<Type> beforeStack, Unit u)
           
static void printStack(PatchingChain units, HashMap stacks, boolean before)
           
static Stack<Type> updateStack(StackTypeHeightCalculator.StackEffectSwitch sw, Stack<Type> st)
           
static Stack<Type> updateStack(Unit u, Stack<Type> st)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sw

public static StackTypeHeightCalculator.StackEffectSwitch sw

bug

public static BriefUnitGraph bug
Constructor Detail

StackTypeHeightCalculator

public StackTypeHeightCalculator()
Method Detail

calculateStackHeights

public static HashMap calculateStackHeights(Body b,
                                            HashMap b2JLocs)

calculateStackHeights

public static HashMap calculateStackHeights(Body b)

calculateStackHeights

public static HashMap calculateStackHeights(Body b,
                                            boolean jimpleLocals)

updateStack

public static Stack<Type> updateStack(Unit u,
                                      Stack<Type> st)

updateStack

public static Stack<Type> updateStack(StackTypeHeightCalculator.StackEffectSwitch sw,
                                      Stack<Type> st)

printStack

public static void printStack(PatchingChain units,
                              HashMap stacks,
                              boolean before)

getAfterStack

public static Stack<Type> getAfterStack(Body b,
                                        Unit u)

getAfterStack

public static Stack<Type> getAfterStack(Stack<Type> beforeStack,
                                        Unit u)