dx: Support v53 class files built from language level 8 sources.
This reapplies the changes to files under src/ from (reverted)
commit ea1fbbc3c325dc42369cbe5002a039d6fbb43ebb. In addition,
this CL updates the affected test which had been forgotten in
the previous CL.
Test expectations were updated via:
make jasmin dx-tests core-libart-hostdex && \
dalvik/dx/tests/run-test --update 003-magic-version-access
This CL removes the initial blockers for processing version 53
class files with dx:
1. Increase the maximum version that DirectClassFile.isGoodVersion()
(CLASS_FILE_MAX_MAJOR_VERSION) will accept to 53.
Also updated the documentation for CLASS_FILE_MIN_MAJOR_VERSION
from the latest version of the referenced table on Wikipedia.
2. Skip/do not process module-info.class files (module descriptors).
Android / the dex file format doesn't currently support modules,
and dx can't currently parse them.
Test: dx doesn't crash when run on a modular jar representing core-all
and built with OpenJDK 9 javac -target 1.9 -source 1.9
(as well as additional unexported/draft local changes).
Test: Treehugger
Test: art/tools/buildbot-build.sh --host && dalvik/dx/tests/run-all-tests
Bug: 64447140
Bug: 38177569
Change-Id: Id23b2a113b123b866ebf8461d54bd5607380707e
13 files changed