Class ExternalModel
java.lang.Object
com.ibm.wala.dalvik.ipa.callgraph.androidModel.AndroidModel
com.ibm.wala.dalvik.ipa.callgraph.androidModel.stubs.ExternalModel
- All Implemented Interfaces:
IClassHierarchyDweller
This is generates a dummy for the call to an external Activity.
Is used by the IntentContextInterpreter if an Intent is marked as beeing external.
- Since:
- 2013-10-15
- Author:
- Tobias Blaschke <code@tobiasblaschke.de>
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionExternalModel
(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, AndroidComponent target) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
build
(Atom name, Collection<? extends AndroidEntryPoint> entrypoints) Generate the SummarizedMethod for the model (in this.model).Building the SummarizedMethod is delayed upon the first class to this method.protected boolean
Do not call any EntryPoint.Methods inherited from class com.ibm.wala.dalvik.ipa.callgraph.androidModel.AndroidModel
build, getClassHierarchy, getDeclaringClass, getDescriptor, getMethodAs, getMethodEncap, getName, getReturnType, isStatic, toString
-
Field Details
-
name
-
-
Constructor Details
-
ExternalModel
public ExternalModel(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, AndroidComponent target)
-
-
Method Details
-
selectEntryPoint
Do not call any EntryPoint.Overridden by models to restraint Entrypoints.
For each entrypoint this method is queried if it should be part of the model.
- Overrides:
selectEntryPoint
in classAndroidModel
- Parameters:
ep
- The EntryPoint in question- Returns:
- if the given EntryPoint shall be part of the model
-
getMethod
Description copied from class:AndroidModel
Building the SummarizedMethod is delayed upon the first class to this method.- Overrides:
getMethod
in classAndroidModel
- Returns:
- the method for this model as generated by build()
- Throws:
CancelException
-
build
Description copied from class:AndroidModel
Generate the SummarizedMethod for the model (in this.model).The actual generated model depends on the on the properties of this overloaded class. Most generated methods should reside in the AndroidModelClass and take AndroidComponents as well as some parameters (these marked REUSE) to the EntryPoints of the components.
Use
AndroidModel.getMethod()
to retrieve the method generated here or getMethodAs to get a version which is wrapped to another signature.- Overrides:
build
in classAndroidModel
- Parameters:
name
- The name the generated method will be known asentrypoints
- The functions to call additionally to boot-code and XXX
-