public final class AndroidEntryPointManager extends Object implements Serializable
| Modifier and Type | Field and Description |
|---|---|
static Map<Intent,Intent> |
DEFAULT_INTENT_OVERRIDES |
static List<AndroidEntryPoint> |
ENTRIES |
static AndroidEntryPointManager |
MANAGER |
Map<Intent,Intent> |
overrideIntents
Overrides Intents.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCallSeen(com.ibm.wala.classLoader.CallSiteReference from,
Intent intent)
DO NOT CALL! - This is for IntentContextSelector.
|
boolean |
doFlatComponents()
Controlls the initialization of Components.
|
static boolean |
EPContainAny(AndroidComponent compo)
Determines if any EntryPoint extends the specified component.
|
boolean |
existsIntentFor(com.ibm.wala.types.TypeName clazz)
Searches Intent specifications for the occurrence of clazz.
|
static Set<com.ibm.wala.types.TypeReference> |
getComponents() |
boolean |
getDoBootSequence()
Whether to generate a global android environment.
|
IInstantiationBehavior |
getInstantiationBehavior(com.ibm.wala.ipa.cha.IClassHierarchy cha)
Controls the instantiation of variables in the model.
|
Intent |
getIntent(Intent intent)
Get Intent with applied overrides.
|
Class<? extends AbstractAndroidModel> |
getModelBehavior()
The behavior set using setModelBehavior(Class).
|
String |
getPackage()
Return the package of the analyzed app.
|
com.ibm.wala.util.MonitorUtil.IProgressMonitor |
getProgressMonitor()
Can be used to indicate the progress or to cancel operations.
|
Map<com.ibm.wala.classLoader.CallSiteReference,Intent> |
getSeen()
Return all Sites, that start Components based on Intents.
|
String |
guessPackage()
Get the package of the analyzed app.
|
boolean |
isAllowIntentRerouting()
Controll modification of an Intents target after construction.
|
AbstractAndroidModel |
makeModelBehavior(com.ibm.wala.ipa.summaries.VolatileMethodSummary body,
com.ibm.wala.util.ssa.TypeSafeInstructionFactory insts,
com.ibm.wala.util.ssa.SSAValueManager paramManager,
Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> entryPoints)
What special handling to insert into the model.
|
void |
registerIntent(Intent intent)
Set more information to an Intent.
|
void |
registerIntentForce(Intent intent)
Set intent possibly overwriting more specific information.
|
static void |
reset() |
boolean |
setAllowIntentRerouting(boolean allow)
Controll modification of an Intents target after construction.
|
boolean |
setDoBootSequence(boolean doBootSequence)
Whether to generate a global android environment.
|
boolean |
setDoFlatComponents(boolean flatComponents)
Controlls the initialization of Components.
|
IInstantiationBehavior |
setInstantiationBehavior(IInstantiationBehavior instantiation)
Controls the instantiation of variables in the model.
|
void |
setModelBehavior(Class<? extends AbstractAndroidModel> abstractAndroidModel)
Set the class instantiated by makeModelBehavior.
|
void |
setOverride(Intent from,
Intent to)
Override target of an Intent (or add an alias).
|
void |
setOverrideForce(Intent from,
Intent to)
Just throw in the override.
|
void |
setOverrides(Map<Intent,Intent> overrides)
Set multiple overrides at the same time.
|
void |
setPackage(String pack)
Set the package of the analyzed application.
|
com.ibm.wala.util.MonitorUtil.IProgressMonitor |
setProgressMonitor(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Set the monitor returned by
getProgressMonitor(). |
public static AndroidEntryPointManager MANAGER
public static List<AndroidEntryPoint> ENTRIES
public final Map<Intent,Intent> overrideIntents
Intent,
IntentContextInterpreterpublic static boolean EPContainAny(AndroidComponent compo)
public static void reset()
public static Set<com.ibm.wala.types.TypeReference> getComponents()
public boolean doFlatComponents()
setDoFlatComponents(boolean).public boolean setDoFlatComponents(boolean flatComponents)
public IInstantiationBehavior getInstantiationBehavior(com.ibm.wala.ipa.cha.IClassHierarchy cha)
setInstantiationBehavior(IInstantiationBehavior).cha - Optional parameter given to the IInstantiationBehaviorpublic IInstantiationBehavior setInstantiationBehavior(IInstantiationBehavior instantiation)
setDoFlatComponents(boolean) for more instantiation settings that affect componentsfor more
informationpublic com.ibm.wala.util.MonitorUtil.IProgressMonitor getProgressMonitor()
public com.ibm.wala.util.MonitorUtil.IProgressMonitor setProgressMonitor(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
getProgressMonitor().public boolean getDoBootSequence()
setDoBootSequence(boolean) documentation.public boolean setDoBootSequence(boolean doBootSequence)
public AbstractAndroidModel makeModelBehavior(com.ibm.wala.ipa.summaries.VolatileMethodSummary body, com.ibm.wala.util.ssa.TypeSafeInstructionFactory insts, com.ibm.wala.util.ssa.SSAValueManager paramManager, Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> entryPoints)
IllegalStateException - if initialization failsAbstractAndroidModel,
SequentialAndroidModel,
LoopAndroidModelpublic Class<? extends AbstractAndroidModel> getModelBehavior()
makeModelBehavior(com.ibm.wala.ipa.summaries.VolatileMethodSummary, com.ibm.wala.util.ssa.TypeSafeInstructionFactory, com.ibm.wala.util.ssa.SSAValueManager, java.lang.Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint>)
to retrieve an instance of this class.
If no class was set it returns null, makeModelBehavior will generate a LoopAndroidModel by default.public void setModelBehavior(Class<? extends AbstractAndroidModel> abstractAndroidModel)
IllegalArgumentException - if the abstractAndroidModel is nullpublic void setPackage(String pack)
pack - The package of the analyzed applicationIllegalArgumentException - if the package has already been set and the value of the
packages differ. Or if the given package is null.public String getPackage()
setPackage(String)guessPackage()public String guessPackage()
getPackage()public void registerIntent(Intent intent)
intent - An Intent with more or the same information as known to the system before.IllegalArgumentException - if you lower the information on an already registered Intent or the
information is incompatible.registerIntentForce(com.ibm.wala.dalvik.ipa.callgraph.propagation.cfa.Intent)public void registerIntentForce(Intent intent)
public void setOverride(Intent from, Intent to)
registerIntent(Intent).from - the Intent to overrideto - the new Intent to resolve once 'from' is seenIllegalArgumentException - if you override an Intent with itselfsetOverrideForce(com.ibm.wala.dalvik.ipa.callgraph.propagation.cfa.Intent, com.ibm.wala.dalvik.ipa.callgraph.propagation.cfa.Intent)public void setOverrides(Map<Intent,Intent> overrides)
setOverride(Intent, Intent).public void setOverrideForce(Intent from, Intent to)
setOverride(Intent, Intent).public Intent getIntent(Intent intent)
setOverride(Intent, Intent).
See registerIntent(Intent).intent - The intent to resolvepublic boolean existsIntentFor(com.ibm.wala.types.TypeName clazz)
public void addCallSeen(com.ibm.wala.classLoader.CallSiteReference from,
Intent intent)
public Map<com.ibm.wala.classLoader.CallSiteReference,Intent> getSeen()
public boolean setAllowIntentRerouting(boolean allow)
allow - Allow rerouting as describedpublic boolean isAllowIntentRerouting()
setAllowIntentRerouting(boolean).Copyright © 2019. All rights reserved.