Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ql04210214
jadx
提交
d2811263
J
jadx
项目概览
ql04210214
/
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,发现更多精彩内容 >>
提交
d2811263
编写于
9月 27, 2014
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
core: fix processing try/catch in loop
上级
4fb6ada5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
4 deletion
+16
-4
jadx-core/src/main/java/jadx/core/dex/regions/loops/LoopRegion.java
...src/main/java/jadx/core/dex/regions/loops/LoopRegion.java
+8
-3
jadx-core/src/main/java/jadx/core/dex/visitors/regions/ProcessTryCatchRegions.java
...adx/core/dex/visitors/regions/ProcessTryCatchRegions.java
+8
-1
未找到文件。
jadx-core/src/main/java/jadx/core/dex/regions/loops/LoopRegion.java
浏览文件 @
d2811263
...
...
@@ -20,7 +20,7 @@ public final class LoopRegion extends AbstractRegion {
private
final
BlockNode
conditionBlock
;
// instruction which must be executed before condition in every loop
private
BlockNode
preCondition
;
private
I
Container
body
;
private
I
Region
body
;
private
final
boolean
conditionAtEnd
;
private
LoopType
type
;
...
...
@@ -44,11 +44,11 @@ public final class LoopRegion extends AbstractRegion {
return
conditionBlock
;
}
public
I
Container
getBody
()
{
public
I
Region
getBody
()
{
return
body
;
}
public
void
setBody
(
I
Container
body
)
{
public
void
setBody
(
I
Region
body
)
{
this
.
body
=
body
;
}
...
...
@@ -144,6 +144,11 @@ public final class LoopRegion extends AbstractRegion {
return
Collections
.
unmodifiableList
(
all
);
}
@Override
public
boolean
replaceSubBlock
(
IContainer
oldBlock
,
IContainer
newBlock
)
{
return
false
;
}
@Override
public
String
baseString
()
{
return
body
.
baseString
();
...
...
jadx-core/src/main/java/jadx/core/dex/visitors/regions/ProcessTryCatchRegions.java
浏览文件 @
d2811263
...
...
@@ -7,6 +7,7 @@ import jadx.core.dex.nodes.IRegion;
import
jadx.core.dex.nodes.MethodNode
;
import
jadx.core.dex.regions.AbstractRegion
;
import
jadx.core.dex.regions.Region
;
import
jadx.core.dex.regions.loops.LoopRegion
;
import
jadx.core.dex.trycatch.CatchAttr
;
import
jadx.core.dex.trycatch.ExceptionHandler
;
import
jadx.core.dex.trycatch.TryCatchBlock
;
...
...
@@ -121,7 +122,13 @@ public class ProcessTryCatchRegions extends AbstractRegionVisitor {
/**
* Extract all block dominated by 'dominator' to separate region and mark as try/catch block
*/
private
static
boolean
wrapBlocks
(
IRegion
region
,
TryCatchBlock
tb
,
BlockNode
dominator
)
{
private
static
boolean
wrapBlocks
(
IRegion
replaceRegion
,
TryCatchBlock
tb
,
BlockNode
dominator
)
{
IRegion
region
=
replaceRegion
;
if
(
region
instanceof
LoopRegion
)
{
LoopRegion
loop
=
(
LoopRegion
)
region
;
region
=
loop
.
getBody
();
}
Region
newRegion
=
new
Region
(
region
);
List
<
IContainer
>
subBlocks
=
region
.
getSubBlocks
();
for
(
IContainer
cont
:
subBlocks
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录