Package jadx.core.utils
Class DebugChecks
java.lang.Object
jadx.core.utils.DebugChecks
Check invariants and information consistency for blocks, instructions, registers, SSA variables.
These checks are very expensive and executed only in tests.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidcheckBlock(MethodNode mth, BlockNode block, Supplier<String> source) private static voidcheckInsn(MethodNode mth, BlockNode block, InsnNode insn) static voidcheckMethod(MethodNode mth) private static voidcheckPHI(MethodNode mth) private static voidcheckPhiArg(MethodNode mth, PhiInsn phiInsn, RegisterArg arg, Supplier<String> argName) private static voidcheckRegisterArg(MethodNode mth, RegisterArg reg) private static voidcheckSSAVars(MethodNode mth) private static voidcheckVar(MethodNode mth, InsnNode insn, RegisterArg reg) private static booleanhasTmpEdge(BlockNode start, BlockNode end) static List<IDexTreeVisitor> insertPasses(List<IDexTreeVisitor> passes) private static booleaninsnMissing(MethodNode mth, InsnNode insn) static voidstatic voidrunChecksAfterVisitor(MethodNode mth, String visitor)
-
Field Details
-
IGNORE_CHECKS
-
-
Constructor Details
-
DebugChecks
public DebugChecks()
-
-
Method Details
-
insertPasses
-
runChecksAfterVisitor
-
checkMethod
-
checkInsn
-
hasTmpEdge
-
checkBlock
-
checkVar
-
checkSSAVars
-
insnMissing
-
checkRegisterArg
-
quickCheckPhiInsn
-
checkPhiArg
private static void checkPhiArg(MethodNode mth, PhiInsn phiInsn, RegisterArg arg, Supplier<String> argName) -
checkPHI
-