Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
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
ba1524dc
Commit
ba1524dc
authored
Apr 18, 2013
by
Skylot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix arrays parsing in signature
parent
0ee499c5
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
7 deletions
+11
-7
ClassInfo.java
src/main/java/jadx/dex/info/ClassInfo.java
+1
-1
ArgType.java
src/main/java/jadx/dex/instructions/args/ArgType.java
+8
-6
TestGenerics.java
src/samples/java/jadx/samples/TestGenerics.java
+2
-0
No files found.
src/main/java/jadx/dex/info/ClassInfo.java
View file @
ba1524dc
...
@@ -53,7 +53,7 @@ public final class ClassInfo {
...
@@ -53,7 +53,7 @@ public final class ClassInfo {
this
.
type
=
type
;
this
.
type
=
type
;
String
fullObjectName
=
type
.
getObject
();
String
fullObjectName
=
type
.
getObject
();
assert
fullObjectName
.
indexOf
(
'/'
)
==
-
1
;
assert
fullObjectName
.
indexOf
(
'/'
)
==
-
1
:
"Raw type: "
+
type
;
boolean
notObfuscated
=
dex
.
root
().
getJadxArgs
().
isNotObfuscated
();
boolean
notObfuscated
=
dex
.
root
().
getJadxArgs
().
isNotObfuscated
();
String
name
;
String
name
;
...
...
src/main/java/jadx/dex/instructions/args/ArgType.java
View file @
ba1524dc
...
@@ -399,13 +399,16 @@ public abstract class ArgType {
...
@@ -399,13 +399,16 @@ public abstract class ArgType {
if
(
b
==
-
1
)
if
(
b
==
-
1
)
return
parse
(
sign
);
return
parse
(
sign
);
String
obj
=
sign
.
substring
(
0
,
b
);
if
(
sign
.
charAt
(
0
)
==
'['
)
return
array
(
parseSignature
(
sign
.
substring
(
1
)));
String
obj
=
sign
.
substring
(
0
,
b
)
+
";"
;
String
genericsStr
=
sign
.
substring
(
b
+
1
,
sign
.
length
()
-
2
);
String
genericsStr
=
sign
.
substring
(
b
+
1
,
sign
.
length
()
-
2
);
List
<
ArgType
>
generics
=
parseSignatureList
(
genericsStr
);
List
<
ArgType
>
generics
=
parseSignatureList
(
genericsStr
);
if
(
generics
!=
null
)
if
(
generics
!=
null
)
return
generic
(
obj
+
";"
,
generics
.
toArray
(
new
ArgType
[
generics
.
size
()]));
return
generic
(
obj
,
generics
.
toArray
(
new
ArgType
[
generics
.
size
()]));
else
else
return
object
(
obj
+
";"
);
return
object
(
obj
);
}
}
public
static
List
<
ArgType
>
parseSignatureList
(
String
str
)
{
public
static
List
<
ArgType
>
parseSignatureList
(
String
str
)
{
...
@@ -418,12 +421,11 @@ public abstract class ArgType {
...
@@ -418,12 +421,11 @@ public abstract class ArgType {
}
}
private
static
List
<
ArgType
>
parseSignatureListInner
(
String
str
,
boolean
parsePrimitives
)
{
private
static
List
<
ArgType
>
parseSignatureListInner
(
String
str
,
boolean
parsePrimitives
)
{
List
<
ArgType
>
signs
=
new
ArrayList
<
ArgType
>(
3
);
if
(
str
.
equals
(
"*"
))
{
if
(
str
.
equals
(
"*"
))
{
signs
.
add
(
UNKNOWN
);
return
Arrays
.
asList
(
UNKNOWN
);
return
signs
;
}
}
List
<
ArgType
>
signs
=
new
ArrayList
<
ArgType
>(
3
);
int
obj
=
0
;
int
obj
=
0
;
int
objStart
=
0
;
int
objStart
=
0
;
int
gen
=
0
;
int
gen
=
0
;
...
...
src/samples/java/jadx/samples/TestGenerics.java
View file @
ba1524dc
...
@@ -9,6 +9,8 @@ public class TestGenerics extends AbstractTest {
...
@@ -9,6 +9,8 @@ public class TestGenerics extends AbstractTest {
public
List
<
String
>
strings
;
public
List
<
String
>
strings
;
public
Class
<?>[]
classes
;
public
static
class
GenericClass
implements
Comparable
<
String
>
{
public
static
class
GenericClass
implements
Comparable
<
String
>
{
@Override
@Override
public
int
compareTo
(
String
o
)
{
public
int
compareTo
(
String
o
)
{
...
...
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