Изменения
Версия 3.31
Версия 3.30.2 от 25 декабря 2023 года
Версия 3.30.1 от 17 декабря 2023 года
Версия 3.30 от 17 декабря 2023 года
Версия 3.29.2 от 14 сентября 2022 года
Версия 3.29.1 от 11 августа 2022 года
Readme.html
был удалён (GitHub Issue #414).Версия 3.29 от 13 мая 2022 года
Версия 3.28 от 8 мая 2021 года
Версия 3.27 от 19 марта 2020 года
Версия 3.26 от 3 октября 2019 года
Версия 3.25 от 16 апреля 2019 года
Версия 3.24.1 от 9 декабря 2018 года
Версия 3.24 от 1 ноября 2018 года
Версия 3.23.1 от 2 июля 2018 года
Версия 3.23 от 21 июня 2018 года
Версия 3.22 от 10 октября 2017 года
Версия 3.21 от 4 октября 2016 года
javassist.tools.Callback
был изменён для совместимости с Java 1.4. Тип параметра Callback#result()
был изменён.Версия 3.20 от 25 июня 2015 года
Версия 3.19 от 6 января 2015 года
Версия 3.18 от 3 июня 2013 года
Версия 3.17.1 от 3 декабря 2012 года
Версия 3.17 от 8 ноября 2012 года
Версия 3.16.1 от 6 марта 2012 года
Версия 3.16 от 19 февраля 2012 года
javassist.bytecode.analysis.ControlFlow
.Версия 3.15 от 8 июля 2011 года
Версия 3.14 от 5 октября 2010 года
Версия 3.13 от 19 июля 2010 года
Версия 3.12.1 от 10 июня 2010 года
Версия 3.12 от 16 апреля 2010 года
Версия 3.11 от 3 июля 2009 года
Версия 3.10 от 5 марта 2009 года
Версия 3.9 от 9 октября 2008 года
Был реализован ClassPool.makeClassIfNew(InputStream).
CtNewMethod.wrapped(..) и CtNewConstructor.wrapped(..) неявно добавляют метод, подобный _added_m$0. Этот метод теперь имеет синтетический атрибут.
Была решена проблема JIRA JASSIST-66. Версия 3.8.0 от 13 июня 2008 года
Реализован javassist.bytecode.analysis.
Исправлены JASSIST-45, 47, 51, 54-57, 60, 62.
Версия 3.7.1 от 10 марта 2008 года
Версия 3.7 от 20 января 2008 года
Версия 3.6.0 от 13 сентября 2007 года
Версия 3.6.0.CR1 от 27 июля 2007 года
Поддерживается таблица карт стека, представленная начиная с Java 6.
CtClass#getDeclaredBehaviors() теперь возвращает инициализатор класса, а также методы и конструкторы.
Статус автоматического сокращения по умолчанию был отключён. Вместо сокращения эта версия Javassist сжимает структуру данных файла класса после toBytecode(). Сжатый файл класса автоматически распаковывается при необходимости. Это экономит память лучше, чем сокращение.
Устранена проблема JIRA JASSIST-33.
Версия 3.5 от 29 апреля 2007 года
Версия 3.4 от 17 ноября 2006 года
Исправлена ошибка в CodeConverter#replaceFieldRead() и CodeConverter#replaceFieldWrite(). [JBAOP-284].
Исправлена проблема синхронизации и проблема производительности в javassist.util.proxy ([JASSIST-28]). Теперь сгенерированные прокси-классы кэшируются. Чтобы отключить кеширование, установите для ProxyFactory.useCache значение false.
Версия 3.3 от 17 августа 2006 года
Изменены CtClass#toClass() и ClassPool#toClass(), чтобы принимать ProtectionDomain ([JASSIST-23]). Теперь ClassPool#toClass(CtClass, ClassLoader) не должен быть переопределён. Все подклассы ClassPool должны переопределить toClass(CtClass, ClassLoader, ProtectionDomain).
Реализованы CtClass#getAvailableAnnotations() и т. д.
Исправлена ошибка, связанная со способом работы с методом моста ([HIBERNATE-37]).
Добавлен пакет javassist.scopedpool.
Версия 3.2 от 21 июня 2006 года
Версия 3.2.0.CR2 от 9 мая 2006 года
Исправлена ошибка replace(String,ExprEditor) в javassist.expr.Expr.
Обновлён ProxyFactory getClassLoader, чтобы выбирать загрузчик классов javassit, когда суперкласс прокси имеет нулевой загрузчик классов (класс jdk/endorsed) ([JASSIST-18]).
Обновлено предложение throws javassist.util.proxy.MethodHandler, чтобы оно было Throwable, а не Exception ([JASSIST-16]).
Версия 3.2.0.CR1 от 18 марта 2006 года
Улучшения аннотаций в javassist.bytecode.MethodInfo.
Разрешить ClassPool переопределить «угадывание» используемого загрузчика классов.
Версия 3.1 от 23 февраля 2006 года
getFields(), getMethods() и getConstructors() в CtClass были изменены, чтобы возвращать не только публичные члены, но и непубличные.
Переименован getEnclosingClass() в javassist.CtClass в getEnclosingMethod().
Расширен getModifiers(), чтобы он возвращал Modifier.STATIC, если класс является статическим внутренним классом.
Тип возвращаемого значения CtClass.stopPruning() был изменён с void на boolean.
В javassist.CtConstructor реализован toMethod().
Включает новый пакет javassist.util.proxy, аналогичный Enhancer CGLIB.
Реструктурированы подпакеты Javassist.
Пакет javassist.tool был переименован в javassist.tools.
HotSwapper перемещён в javassist.util.
Несколько подпакетов были перемещены в javassist.tools.
Подпакет javassist.preproc был удалён, а исходный код перемещён в каталог примеров. * Был представлен класс $class.
Изменены параметры replaceFieldRead(), replaceFieldWrite() и redirectFieldAccess() в javassist.CodeConverter.
Компилятор не мог корректно обработать оператор try-catch. Эта ошибка была исправлена.
Учебник был немного переработан.
SerialVersionUID класс был предоставлен Бобом Ли. Спасибо.
Были добавлены CtMethod.setBody() и CtConstructor.setBody().
Был добавлен javassist.reflect.ClassMetaobject.useContextClassLoader. Если true, пакет отражения не использует Class.forName(), а использует загрузчик классов контекста, указанный пользователем.
Теперь доступны $sig и $type.
Исправлены ошибки в Bytecode.write() и read().
Учебник был переработан.
Добавлен новый пакет javassist.expr, который является заменой классического CodeConverter.
javassist.ConstParameter был изменён на javassist.CtMethod.ConstParameter.
javassist.FieldInitializer был переименован в javassist.CtField.Initializer.
Была исправлена ошибка в javassist.bytecode.Bytecode.addInvokeinterface().
В javassist.bytecode.Bytecode были изменены addGetfield(), addGetstatic(), addInvokespecial(), addInvokestatic(), addInvokevirtual() и addInvokeinterface() для обновления текущей глубины стека.
Были представлены javassist.CtMember и javassist.CtBehavior.
Был представлен javassist.CtClass.toBytecode().
Были предоставлены javassist.CtClass.toClass() и javassist.ClassPool.writeAsClass().
Был предоставлен javassist.ByteArrayClassPath.
Был предоставлен javassist.bytecode.Mnemonic.
Было исправлено несколько ошибок.
Предоставлен пакет javassist.bytecode, который представляет собой низкоуровневый API для непосредственного изменения файла класса, хотя пользователи должны иметь подробные знания о байт-коде Java.
Изменился механизм создания объектов CtClass.
Javassist.tool.Dump перемещается в пакет javassist.
Версия 1.0, июль 2001 г.
Был добавлен javassist.tool.Dump, который представляет собой средство просмотра файлов классов.
Был добавлен javassist.FiledInitializer.byNewArray(), который предназначен для инициализации поля объектом массива.
Был добавлен javassist.CodeConverter.redirectMethodCall().
Был добавлен javassist.Run.
Значительно модифицирован javassit.Loader. Удалён javassist.UserLoader. Вместо этого ClassPath был переименован из Codebase, а UserClassPath был добавлен. Теперь программисты, которые хотят настроить Loader, должны написать класс, реализующий UserClassPath, вместо UserLoader. Это изменение предназначено для совместного использования путей поиска классов между Loader и CtClass.CtClass(String).
Также были значительно изменены CtClass.addField(), addMethod(), addConstructor() и addWrapper(), чтобы они принимали CtNewMethod, CtNewConstructor или CtNewField. Статические методы для создания этих объектов были добавлены в API.
Конструкторы теперь представлены объектами CtConstructor, которые являются подклассом CtMethod.
CtClass.getUserAttribute() был удалён. Используйте CtClass.getAttribute().
Был добавлен javassist.rmi.RmiLoader.
Был добавлен javassist.reflect.Metalevel._setMetaobject(). Теперь метаобъекты можно заменять во время выполнения.
Модифицирован Javassist для правильной работы с типами массивов, появляющимися в сигнатурах.
Ошибка приводила к сбою байт-кода, если класс включал закрытый статический файл. Она была исправлена.
Был добавлен javassist.CtNewInterface.
Javassist.Loader.recordClass() был переименован в makeClass().
Javassist.UserLoader.loadClass() был изменён, чтобы принимать второй параметр.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )