Visitor

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

hat hier jemand Ahnung, wie ich den Visitor einsetze, um von einem Bytecodebefehl (z.B. ALOAD oder PUTFIELD) das Ziel herauszubekommen? Also bei ALOAD die lokale Variable, die geladen wird oder bei PUTFIELD die Nummer im ConstantPool, auf die zugegriffen wird.

Irgendwie bekomme ich das nicht hin.

Danke schonmal im Voraus.
 
G

Gast

Gast
Das Problem ist aber, dass die ganzen visitIrgendwas Methoden nix zurückliefern und ich ehrlich gesagt keinen Plan hab wie ich den Visitor anwenden soll.

Aber hab grad eben herausgefunden, dass ich das ja eigentlich auch gar nicht brauche...ich Doofi :oops:
Ich brauche ja einfach bloß die aktuelle Instruktion casten in z.B. eine LocalVariableInstruction. Diese weiß dann ja worauf sie zugreift.

Aber wenn du mir mal in nem kurzen Codebeispiel zeigst wie man den EmptyVisitor gebrauchen kann wär ich natürlich auch nicht böse. :wink:
 

Bleiglanz

Gesperrter Benutzer
der visitor heisst besucher, weil er ein objekt "besucht"

deshalb ists void (er muss sich "intern" merken, was los ist; du brauchst also nochn paar member variablen)


du kannst ihn auf ein objekt einfach loslassen

AALOAD()#accept(Visitor v)

Call corresponding visitor method(s)
 
G

Gast

Gast
Also er besucht die Objekte und merkt sich alles wichtige nach dem Aufruf der accept(Visitor v).
Und wie bekomme ich dann die gewünschten Informationen von dem Visitor? Braucht der noch irgendeine getMethode?
 

Bleiglanz

Gesperrter Benutzer
ja, du brauchst vermutlich einige interne Membervariablen, die während des besuchs daten aufnehmen


nach dem besuch liest du diese dann aus
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben