You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This allows SAW to deal with JDK 9 or later, which packages its standard
library not in a JAR file, but in a JIMAGE file. Extracting `.class` files
from JIMAGE files proves to be surprisingly tricky, and I've carefully
documented the intricacies of doing so in
`Note [Loading classes from JIMAGE files]` in `SAWScript.JavaCodebase`.
This fixes#861.
Remaining tasks:
* Ideally, the code in `SAWScript.JavaCodebase` would be upstreamed to
`crucible-jvm`, where the all-important `Codebase` data type lives.
Until that happens, I needed to introduce some ugly hacks in order to make
everything typecheck. In particular, the (hopefully temporary)
`SAWScript.JavaCodebase` module defines a version of `Codebase` that keeps
track of JIMAGE-related paths.
Other things:
* I removed the dependency on the `xdg-basedir`, as it was unused. This
dependency was likely added quite some time ago, and it appears that
`saw-script` switched over to using XDG-related functionality from the
`directory` library since then. I opted to use `directory` to find the
`.cache` directory as well, so I have made that clear in the `.cabal` file.
* The `biJavaCodebase :: Codebase` field of `BuiltinContext` is completely
unused, which I noticed when making changes to the `Codebase` type. Let's
just remove it. This fixes#1003.
0 commit comments