Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ql04210214
jadx
提交
128fe8a8
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,发现更多精彩内容 >>
提交
128fe8a8
编写于
9月 02, 2014
作者:
A
Anton Dyachenko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
core: fix resolving the instance field in the 2nd and more nested inner class
上级
2478fc3a
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
96 addition
and
2 deletion
+96
-2
jadx-core/src/main/java/jadx/core/codegen/InsnGen.java
jadx-core/src/main/java/jadx/core/codegen/InsnGen.java
+10
-2
jadx-samples/src/main/java/jadx/samples/TestInner3.java
jadx-samples/src/main/java/jadx/samples/TestInner3.java
+86
-0
未找到文件。
jadx-core/src/main/java/jadx/core/codegen/InsnGen.java
浏览文件 @
128fe8a8
...
...
@@ -129,7 +129,15 @@ public class InsnGen {
}
private
void
instanceField
(
CodeWriter
code
,
FieldInfo
field
,
InsnArg
arg
)
throws
CodegenException
{
FieldNode
fieldNode
=
mth
.
getParentClass
().
searchField
(
field
);
ClassNode
pCls
=
mth
.
getParentClass
();
FieldNode
fieldNode
=
pCls
.
searchField
(
field
);
while
((
fieldNode
==
null
)
&&
(
pCls
.
getParentClass
()
!=
pCls
)
&&
(
pCls
.
getParentClass
()
!=
null
))
{
pCls
=
pCls
.
getParentClass
();
fieldNode
=
pCls
.
searchField
(
field
);
}
if
(
fieldNode
!=
null
)
{
FieldReplaceAttr
replace
=
fieldNode
.
get
(
AType
.
FIELD_REPLACE
);
if
(
replace
!=
null
)
{
...
...
jadx-samples/src/main/java/jadx/samples/TestInner3.java
0 → 100644
浏览文件 @
128fe8a8
package
jadx.samples
;
public
class
TestInner3
extends
AbstractTest
{
private
String
i0
;
public
class
A
{
protected
String
a
;
public
A
()
{
a
=
""
;
}
public
String
a
()
{
return
""
;
}
}
public
class
I0
{
private
String
i0
;
private
String
i1
;
public
class
I1
{
private
String
i0
;
private
String
i1
;
private
String
i2
;
public
I1
()
{
TestInner3
.
this
.
i0
=
"i0"
;
I0
.
this
.
i0
=
"i1"
;
I0
.
this
.
i1
=
"i2"
;
i0
=
"i0"
;
i1
=
"i1"
;
i2
=
"i2"
;
}
public
String
i
()
{
String
result
=
TestInner3
.
this
.
i0
+
I0
.
this
.
i0
+
I0
.
this
.
i1
+
i0
+
i1
+
i2
;
A
a
=
new
A
()
{
public
String
a
()
{
TestInner3
.
this
.
i0
=
"i1"
;
I0
.
this
.
i0
=
"i2"
;
I0
.
this
.
i1
=
"i3"
;
I1
.
this
.
i0
=
"i1"
;
I1
.
this
.
i1
=
"i2"
;
I1
.
this
.
i2
=
"i3"
;
a
=
"a"
;
return
TestInner3
.
this
.
i0
+
I0
.
this
.
i0
+
I0
.
this
.
i1
+
I1
.
this
.
i0
+
I1
.
this
.
i1
+
I1
.
this
.
i2
+
a
;
}
};
return
result
+
a
.
a
();
}
}
public
I0
()
{
TestInner3
.
this
.
i0
=
"i-"
;
i0
=
"i0"
;
i1
=
"i1"
;
}
public
String
i
()
{
String
result
=
TestInner3
.
this
.
i0
+
i0
+
i1
;
return
result
+
(
new
I1
()).
i
();
}
}
@Override
public
boolean
testRun
()
throws
Exception
{
assertTrue
((
new
I0
()).
i
().
equals
(
"i-i0i1i0i1i2i0i1i2i1i2i3i1i2i3a"
));
assertTrue
(
i0
.
equals
(
"i1"
));
return
true
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
new
TestInner2
().
testRun
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录