From d6a468f0fc17eb41e249906ca9816f2740d6a214 Mon Sep 17 00:00:00 2001 From: Skylot Date: Mon, 17 Jun 2013 23:06:18 +0400 Subject: [PATCH] Don't show not important warnings --- src/main/java/jadx/dex/nodes/ClassNode.java | 2 +- .../jadx/dex/visitors/regions/CheckRegions.java | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/jadx/dex/nodes/ClassNode.java b/src/main/java/jadx/dex/nodes/ClassNode.java index efe2c9848..1a82a6b10 100644 --- a/src/main/java/jadx/dex/nodes/ClassNode.java +++ b/src/main/java/jadx/dex/nodes/ClassNode.java @@ -91,7 +91,7 @@ public class ClassNode extends AttrNode implements ILoadable { String fileName = dex.getString(sfIdx); if(!this.getFullName().contains(fileName.replace(".java", ""))) { this.getAttributes().add(new SourceFileAttr(fileName)); - LOG.info("TODO: move class {} to {} file", this, fileName); + LOG.debug("Class '{}' compiled from '{}'", this, fileName); } } diff --git a/src/main/java/jadx/dex/visitors/regions/CheckRegions.java b/src/main/java/jadx/dex/visitors/regions/CheckRegions.java index a692427b5..9e54f3769 100644 --- a/src/main/java/jadx/dex/visitors/regions/CheckRegions.java +++ b/src/main/java/jadx/dex/visitors/regions/CheckRegions.java @@ -1,5 +1,6 @@ package jadx.dex.visitors.regions; +import jadx.Consts; import jadx.dex.attributes.AttributeFlag; import jadx.dex.nodes.BlockNode; import jadx.dex.nodes.IBlock; @@ -37,8 +38,19 @@ public class CheckRegions extends AbstractVisitor { }; DepthRegionTraverser.traverseAll(mth, collectBlocks); - if (mth.getBasicBlocks().size() != blocksInRegions.size()) - mth.getAttributes().add(AttributeFlag.INCONSISTENT_CODE); + if (mth.getBasicBlocks().size() != blocksInRegions.size()) { + for (BlockNode block : mth.getBasicBlocks()) { + if (!blocksInRegions.contains(block)) { + if (!block.getInstructions().isEmpty()) { + mth.getAttributes().add(AttributeFlag.INCONSISTENT_CODE); + if (Consts.DEBUG) + LOG.debug("Missing block: {} in {}", block, mth); + else + break; + } + } + } + } // check loop conditions IRegionVisitor checkLoops = new AbstractRegionVisitor() {