public final class SequentialAndroidModel extends AbstractAndroidModel
No loops are inserted into the model.
This model should not be particular useful in practice. However it might come in handy for debugging purposes or as a skeleton for an other Model.
body, entryPoints, insts, paramManager| Constructor and Description |
|---|
SequentialAndroidModel(com.ibm.wala.ipa.summaries.VolatileMethodSummary body,
com.ibm.wala.util.ssa.TypeSafeInstructionFactory insts,
com.ibm.wala.util.ssa.SSAValueManager paramManager,
java.lang.Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> entryPoints) |
| Modifier and Type | Method and Description |
|---|---|
protected int |
enterAFTER_LOOP(int PC)
Does not insert any special handling.
|
protected int |
enterAT_FIRST(int PC)
Does not insert any special handling.
|
protected int |
enterAT_LAST(int PC)
Does not insert any special handling.
|
protected int |
enterBEFORE_LOOP(int PC)
Does not insert any special handling.
|
protected int |
enterEND_OF_LOOP(int PC)
Does not insert any special handling.
|
protected int |
enterMIDDLE_OF_LOOP(int PC)
Does not insert any special handling.
|
protected int |
enterMULTIPLE_TIMES_IN_LOOP(int PC)
Does not insert any special handling.
|
protected int |
enterSTART_OF_LOOP(int PC)
Does not insert any special handling.
|
protected int |
leaveAT_LAST(int PC)
Does not insert any special handling.
|
enter, finish, hadSectionSwitch, returnTypesBetweenpublic SequentialAndroidModel(com.ibm.wala.ipa.summaries.VolatileMethodSummary body,
com.ibm.wala.util.ssa.TypeSafeInstructionFactory insts,
com.ibm.wala.util.ssa.SSAValueManager paramManager,
java.lang.Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> entryPoints)
body - The MethodSummary to add instructions toinsts - Will be used to generate the instructionsprotected int enterAT_FIRST(int PC)
Gets called when Label ExecutionOrder.AT_FIRST got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.AT_FIRST, int) instead.
Sideeffects: currentSection is updated, instructions are inserted into the body
enterAT_FIRST in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterBEFORE_LOOP(int PC)
Gets called when Label ExecutionOrder.BEFORE_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.BEFORE_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterBEFORE_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterSTART_OF_LOOP(int PC)
Gets called when Label ExecutionOrder.START_OF_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.START_OF_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterSTART_OF_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterMIDDLE_OF_LOOP(int PC)
Gets called when Label ExecutionOrder.MIDDLE_OF_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.MIDDLE_OF_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterMIDDLE_OF_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterMULTIPLE_TIMES_IN_LOOP(int PC)
Gets called when Label ExecutionOrder.MULTIPLE_TIMES_IN_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.MULTIPLE_TIMES_IN_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterMULTIPLE_TIMES_IN_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterEND_OF_LOOP(int PC)
Gets called when Label ExecutionOrder.END_OF_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.END_OF_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterEND_OF_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterAFTER_LOOP(int PC)
Gets called when Label ExecutionOrder.AFTER_LOOP got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.AFTER_LOOP, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterAFTER_LOOP in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int enterAT_LAST(int PC)
Gets called when Label ExecutionOrder.AT_LAST got stepped over.
In most cases you don't want to invoke this function directly but to use enter(ExecutionOrder.AT_LAST, int) instead
Sideeffects: currentSection is updated, instructions are inserted into the body
enterAT_LAST in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()protected int leaveAT_LAST(int PC)
Gets called when the model gets finished.
In most cases you don't want to invoke this function directly but to use AbstractAndroidModel.finish(int) instead
Sideeffects: instructions are inserted into the body
leaveAT_LAST in class AbstractAndroidModelPC - Program Counter instructions shall be placed at. In most cases you'll simply pass
body.getNextProgramCounter()