public class AndroidStartComponentTool
extends java.lang.Object
This class is only used by AndroidModel.getMethodAs() as it got a bit lengthy.
| Constructor and Description |
|---|
AndroidStartComponentTool(com.ibm.wala.ipa.cha.IClassHierarchy cha,
com.ibm.wala.types.MethodReference asMethod,
java.util.Set<IntentStarters.StarterFlags> flags,
com.ibm.wala.types.TypeReference caller,
com.ibm.wala.util.ssa.TypeSafeInstructionFactory instructionFactory,
com.ibm.wala.util.ssa.ParameterAccessor acc,
com.ibm.wala.util.ssa.SSAValueManager pm,
com.ibm.wala.ipa.summaries.VolatileMethodSummary redirect,
com.ibm.wala.util.ssa.ParameterAccessor.Parameter self,
IntentStarters.StartInfo info) |
| Modifier and Type | Method and Description |
|---|---|
com.ibm.wala.util.ssa.SSAValue |
addPhi(java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> from)
Add Phi (if necessary) - not if only one from.
|
void |
assignIBinder(com.ibm.wala.util.ssa.SSAValue iBinder,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
Set the iBinder in the callee.
|
void |
attachActivities(java.util.Set<? extends com.ibm.wala.util.ssa.SSAValue> activities,
com.ibm.wala.util.ssa.SSAValue application,
com.ibm.wala.util.ssa.SSAValue thread,
com.ibm.wala.util.ssa.SSAValue context,
com.ibm.wala.util.ssa.SSAValue iBinderToken,
com.ibm.wala.util.ssa.SSAValue intent) |
com.ibm.wala.util.ssa.SSAValue |
fetchCallerContext()
Fetches the context of the caller.
|
com.ibm.wala.util.ssa.SSAValue |
fetchIBinder(com.ibm.wala.util.ssa.SSAValue androidContext)
Fetch the permissions to start the component with.
|
void |
fetchResults(java.util.List<? super com.ibm.wala.util.ssa.SSAValue> resultCodes,
java.util.List<? super com.ibm.wala.util.ssa.SSAValue> resultData,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
Grab mResultCode and mResultData.
|
void |
setIntent(com.ibm.wala.util.ssa.SSAValue intent,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
Call Activity.setIntent.
|
AndroidTypes.AndroidContextType |
typeOfCallerContext() |
public AndroidStartComponentTool(com.ibm.wala.ipa.cha.IClassHierarchy cha,
com.ibm.wala.types.MethodReference asMethod,
java.util.Set<IntentStarters.StarterFlags> flags,
com.ibm.wala.types.TypeReference caller,
com.ibm.wala.util.ssa.TypeSafeInstructionFactory instructionFactory,
com.ibm.wala.util.ssa.ParameterAccessor acc,
com.ibm.wala.util.ssa.SSAValueManager pm,
com.ibm.wala.ipa.summaries.VolatileMethodSummary redirect,
com.ibm.wala.util.ssa.ParameterAccessor.Parameter self,
IntentStarters.StartInfo info)
public void attachActivities(java.util.Set<? extends com.ibm.wala.util.ssa.SSAValue> activities,
com.ibm.wala.util.ssa.SSAValue application,
com.ibm.wala.util.ssa.SSAValue thread,
com.ibm.wala.util.ssa.SSAValue context,
com.ibm.wala.util.ssa.SSAValue iBinderToken,
com.ibm.wala.util.ssa.SSAValue intent)
public AndroidTypes.AndroidContextType typeOfCallerContext()
public com.ibm.wala.util.ssa.SSAValue fetchCallerContext()
public com.ibm.wala.util.ssa.SSAValue fetchIBinder(com.ibm.wala.util.ssa.SSAValue androidContext)
Fetching depends on StarterFlags.QUENCH_PERMISSIONS, XXX
java.lang.UnsupportedOperationException - when fetching is not supported with the current settingspublic void assignIBinder(com.ibm.wala.util.ssa.SSAValue iBinder,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
public void setIntent(com.ibm.wala.util.ssa.SSAValue intent,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
public void fetchResults(java.util.List<? super com.ibm.wala.util.ssa.SSAValue> resultCodes,
java.util.List<? super com.ibm.wala.util.ssa.SSAValue> resultData,
java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> allActivities)
This data is used to call onActivityResult of the caller.
public com.ibm.wala.util.ssa.SSAValue addPhi(java.util.List<? extends com.ibm.wala.util.ssa.SSAValue> from)