java.lang.Object | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.cfg.CFGVerifier<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction> |
CFG validation. Very expensive computations. Use in DEBUG mode only.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
protected CFG<InsnType extends IInstruction> | cfg |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CFGVerifier(CFG<InsnType> cfg) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void |
verify()
A CFG is considered valid if:
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void |
customVerification()
Custom validation method that may be overridden by subclasses which wish to validate the CFG
further.
| ||||||||||
boolean | shouldExpectFallthrough(InsnType insn) |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
A CFG is considered valid if:
Note: duplicate edges can happen at native level due to JCC-to-fallthrough.
CfgVerificationException | thrown if the CFG verification failed |
---|
Custom validation method that may be overridden by subclasses which wish to validate the CFG
further. This method is called by verify()
as a first validation step. The default
implementation does nothing (return true).
CfgVerificationException | thrown if the CFG is deemed invalid |
---|