Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
J
jadx
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open-source
jadx
Commits
ecaa87e7
Commit
ecaa87e7
authored
Apr 08, 2019
by
Ahmed Ashour
Committed by
skylot
Apr 08, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: remove redundant array type when initialized with declaration (PR #566)
parent
0a08d8b6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
3 deletions
+39
-3
InsnGen.java
jadx-core/src/main/java/jadx/core/codegen/InsnGen.java
+4
-2
TestArrayInit.java
...est/java/jadx/tests/integration/arrays/TestArrayInit.java
+34
-0
TestInline2.java
.../test/java/jadx/tests/integration/inline/TestInline2.java
+1
-1
No files found.
jadx-core/src/main/java/jadx/core/codegen/InsnGen.java
View file @
ecaa87e7
...
@@ -532,8 +532,10 @@ public class InsnGen {
...
@@ -532,8 +532,10 @@ public class InsnGen {
}
}
private
void
filledNewArray
(
FilledNewArrayNode
insn
,
CodeWriter
code
)
throws
CodegenException
{
private
void
filledNewArray
(
FilledNewArrayNode
insn
,
CodeWriter
code
)
throws
CodegenException
{
code
.
add
(
"new "
);
if
(!
insn
.
contains
(
AFlag
.
DECLARE_VAR
))
{
useType
(
code
,
insn
.
getArrayType
());
code
.
add
(
"new "
);
useType
(
code
,
insn
.
getArrayType
());
}
code
.
add
(
'{'
);
code
.
add
(
'{'
);
int
c
=
insn
.
getArgsCount
();
int
c
=
insn
.
getArgsCount
();
for
(
int
i
=
0
;
i
<
c
;
i
++)
{
for
(
int
i
=
0
;
i
<
c
;
i
++)
{
...
...
jadx-core/src/test/java/jadx/tests/integration/arrays/TestArrayInit.java
0 → 100644
View file @
ecaa87e7
package
jadx
.
tests
.
integration
.
arrays
;
import
jadx.core.dex.nodes.ClassNode
;
import
jadx.tests.api.IntegrationTest
;
import
org.junit.jupiter.api.Test
;
import
static
org
.
hamcrest
.
CoreMatchers
.
containsString
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
public
class
TestArrayInit
extends
IntegrationTest
{
public
static
class
TestCls
{
byte
[]
bytes
;
@SuppressWarnings
(
"unused"
)
public
void
test
()
{
byte
[]
arr
=
new
byte
[]{
10
,
20
,
30
};
}
public
void
test2
()
{
bytes
=
new
byte
[]{
10
,
20
,
30
};
}
}
@Test
public
void
test
()
{
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
String
code
=
cls
.
getCode
().
toString
();
assertThat
(
code
,
containsString
(
"= {10, 20, 30};"
));
assertThat
(
code
,
containsString
(
"this.bytes = new byte[]{10, 20, 30};"
));
}
}
jadx-core/src/test/java/jadx/tests/integration/inline/TestInline2.java
View file @
ecaa87e7
...
@@ -29,7 +29,7 @@ public class TestInline2 extends IntegrationTest {
...
@@ -29,7 +29,7 @@ public class TestInline2 extends IntegrationTest {
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
ClassNode
cls
=
getClassNode
(
TestCls
.
class
);
String
code
=
cls
.
getCode
().
toString
();
String
code
=
cls
.
getCode
().
toString
();
assertThat
(
code
,
containsOne
(
"int[] a =
new int[]
{1, 2, 4, 6, 8};"
));
assertThat
(
code
,
containsOne
(
"int[] a = {1, 2, 4, 6, 8};"
));
assertThat
(
code
,
containsOne
(
"for (int i = 0; i < a.length; i += 2) {"
));
assertThat
(
code
,
containsOne
(
"for (int i = 0; i < a.length; i += 2) {"
));
assertThat
(
code
,
containsOne
(
"for (long i2 = (long) b; i2 > 0; i2--) {"
));
assertThat
(
code
,
containsOne
(
"for (long i2 = (long) b; i2 > 0; i2--) {"
));
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment