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
fe41174b
Commit
fe41174b
authored
Apr 09, 2019
by
Ahmed Ashour
Committed by
skylot
Apr 09, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add generic method information to .jcst (PR #564)
parent
513766d4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
316 additions
and
39 deletions
+316
-39
android-5.1.jar
jadx-core/clsp-data/android-5.1.jar
+0
-0
ClsSet.java
jadx-core/src/main/java/jadx/core/clsp/ClsSet.java
+262
-33
ConvertToClsSet.java
jadx-core/src/main/java/jadx/core/clsp/ConvertToClsSet.java
+3
-1
NClass.java
jadx-core/src/main/java/jadx/core/clsp/NClass.java
+9
-0
NMethod.java
jadx-core/src/main/java/jadx/core/clsp/NMethod.java
+37
-0
ArgType.java
...rc/main/java/jadx/core/dex/instructions/args/ArgType.java
+4
-4
InputFile.java
jadx-core/src/main/java/jadx/core/utils/files/InputFile.java
+1
-1
No files found.
jadx-core/clsp-data/android-5.1.jar
View file @
fe41174b
No preview for this file type
jadx-core/src/main/java/jadx/core/clsp/ClsSet.java
View file @
fe41174b
This diff is collapsed.
Click to expand it.
jadx-core/src/main/java/jadx/core/clsp/ConvertToClsSet.java
View file @
fe41174b
...
...
@@ -2,6 +2,8 @@ package jadx.core.clsp;
import
java.io.File
;
import
java.io.IOException
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -28,7 +30,7 @@ public class ConvertToClsSet {
usage
();
System
.
exit
(
1
);
}
File
output
=
new
File
(
args
[
0
]);
Path
output
=
Paths
.
get
(
args
[
0
]);
List
<
InputFile
>
inputFiles
=
new
ArrayList
<>(
args
.
length
-
1
);
for
(
int
i
=
1
;
i
<
args
.
length
;
i
++)
{
...
...
jadx-core/src/main/java/jadx/core/clsp/NClass.java
View file @
fe41174b
...
...
@@ -7,6 +7,7 @@ public class NClass {
private
final
String
name
;
private
NClass
[]
parents
;
private
NMethod
[]
methods
;
private
final
int
id
;
public
NClass
(
String
name
,
int
id
)
{
...
...
@@ -51,4 +52,12 @@ public class NClass {
public
String
toString
()
{
return
name
;
}
public
void
setMethods
(
NMethod
[]
methods
)
{
this
.
methods
=
methods
;
}
public
NMethod
[]
getMethods
()
{
return
methods
;
}
}
jadx-core/src/main/java/jadx/core/clsp/NMethod.java
0 → 100644
View file @
fe41174b
package
jadx
.
core
.
clsp
;
import
jadx.core.dex.instructions.args.ArgType
;
/**
* Generic method node in classpath graph.
*/
public
class
NMethod
{
private
final
String
shortId
;
private
final
ArgType
[]
argType
;
private
final
ArgType
retType
;
private
final
boolean
varArgs
;
public
NMethod
(
String
shortId
,
ArgType
[]
argType
,
ArgType
retType
,
boolean
varArgs
)
{
this
.
shortId
=
shortId
;
this
.
argType
=
argType
;
this
.
retType
=
retType
;
this
.
varArgs
=
varArgs
;
}
public
String
getShortId
()
{
return
shortId
;
}
public
ArgType
[]
getArgType
()
{
return
argType
;
}
public
ArgType
getReturnType
()
{
return
retType
;
}
public
boolean
isVarArgs
()
{
return
varArgs
;
}
}
jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java
View file @
fe41174b
...
...
@@ -75,8 +75,8 @@ public abstract class ArgType {
return
new
WildcardType
(
OBJECT
,
0
);
}
public
static
ArgType
wildcard
(
ArgType
obj
,
int
bound
)
{
return
new
WildcardType
(
obj
,
bound
);
public
static
ArgType
wildcard
(
ArgType
obj
,
int
bound
s
)
{
return
new
WildcardType
(
obj
,
bound
s
);
}
public
static
ArgType
generic
(
String
sign
)
{
...
...
@@ -214,10 +214,10 @@ public abstract class ArgType {
private
final
ArgType
type
;
private
final
int
bounds
;
public
WildcardType
(
ArgType
obj
,
int
bound
)
{
public
WildcardType
(
ArgType
obj
,
int
bound
s
)
{
super
(
OBJECT
.
getObject
());
this
.
type
=
obj
;
this
.
bounds
=
bound
;
this
.
bounds
=
bound
s
;
}
@Override
...
...
jadx-core/src/main/java/jadx/core/utils/files/InputFile.java
View file @
fe41174b
...
...
@@ -36,7 +36,7 @@ public class InputFile {
public
static
void
addFilesFrom
(
File
file
,
List
<
InputFile
>
list
,
boolean
...
skipSources
)
throws
IOException
,
DecodeException
{
InputFile
inputFile
=
new
InputFile
(
file
);
inputFile
.
searchDexFiles
(
skipSources
[
0
]);
inputFile
.
searchDexFiles
(
skipSources
.
length
==
0
?
false
:
skipSources
[
0
]);
list
.
add
(
inputFile
);
}
...
...
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