Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爽朗的琪琪
jadx
提交
66e6613d
J
jadx
项目概览
爽朗的琪琪
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
66e6613d
编写于
12月 01, 2020
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip: handle empty loop body (#1040)
上级
5c75f249
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
56 addition
and
1 deletion
+56
-1
jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java
...main/java/jadx/core/dex/visitors/regions/RegionMaker.java
+6
-1
jadx-core/src/test/java/jadx/tests/integration/trycatch/TestLoopInTryCatch.java
...a/jadx/tests/integration/trycatch/TestLoopInTryCatch.java
+16
-0
jadx-core/src/test/smali/trycatch/TestLoopInTryCatch.smali
jadx-core/src/test/smali/trycatch/TestLoopInTryCatch.smali
+34
-0
未找到文件。
jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java
浏览文件 @
66e6613d
...
...
@@ -224,7 +224,12 @@ public class RegionMaker {
}
stack
.
addExit
(
out
);
BlockNode
loopBody
=
condInfo
.
getThenBlock
();
Region
body
=
makeRegion
(
loopBody
,
stack
);
Region
body
;
if
(
loopBody
.
contains
(
AFlag
.
LOOP_START
))
{
body
=
new
Region
(
loopRegion
);
}
else
{
body
=
makeRegion
(
loopBody
,
stack
);
}
// add blocks from loop start to first condition block
BlockNode
conditionBlock
=
condInfo
.
getIfBlock
();
if
(
loopStart
!=
conditionBlock
)
{
...
...
jadx-core/src/test/java/jadx/tests/integration/trycatch/TestLoopInTryCatch.java
0 → 100644
浏览文件 @
66e6613d
package
jadx.tests.integration.trycatch
;
import
jadx.tests.api.SmaliTest
;
import
org.junit.jupiter.api.Test
;
import
static
jadx
.
tests
.
api
.
utils
.
assertj
.
JadxAssertions
.
assertThat
;
public
class
TestLoopInTryCatch
extends
SmaliTest
{
@Test
public
void
test
()
{
assertThat
(
getClassNodeFromSmali
())
.
code
()
.
containsOne
(
"while ("
);
}
}
jadx-core/src/test/smali/trycatch/TestLoopInTryCatch.smali
0 → 100644
浏览文件 @
66e6613d
.class public Ltrycatch/TestLoopInTryCatch;
.super Ljava/lang/Object;
.source "SourceFile"
.method public static test()V
.registers 6
:try_start
:loop
const/4 v1, 0x0
const/4 v2, 0x1
if-eq v1, v2, :cond
const/4 v3, 0x2
if-eq v1, v3, :cond
goto :loop
:cond
if-eq v1, v2, :end
return-void
:try_end
.catch Ljava/io/IOException; {:try_start .. :try_end} :end
:end
return-void
.end method
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录