abc.weaving.weaver
Class AdviceInliner

java.lang.Object
  extended by abc.weaving.weaver.AdviceInliner
Direct Known Subclasses:
AdviceInliner

public class AdviceInliner
extends java.lang.Object

Author:
Sascha Kuzins

Nested Class Summary
static class AdviceInliner.CombinedInlineOptions
           
protected  class AdviceInliner.IfMethodInlineOptions
           
static interface AdviceInliner.InlineOptions
           
static class AdviceInliner.InlineRange
           
 
Field Summary
static int MAX_CONTAINER_SIZE
           
 
Constructor Summary
AdviceInliner()
           
 
Method Summary
 void addShadowMethod(SootMethod m)
           
 boolean afterBeforeForceInline()
           
 boolean aroundForceInline()
           
static int getAccessViolationCount(SootMethod container, SootMethod adviceMethod)
           
protected  AdviceInliner.InlineOptions getInlineOptions()
           
static int getUniqueID()
           
protected  void inlineMethods(Body body, AdviceInliner.InlineRange range, AdviceInliner.InlineOptions inlineOptions, java.util.Set visitedBodies, int depth)
           
static java.util.List inlineSite(SootMethod inlinee, Stmt invStmt, SootMethod container)
           
static boolean isAfterBeforeAdviceMethod(java.lang.String name)
           
 void removeDuplicateInlineMethods()
           
static void reset()
           
 void run()
           
 void runBoxingRemover()
           
 void specializeReturnTypesOfInlineMethods()
           
static AdviceInliner v()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_CONTAINER_SIZE

public static final int MAX_CONTAINER_SIZE
See Also:
Constant Field Values
Constructor Detail

AdviceInliner

public AdviceInliner()
Method Detail

reset

public static void reset()

v

public static AdviceInliner v()

addShadowMethod

public void addShadowMethod(SootMethod m)

getInlineOptions

protected AdviceInliner.InlineOptions getInlineOptions()

run

public void run()

runBoxingRemover

public void runBoxingRemover()

getAccessViolationCount

public static int getAccessViolationCount(SootMethod container,
                                          SootMethod adviceMethod)

getUniqueID

public static int getUniqueID()

inlineMethods

protected void inlineMethods(Body body,
                             AdviceInliner.InlineRange range,
                             AdviceInliner.InlineOptions inlineOptions,
                             java.util.Set visitedBodies,
                             int depth)

inlineSite

public static java.util.List inlineSite(SootMethod inlinee,
                                        Stmt invStmt,
                                        SootMethod container)

aroundForceInline

public boolean aroundForceInline()

afterBeforeForceInline

public boolean afterBeforeForceInline()

isAfterBeforeAdviceMethod

public static boolean isAfterBeforeAdviceMethod(java.lang.String name)

specializeReturnTypesOfInlineMethods

public void specializeReturnTypesOfInlineMethods()

removeDuplicateInlineMethods

public void removeDuplicateInlineMethods()