[Javassist] Modifier une classe
	
	
		Bonjour,
Je souhaite modifier pendant l'exécution une de mes classes, c'est à dire, en ajoutant un champ avec ses getter et setter.
Donc voici ce que j'essaie de faire:
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   |  
import javassist.CtClass;
import javassist.CtField;
import javassist.CtMethod;
import javassist.Modifier;
 
CtClass ctClass ;
CtClass type = ClassPool.getDefault().get("java/lang/String");
// Adding the field: String field;
CtField field = new CtField(type, "field", ctClass);
field.setModifiers(Modifier.PRIVATE);
ctClass.addField(field);
// Adding the setter and the getter
CtMethod getter = new CtMethod(type, "getField", null, ctClass);
getter.setModifiers(Modifier.PUBLIC);
ctClass.addMethod(getter);
CtMethod setter = new CtMethod(CtClass.voidType, "setFieldh", new CtClass[] {type}, ctClass);
setter.setModifiers(Modifier.PUBLIC);
ctClass.addMethod(setter); | 
 Pendant l'exécution, ma classe est bien modifiée mais lorsqu'elle est instanciée, j'ai l'exception suivante :
	Code:
	
1 2
   | Exception in thread "main" java.lang.ClassFormatError: 
Absent Code attribute in method that is not native or abstract in class file com/project/MyClass  | 
 J'ai l'impression qu'il faut que j'ajoute des "attibutes" aux méthodes que j'ai ajoutées mais je ne sais pas utiliser la méthode
	Code:
	
CtMethod.setAttribute(String name, byte[] data)
 Merci d'avance de vos réponses.
Cordialement.