| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.MemoryAccessInfo |
Memory access information object.
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| public static final MemoryAccessInfo | ACCESSES_ALL | ||||||||||
| public static final MemoryAccessInfo | ACCESSES_GLOBALS | ||||||||||
| public static final MemoryAccessInfo | ACCESSES_NONE | ||||||||||
| public static final MemoryAccessInfo | ACCESSES_STACK | ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
MemoryAccessInfo()
Create a mutable (customizable) MAI object initially set to access everything (stack R/W,
globals R/W).
| |||||||||||
|
MemoryAccessInfo(boolean accessEverything)
Create a mutable (customizable) MAI object.
| |||||||||||
|
MemoryAccessInfo(boolean readStack, boolean writeStack, boolean readGlobals, boolean writeGlobals)
Create an immutable MAI object with no-granularity settings: all/no stack read, all/no stack
written, all/no globals read, all/no globals written.
| |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| MemoryAccessInfo | clone() | ||||||||||
| boolean | equals(Object obj) | ||||||||||
| Collection<IEVar> | filterGlobalsReads(Collection<IEVar> candidates) | ||||||||||
| Collection<IEVar> | filterGlobalsWrites(Collection<IEVar> candidates) | ||||||||||
| Collection<IEVar> | filterStackReads(Collection<IEVar> candidates) | ||||||||||
| Collection<IEVar> | filterStackSpoiled(Collection<IEVar> candidates) | ||||||||||
| Collection<IEVar> | filterStackWrites(Collection<IEVar> candidates) | ||||||||||
| IdRanges |
getGlobalsReads()
The object must be
mutable, else this method will throw. | ||||||||||
| IdRanges |
getGlobalsWrites()
The object must be
mutable, else this method will throw. | ||||||||||
| IdRanges |
getStackReads()
The object must be
mutable, else this method will throw. | ||||||||||
| IdRanges |
getStackSpoiledRanges()
Retrieve the records of bad writes to stack slots.
| ||||||||||
| IdRanges |
getStackWrites()
The object must be
mutable, else this method will throw. | ||||||||||
| boolean | hasSpoiledStack() | ||||||||||
| int | hashCode() | ||||||||||
| boolean | isAccessGlobals() | ||||||||||
| boolean | isAccessMemory() | ||||||||||
| boolean | isAccessStack() | ||||||||||
| boolean | isMutable() | ||||||||||
| boolean | isNoAccess() | ||||||||||
| boolean | isReadGlobals() | ||||||||||
| boolean | isReadMemory() | ||||||||||
| boolean | isReadStack() | ||||||||||
| boolean | isWriteGlobals() | ||||||||||
| boolean | isWriteMemory() | ||||||||||
| boolean | isWriteStack() | ||||||||||
| void |
setAccessRanges(IdRanges stackReads, IdRanges stackWrites, IdRanges globalsReads, IdRanges globalsWrites)
The object must be
mutable, else this method will throw. | ||||||||||
| void |
setGlobalsAccessRanges(IdRanges read, IdRanges write)
The object must be
mutable, else this method will throw. | ||||||||||
| void |
setStackAccessRanges(IdRanges read, IdRanges write)
The object must be
mutable, else this method will throw. | ||||||||||
| void |
setStackSpoiledRanges(IdRanges spoiled)
Set the records of bad writes to stack slots.
| ||||||||||
| String | toString() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Create a mutable (customizable) MAI object initially set to access everything (stack R/W, globals R/W).
Customize accesses with setGlobalsAccessRanges(IdRanges, IdRanges),
setStackAccessRanges(IdRanges, IdRanges), setStackSpoiledRanges(IdRanges).
Create a mutable (customizable) MAI object.
Customize accesses with setGlobalsAccessRanges(IdRanges, IdRanges),
setStackAccessRanges(IdRanges, IdRanges), setStackSpoiledRanges(IdRanges).
| accessEverything | false to initialize to access nothing (in stack, in mem); trues to initialize to access everything (safer) |
|---|
Create an immutable MAI object with no-granularity settings: all/no stack read, all/no stack
written, all/no globals read, all/no globals written. In order to specify granular access
settings (list of variable IDs), use MemoryAccessInfo().
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
Retrieve the records of bad writes to stack slots.
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
The object must be mutable, else this method will throw.
| IllegalStateException | if the object is not mutable |
|---|
Set the records of bad writes to stack slots.
| spoiled | optional ranges |
|---|