Fix assembling disassembled files failing #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that a file disassembled with Proguard Assembler cannot be assembled again, it results in a
ParseException
. I tried tracing the source of this issue and it appears to be that the disassembler outputs fully qualified types for some things while the parser does not. An example of this is the switch case at line 570 ofpga-lib/src/main/java/com/guardsquare/proguard/assembler/Parser.java
, it makes use ofAssemblyConstants.TYPE_METHOD_HANDLE
which is defined as just"MethodHandle"
.This PR attempts to resolve the issues that come from trying to reassemble files first disassembled using the disassembler by adjusting some of these constants to use the fully qualified names.
I have currently placed this PR in draft because I don't really know how correct this really is as I have only briefly looked at the code trying to figure out the issue.