| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt.comp.Leaf |
Terminal node. Never null.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | FLAG_POSSIBLE_ALL | ||||||||||
| int | FLAG_POSSIBLE_ALL_TERMINALS | ||||||||||
| int | FLAG_POSSIBLE_IMM | ||||||||||
| int | FLAG_POSSIBLE_NON_TERMINAL | ||||||||||
| int | FLAG_POSSIBLE_RANGE | ||||||||||
| int | FLAG_POSSIBLE_VAR | ||||||||||
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| public int | flags | type of allowed leaf; must be set, because the default value (0) means none | |||||||||
| public INodeHandler | handler | ||||||||||
| public int | id | internal id assigned to this leaf; must be >= 0 | |||||||||
| public int | optionalBitsize | optional requested size of the lead; leave to 0 for any size. | |||||||||
| public BigInteger | value | for Leaf representing IEImm. |
|||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Leaf(int id, int bitsize, int flags, INodeHandler handler)
Create a wildcard leaf.
| |||||||||||
| Leaf(int id, int bitsize, int flags) | |||||||||||
|
Leaf(long value, int bitsize, int id)
Create a fixed, pre-determined immediate constant leaf.
| |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| String | toString() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
type of allowed leaf; must be set, because the default value (0) means none
internal id assigned to this leaf; must be >= 0
optional requested size of the lead; leave to 0 for any size.
Create a wildcard leaf. Can be a terminal (eg, EVar, EImm) or non-terminal (eg, complex expression).
| id | a value in [0,1000[ |
|---|---|
| handler | custom optional handler to do custom processing (custom checks) on a matched node |
Create a fixed, pre-determined immediate constant leaf.
| value | mandatory immediate value |
|---|---|
| bitsize | optional, use 0 if unknown |
| id | optional, use -1 if not needed, else an id in the [0,1000[ range; use if the leaf needs to be used in a subsequent substitution step |