Package com.tonic.analysis.absexec
Class VarCtx
- java.lang.Object
-
- com.tonic.analysis.absexec.VarCtx
-
public final class VarCtx extends Object
One local-variable slot's contents during abstract execution.
-
-
Constructor Summary
Constructors Constructor Description VarCtx(boolean wide)An entry parameter (no storing instruction).VarCtx(InsnContext storedBy, boolean wide)A value stored into a local bystoredBy.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRead(InsnContext ctx)Records a context that read this slot, ignoring duplicates.InsnContextgetInstructionWhichStored()List<InsnContext>getRead()booleanisParameter()booleanisWide()VarCtxmarkParameter()Flags this slot as an entry parameter.
-
-
-
Constructor Detail
-
VarCtx
public VarCtx(InsnContext storedBy, boolean wide)
A value stored into a local bystoredBy.- Parameters:
storedBy- the context of the store instructionwide- true if the value occupies two slots
-
VarCtx
public VarCtx(boolean wide)
An entry parameter (no storing instruction).- Parameters:
wide- true if the value occupies two slots
-
-
Method Detail
-
getInstructionWhichStored
public InsnContext getInstructionWhichStored()
- Returns:
- the instruction which stored
-
isWide
public boolean isWide()
- Returns:
- whether wide
-
isParameter
public boolean isParameter()
- Returns:
- whether parameter
-
addRead
public void addRead(InsnContext ctx)
Records a context that read this slot, ignoring duplicates.- Parameters:
ctx- the reading instruction-execution
-
getRead
public List<InsnContext> getRead()
- Returns:
- the read
-
markParameter
public VarCtx markParameter()
Flags this slot as an entry parameter.- Returns:
- this context
-
-