2016-06-05 7 views
1

Ich habe eine kurze Frage. Ich verwende Javassist, um Klassen Methoden hinzuzufügen und JAR-Dateien neu zu erstellen.Javassist - Flags zum Compiler

Javassist mit Javac zum Kompilieren von Code. Aber nach der Kompilierung durch Javassist, kann ich nicht erreichen LocalVariableTable mit z. javap.

Ich habe gelesen, dass die Flagge - g muss während der Zeit der Kompilierung im Compiler gesetzt werden.

Wissen Sie, wie in Javassist zu zwingen, selbst definierte Flags zu kompilieren, wie - g?

Danke.

Antwort

0

Ich habe die Antwort gefunden.

Javac ist interner Compiler von Javassist. Javac Klasse hat Methode namens recordLocalVariables.

recordLocalVariables 3 mal in ganze Bibliothek mit dem Namen (aber es ist auch öffentliche Methode) in:

  • CtBehavior.insertBefore
  • CtBehavior.insertAfter
  • CtBehavior.insertAt

Um sicherzustellen, dass lokale Variablen mit Bytecode gespeichert werden, verwenden Sie eine dieser Methoden beim Erstellen einer neuen Methode.

Verwandte Themen