Вопросы по теме 'bytecode-manipulation'

Как мне преобразовать между прямым порядком и обратным порядком байтов в C ++?
Как мне преобразовать между прямым порядком и обратным порядком байтов в C ++? Я использую VC ++ 6.0. Когда я использовал функцию _byteswap_ulong (), для нее требуется файл заголовка intrin.h. Когда я включаю заголовок, он сообщает об ошибке...
8896 просмотров

Есть ли редактор java classfile/bytecode для редактирования инструкций?
Есть ли утилита (или подключаемый модуль eclipse) для редактирования файлов классов Java ? Я хотел бы манипулировать байт-кодом файла класса java, не перекомпилируя его и не имея полного пути сборки. Например. переименовывать методы,...
28600 просмотров

автоматическое завершение сгенерированного кода Java в eclipse
Я хотел бы сделать автоматически сгенерированный код доступным для редактора eclipse для автоматического завершения Следующие случаи: 1) XML-документ, описывающий модель данных и процессор Java, создает исходный код Java. Сейчас мне нужно...
319 просмотров

Оптимизация оценки дерева логической логики
У меня есть много истинных/ложных результатов, сохраненных в виде битов в массивах long[] . У меня их огромное количество (миллионы и миллионы лонгов). Например, скажем, у меня есть только пять результатов, я бы получил: +----- condition 5 is...
2940 просмотров

Рекомендуемая библиотека манипулирования байт-кодом для перезаписи файлов классов для изменения типов e. грамм. полей?
Я ищу способ создать файл класса из существующего, позволяя мне заменить тип поля другим типом. Рассмотрим этот пример фрагмента, в котором я хотел бы, чтобы каждое использование int bar ... class Foo { private final int bar; public...
452 просмотров

Инструментарий для добавления ведения журнала в код Scala
В Java мы можем использовать AspectJ для прозрачного добавления журналирования в классы Java (или, возможно, использовать другие инструменты инструментирования байт-кода). Теперь мне интересно, как прозрачно добавить журналирование в функции Scala...
794 просмотров

Есть ли инструмент для работы с байтовым кодом высокого уровня, поддерживающий Scala, такой как Javassist?
Я ищу инструмент для работы с байт-кодом высокого уровня, такой как Javassist, но он понимает некоторые особенности Scala. Инструменты манипулирования байт-кодом нижнего уровня должны быть относительно агностическими, но для моих случаев...
857 просмотров

объединить несколько последовательностей байт-кода метода Java
Мне интересно, можно ли объединить несколько последовательностей байт-кода метода java в один метод. Предположим, у нас есть метод A, который вызывает еще два метода B1 и B2. A bytecode sequences: ..... invokevirtual B1 iload .. .......
236 просмотров

Трассировка аргументов вызова метода в байт-коде с использованием ASM
Как я могу проверить байт-код класса (используя что-то вроде ASM), чтобы узнать, какие начальные значения были переданы методу? Например: учитывая некоторые методы, которые передают значения друг другу: void m1(Object o) { Object v = o;...
1447 просмотров

Java BuilderTestPattern - как избежать шаблонного кода?
В моем проекте много ценных объектов. Я использую проект lombok, чтобы исключить некоторые шаблоны, поэтому мои объекты-значения выглядят следующим образом: @Value @Accessors(fluent = true) public class ValueObject { private final String...
1569 просмотров

Сериализация без отражения в скомпилированных классах
Из-за ограничения на клиентской JVM я не могу использовать ни один из популярных сериализаторов из-за того, что не поддерживается отражение. Я ищу инструмент, который выполняет манипуляции с байт-кодом для сериализации путем внедрения методов записи...
1096 просмотров

Как я могу запустить DataNucleus Bytecode Enhancer из SBT?
Я собрал доказательство концепции, целью которой является предоставление скелета многомодульного проекта SBT, в котором используется DataNucleus JDO Enhancer со смешанными исходными кодами Java и Scala. Трудность возникает, когда я пытаюсь улучшить...
277 просмотров

javassist: невозможно проанализировать тело метода с параметризованными картами/списками
Я пытаюсь динамически генерировать классы в своем приложении и столкнулся с этим ограничением/ошибкой? с явасистом. Кажется, javassist не может разобрать исходное тело, если оно имеет карты/список с параметризованными типами. eg : public...
339 просмотров

Отладка байт-кода Python, когда источник недоступен
Мне нужно отладить скомпилированный скрипт Python (файл pyc). Первоисточник недоступен. Есть ли способ отладить байт-код напрямую? Самое близкое, что я могу найти, это собрать python с LLTRACE включен. Недостатком этого метода является то,...
2169 просмотров

Javassist: создайте класс, который реализует общий интерфейс
Я пытаюсь создать класс с javassit, который реализует универсальный интерфейс, передавая общий аргумент, но пока безуспешно. Мне известен ответ Javassist: создание интерфейса который расширяет другой интерфейс с помощью шаблонов и руководство...
2319 просмотров

invokestatic для статического метода в интерфейсе
Разобрав некоторый код Java 8, я обнаружил, что некоторые invokestatic вызовы статических методов в интерфейсе (в частности, это был java.util.function.Function.identity() ) используют InterfaceMethodRef в пуле const; вот что javap -s -c -v p...
1323 просмотров

ASM Tree API: Использование LDC для загрузки константы Class‹?›
Я пишу программу на ASM, которая использует Tree API для добавления байт-кода к некоторым методам. Я использовал ASMifier для генерации кода, необходимого для создания определенного метода, но у меня возникли проблемы со следующей строкой:...
1072 просмотров

ClassWriter COMPUTE_FRAMES в ASM
Я пытался понять, как фреймы карты стека работают в Java, играя с переходами в ASM. Я создал простой метод, чтобы попробовать кое-что: (разобрано с Krakatau): L0: ldc 'hello' L2: astore_1 L3: getstatic Field...
678 просмотров

Байт-код Java - ASM - Получить смещение метки
Я пытаюсь получить смещения всех меток в методе. Я попытался использовать следующий код: private static ArrayList<Integer> GetLabelOffsets(MethodNode methodNode) { ArrayList<Integer> labelOffsets = new ArrayList<>();...
1004 просмотров

определение происхождения ``кода метода слишком большой``
Итак, я столкнулся с MY: WARNING cannot transform class XYZ java.lang.RuntimeException: Method code too large! at org.objectweb.asm.MethodWriter.a(Unknown Source) at org.objectweb.asm.ClassWriter.toByteArray(Unknown Source) at ......
834 просмотров