| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.analyzer.MemoryRanges |
A collection of byte-addressable memory ranges. The final addressable byte (e.g., @ 0xFFFFFFFF in a 32-bit address space) cannot be part of any range.
This class is not thread-safe.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| class | MemoryRanges.Range | A continuous memory range. | |||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| MemoryRanges(int spaceBits) | |||||||||||
| MemoryRanges() | |||||||||||
| MemoryRanges(IVirtualMemory mem) | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| void | add(long begin0, long end0) | ||||||||||
| long | aggregatedRangesSize() | ||||||||||
| List<Couple<Long, Long>> |
asList()
Convert the
MemoryRanges to a List of ranges (stored as Couple. | ||||||||||
| void | clear() | ||||||||||
| boolean |
contains(long address)
Indicate if an address is defined in this
MemoryRanges | ||||||||||
| int | count() | ||||||||||
| Long | getLocalBegin(long address0) | ||||||||||
| Long | getLocalEnd(long address0) | ||||||||||
| Couple<Long, Long> | getLocalRange(long address0) | ||||||||||
| Couple<Long, Long> | getNextRange(long address0) | ||||||||||
| Couple<Long, Long> | getPreviousRange(long address0) | ||||||||||
| boolean |
intersects(long addressStart, long addressEnd)
Indicate if an element from range [addressStart:addressEnd[ is defined in this
MemoryRanges. | ||||||||||
| Long | max() | ||||||||||
| Long | min() | ||||||||||
| void | remove(long begin0, long end0) | ||||||||||
| long | spanSize() | ||||||||||
| String | toString() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Convert the MemoryRanges to a List of ranges (stored as Couple.
MemoryRanges
Indicate if an address is defined in this MemoryRanges
| address | address to test |
|---|
MemoryRanges contains this address
Indicate if an element from range [addressStart:addressEnd[ is defined in this
MemoryRanges.
| addressStart | start address (inclusive) |
|---|---|
| addressEnd | end address (exclusive) |
MemoryRanges contains at least one address from the given range