Class UnknownTargetModel
- java.lang.Object
-
- com.ibm.wala.dalvik.ipa.callgraph.androidModel.AndroidModel
-
- com.ibm.wala.dalvik.ipa.callgraph.androidModel.stubs.UnknownTargetModel
-
- All Implemented Interfaces:
IClassHierarchyDweller
public class UnknownTargetModel extends AndroidModel
This Model is used to start an Android-Component of unknown Target. All internal Components of a Type (if given) then an ExternalModel is called. Used by the IntentContextInterpreter.- Since:
- 2013-10-18
- See Also:
IntentContextInterpreter
-
-
Constructor Summary
Constructors Constructor Description UnknownTargetModel(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, AndroidComponent target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
build(Atom name, Collection<? extends AndroidEntryPoint> entrypoints)
Generate the SummarizedMethod for the model (in this.model).SummarizedMethod
getMethod()
Building the SummarizedMethod is delayed upon the first class to this method.protected boolean
selectEntryPoint(AndroidEntryPoint ep)
The UnknownTargetModel does not call any entrypoints on it's own.-
Methods inherited from class com.ibm.wala.dalvik.ipa.callgraph.androidModel.AndroidModel
build, getClassHierarchy, getDeclaringClass, getDescriptor, getMethodAs, getMethodEncap, getName, getReturnType, isStatic, toString
-
-
-
-
Field Detail
-
name
public final Atom name
-
-
Constructor Detail
-
UnknownTargetModel
public UnknownTargetModel(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, AndroidComponent target) throws CancelException
- Parameters:
target
- Component Type, may be null: No restrictions are imposed on AndroidModel then- Throws:
CancelException
-
-
Method Detail
-
selectEntryPoint
protected boolean selectEntryPoint(AndroidEntryPoint ep)
The UnknownTargetModel does not call any entrypoints on it's own. Instead it first creates a restricted AndroidModel and an ExternalModel. These are actually called.- Overrides:
selectEntryPoint
in classAndroidModel
- Parameters:
ep
- The EntryPoint in question- Returns:
- if the given EntryPoint shall be part of the model
-
getMethod
public SummarizedMethod getMethod() throws CancelException
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
protected void build(Atom name, Collection<? extends AndroidEntryPoint> entrypoints) throws CancelException
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. UseAndroidModel.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- Throws:
CancelException
-
-