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
ea346145
Unverified
Commit
ea346145
authored
Jan 02, 2018
by
skylot
Committed by
GitHub
Jan 02, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #194 from wuyongzheng/master
fixed a few bugs resulting program hang
parents
a01c379c
23305421
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
7 deletions
+10
-7
JadxDecompiler.java
jadx-core/src/main/java/jadx/api/JadxDecompiler.java
+3
-3
ClspGraph.java
jadx-core/src/main/java/jadx/core/clsp/ClspGraph.java
+1
-1
BlockUtils.java
jadx-core/src/main/java/jadx/core/utils/BlockUtils.java
+6
-3
No files found.
jadx-core/src/main/java/jadx/api/JadxDecompiler.java
View file @
ea346145
...
...
@@ -66,9 +66,9 @@ public final class JadxDecompiler {
private
BinaryXMLParser
xmlParser
;
private
Map
<
ClassNode
,
JavaClass
>
classesMap
=
new
HashMap
<
ClassNode
,
JavaClass
>();
private
Map
<
MethodNode
,
JavaMethod
>
methodsMap
=
new
HashMap
<
MethodNode
,
JavaMethod
>();
private
Map
<
FieldNode
,
JavaField
>
fieldsMap
=
new
HashMap
<
FieldNode
,
JavaField
>();
private
Map
<
ClassNode
,
JavaClass
>
classesMap
=
new
java
.
util
.
concurrent
.
Concurrent
HashMap
<
ClassNode
,
JavaClass
>();
private
Map
<
MethodNode
,
JavaMethod
>
methodsMap
=
new
java
.
util
.
concurrent
.
Concurrent
HashMap
<
MethodNode
,
JavaMethod
>();
private
Map
<
FieldNode
,
JavaField
>
fieldsMap
=
new
java
.
util
.
concurrent
.
Concurrent
HashMap
<
FieldNode
,
JavaField
>();
public
JadxDecompiler
()
{
this
(
new
JadxArgs
());
...
...
jadx-core/src/main/java/jadx/core/clsp/ClspGraph.java
View file @
ea346145
...
...
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
public
class
ClspGraph
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ClspGraph
.
class
);
private
final
Map
<
String
,
Set
<
String
>>
ancestorCache
=
new
WeakHashMap
<
String
,
Set
<
String
>>(
);
private
final
Map
<
String
,
Set
<
String
>>
ancestorCache
=
Collections
.
synchronizedMap
(
new
WeakHashMap
<
String
,
Set
<
String
>>()
);
private
Map
<
String
,
NClass
>
nameMap
;
private
final
Set
<
String
>
missingClasses
=
new
HashSet
<
String
>();
...
...
jadx-core/src/main/java/jadx/core/utils/BlockUtils.java
View file @
ea346145
...
...
@@ -453,15 +453,18 @@ public class BlockUtils {
*/
public
static
List
<
BlockNode
>
collectBlocksDominatedBy
(
BlockNode
dominator
,
BlockNode
start
)
{
List
<
BlockNode
>
result
=
new
ArrayList
<
BlockNode
>();
collectWhileDominates
(
dominator
,
start
,
result
);
HashSet
<
BlockNode
>
visited
=
new
HashSet
<
BlockNode
>();
collectWhileDominates
(
dominator
,
start
,
result
,
visited
);
return
result
;
}
private
static
void
collectWhileDominates
(
BlockNode
dominator
,
BlockNode
child
,
List
<
BlockNode
>
result
)
{
private
static
void
collectWhileDominates
(
BlockNode
dominator
,
BlockNode
child
,
List
<
BlockNode
>
result
,
HashSet
<
BlockNode
>
visited
)
{
if
(
visited
.
contains
(
child
))
return
;
visited
.
add
(
child
);
for
(
BlockNode
node
:
child
.
getCleanSuccessors
())
{
if
(
node
.
isDominator
(
dominator
))
{
result
.
add
(
node
);
collectWhileDominates
(
dominator
,
node
,
result
);
collectWhileDominates
(
dominator
,
node
,
result
,
visited
);
}
}
}
...
...
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