
Dirty Quilt Hacks
Активный0.0
Установок
Последнее обновление
Версии
Dirty Quilt Hacks
Эта небольшая библиотека разработана как мод для Quilt и предоставляет разработчикам модов доступ к мощным инструментам рефлексии и низкоуровневого программирования.
Основные возможности
- Получение экземпляров
Unsafe
из пакетовsun.misc
иjdk.internal.misc
- Доступ к доверенному экземпляру
MethodHandles.Lookup
- Принудительное получение и установка значений полей
- Расширение функциональности перечислений (enum)
- Использование внутренней копии ASM от JDK во время выполнения
- Упрощённые методы для получения экземпляров
MethodHandle
через доверенный поиск - Экспорт и открытие модулей в реальном времени
- Принудительная настройка SecurityManager
Экспорт модулей
Во время выполнения можно использовать метод ModuleWidener.exportModule
, передавая ему класс из нужного пакета, класс из модуля и строку с именем пакета, либо сам экземпляр модуля и строку с именем пакета.
При компиляции используйте аргументы компилятора javac
:
// Этот код нельзя использовать с полем release. Вместо этого используйте поля source/target compatibility в объекте java.
tasks.withType(JavaCompile).configureEach {
it.options.compilerArgs << "addExports" << "TheModuleGoesHere/ThePackageToExport=ALL-UNNAMED"
}