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
d0699286
Commit
d0699286
authored
Mar 02, 2019
by
Skylot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: check if synthetic class not yet processed but must be removed (#450)
parent
dd13edf2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
5 deletions
+9
-5
ClassModifier.java
...e/src/main/java/jadx/core/dex/visitors/ClassModifier.java
+9
-5
No files found.
jadx-core/src/main/java/jadx/core/dex/visitors/ClassModifier.java
View file @
d0699286
...
...
@@ -47,10 +47,7 @@ public class ClassModifier extends AbstractVisitor {
for
(
ClassNode
inner
:
cls
.
getInnerClasses
())
{
visit
(
inner
);
}
if
(
cls
.
getAccessFlags
().
isSynthetic
()
&&
cls
.
getFields
().
isEmpty
()
&&
cls
.
getMethods
().
isEmpty
()
&&
cls
.
getInnerClasses
().
isEmpty
())
{
if
(
isEmptySyntheticClass
(
cls
))
{
cls
.
add
(
AFlag
.
DONT_GENERATE
);
return
false
;
}
...
...
@@ -62,6 +59,13 @@ public class ClassModifier extends AbstractVisitor {
return
false
;
}
private
static
boolean
isEmptySyntheticClass
(
ClassNode
cls
)
{
return
cls
.
getAccessFlags
().
isSynthetic
()
&&
cls
.
getFields
().
isEmpty
()
&&
cls
.
getMethods
().
isEmpty
()
&&
cls
.
getInnerClasses
().
isEmpty
();
}
private
void
markAnonymousClass
(
ClassNode
cls
)
{
if
(
cls
.
isAnonymous
())
{
cls
.
add
(
AFlag
.
ANONYMOUS_CLASS
);
...
...
@@ -173,7 +177,7 @@ public class ClassModifier extends AbstractVisitor {
return
true
;
}
}
else
{
if
(
argCls
.
contains
(
AFlag
.
DONT_GENERATE
))
{
if
(
argCls
.
contains
(
AFlag
.
DONT_GENERATE
)
||
isEmptySyntheticClass
(
argCls
)
)
{
return
true
;
}
}
...
...
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