Hallo, ich habe folgende Code:
CtMethod cm = ... ;
cm.instrument(
new ExprEditor() {
public void edit(MethodCall m)
throws CannotCompileException
{
if (m.getMethodName().equals("move"))
m.replace("{ $1 = 0; $_ = $proceed($$); }");
}
});
Hier habe ich jetzt das Problem, dass ich zusätzlich prüfen muss, ob die Methode "move" zu einer speziellen Klasse oder auch zu einer Ableitung dieser speziellen Klasse gehört. Erst dann darf ich ein replace machen. Die spezielle Klasse ist mir bekannt, somit könnte ich das mit isAssignableFrom(Type type) prüfen. Jedoch benötige ich dafür die Klasse zu der die Methode "move" gehört. Es gibt die Möglichkeit m.getClassName()-> Dies liefert mir aber nur den Namen der Klasse, jedoch bräuchte ich das Objekt damit is es mit isAssignableFrom() prüfen kann. Hat hier jemand eine Idee?
Danke
CtMethod cm = ... ;
cm.instrument(
new ExprEditor() {
public void edit(MethodCall m)
throws CannotCompileException
{
if (m.getMethodName().equals("move"))
m.replace("{ $1 = 0; $_ = $proceed($$); }");
}
});
Hier habe ich jetzt das Problem, dass ich zusätzlich prüfen muss, ob die Methode "move" zu einer speziellen Klasse oder auch zu einer Ableitung dieser speziellen Klasse gehört. Erst dann darf ich ein replace machen. Die spezielle Klasse ist mir bekannt, somit könnte ich das mit isAssignableFrom(Type type) prüfen. Jedoch benötige ich dafür die Klasse zu der die Methode "move" gehört. Es gibt die Möglichkeit m.getClassName()-> Dies liefert mir aber nur den Namen der Klasse, jedoch bräuchte ich das Objekt damit is es mit isAssignableFrom() prüfen kann. Hat hier jemand eine Idee?
Danke