Ich arbeite mit ASM-API für Java-Bytecode-Instrumantation, und ich möchte in der Lage sein, zu bestimmen, welches Array (durch den Namen des Arrays) in jedem Zugriff auf ein Array zugegriffen wird.
Ich habe zwei Probleme damit: - Nehmen wir zum Beispiel die iastore-Instruktion. Die arrayref befindet sich im Operandenstapel unter zwei anderen Variablen - value und index. Wie bekomme ich die arrayref ohne den Stack zu ruinieren (ich kann nicht mehr als zwei Top-Variablen im Stack duplizieren)? Ich dachte daran, index und value vom Stack zu nehmen und sie irgendwo zu speichern und dann die arrayref zu holen und schließlich index und value zurück auf den Stack zu schieben, aber ich weiß nicht wirklich, wie man das macht...
- Ich möchte von der arrayref (sobald ich es habe) den Namen des Arrays (der Name, dass der Benutzer deklariert, dass Array es genannt) zu erhalten.
vielen Dank im Voraus.
1 Stimmen
Was meinen Sie mit "Name des Arrays"?
0 Stimmen
Sie können die Variablennamen aus der Klassendatei entnehmen. Allerdings können viele Variablen (lokale und Mitgliedsvariablen) auf dasselbe Array-Objekt verweisen. Welchen Variablennamen möchten Sie also?
0 Stimmen
Ich meine den Namen dieses Arrays im Original-Java-Programm. Danke