soot.jimple.toolkits.invoke
Class InlinerSafetyManager

java.lang.Object
  extended by soot.jimple.toolkits.invoke.InlinerSafetyManager

public class InlinerSafetyManager
extends Object

Methods for checking safety requirements for inlining.


Constructor Summary
InlinerSafetyManager()
           
 
Method Summary
static boolean checkAccessRestrictions(SootMethod container, SootMethod target, String modifierOptions)
           
static boolean checkSpecialInlineRestrictions(SootMethod container, SootMethod target, String options)
           
static boolean ensureInlinability(SootMethod target, Stmt toInline, SootMethod container, String modifierOptions)
          Returns true if this method can be inlined at the given site.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InlinerSafetyManager

public InlinerSafetyManager()
Method Detail

checkSpecialInlineRestrictions

public static boolean checkSpecialInlineRestrictions(SootMethod container,
                                                     SootMethod target,
                                                     String options)

checkAccessRestrictions

public static boolean checkAccessRestrictions(SootMethod container,
                                              SootMethod target,
                                              String modifierOptions)

ensureInlinability

public static boolean ensureInlinability(SootMethod target,
                                         Stmt toInline,
                                         SootMethod container,
                                         String modifierOptions)
Returns true if this method can be inlined at the given site. Will try as hard as it can to change things to allow inlining (modifierOptions controls what it's allowed to do: safe, unsafe and nochanges) Returns false otherwise.