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"
}