Описание
A small library built as a Quilt mod which gives modders access to `Unsafe` (both the sun one and the jdk internal one, assuming it's exported at compile time) and easily supports runtime module exporting and trusted `MethodHandles.Lookup` calls.
### Current features
- `Unsafe.sun()` for a `sun.misc.Unsafe` instance
- `Unsafe.jdk()` for a `jdk.internal.misc.Unsafe` instance ([needs export — see below](#exporting-modules))
- `Unsafe.lookup()` for the trusted `MethodHandles.Lookup` instance
- Field getting and setting with force
- Enum widening
- Function accessor for allowing runtime use of JDK's internal ASM copy
- Shortcut methods for getting `MethodHandle` instances through the trusted lookup
- Runtime module exporting / opening
- Forceful SecurityManager setting
### Exporting modules
At runtime, call `ModuleWidener.exportModule` with either a class in the requested package, a class in the module and a string of the package, or the module instance and a string of the package.
At compile time, use `javac` compile arguments:
```groovy
tasks.withType(JavaCompile).configureEach {
it.options.compilerArgs