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
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
- Author:
- Tobias Blaschke <code@tobiasblaschke.de>
- See Also:
-
Field Summary
FieldsFields inherited from class AndroidModel
body, built, cache, cha, doBoot, klass, model, mRef, options, scopeModifier and TypeFieldDescriptionprotected VolatileMethodSummaryprotected booleanprotected IAnalysisCacheViewprotected IClassHierarchyprotected static booleanprotected IClassprotected SummarizedMethodprotected AnalysisOptionsprotected final AnalysisScope -
Constructor Summary
ConstructorsConstructorDescriptionUnknownTargetModel(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, AndroidComponent target) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuild(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 booleanThe UnknownTargetModel does not call any entrypoints on it's own.Methods inherited from class AndroidModel
build, getClassHierarchy, getDeclaringClass, getDescriptor, getMethodAs, getMethodEncap, getName, getReturnType, isStatic, toStringModifier and TypeMethodDescriptionprotected voidGenerates the model on a sub-set of Entrypoints.The class the Method representing this Model resides in.@NonNull SummarizedMethodgetMethodAs(MethodReference asMethod, TypeReference caller, IntentStarters.StartInfo info, CGNode callerNd) Get method of the Model in an other Signature.Creates an "encapsulated" version of the model.getName()booleanisStatic()toString()
-
Field Details
-
name
-
-
Constructor Details
-
UnknownTargetModel
public UnknownTargetModel(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, AndroidComponent target) - Parameters:
target- Component Type, may be null: No restrictions are imposed on AndroidModel then
-
-
Method Details
-
selectEntryPoint
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:
selectEntryPointin classAndroidModel- Parameters:
ep- The EntryPoint in question- Returns:
- if the given EntryPoint shall be part of the model
-
getMethod
Description copied from class:AndroidModelBuilding the SummarizedMethod is delayed upon the first class to this method.- Overrides:
getMethodin 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:AndroidModelGenerate 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:
buildin classAndroidModel- Parameters:
name- The name the generated method will be known asentrypoints- The functions to call additionally to boot-code and XXX- Throws:
CancelException
-