Вставка функции в файл Java.class с помощью Haskell

Я написал синтаксический анализатор байт-кода Java, используя Haskell, и он прекрасно работает. Однако следующий шаг поставил меня в тупик.

Моя программа на Haskell должна изменить файл.class, чтобы при выполнении программа на Java печатала:

" Entering [имя метода здесь] " перед выполнением метода и

" Выход [имя метода здесь] " после выполнения метода.

Все, что я знаю, это то, что нам нужно будет добавить пул констант и таблицу методов с вызовами System.out.println, но я все еще чувствую, что что-то упускаю.

  • Как лучше всего решить эту проблему?
  • Откуда вы знаете, как вызывать System.out.printlnв байт-коде?
  • Как сохранить строку с именем метода, чтобы позже вызвать ее в качестве аргумента System.out.println?
7
задан Bill the Lizard 19 September 2012 в 16:20
поделиться