1 package spoon.examples.nton.processing; 2 3 import spoon.examples.nton.annotation.Nton; 4 import spoon.examples.nton.template.NtonCodeTemplate; 5 import spoon.processing.AbstractAnnotationProcessor; 6 import spoon.reflect.declaration.CtClass; 7 import spoon.reflect.declaration.CtConstructor; 8 import spoon.template.Substitution; 9 10 public class NtonProcessor extends 11 AbstractAnnotationProcessor<Nton, CtClass<?>> { 12 13 public void process(Nton nton, CtClass<?> cl) { 14 NtonCodeTemplate template = new NtonCodeTemplate(cl.getReference(), 15 nton.n()); 16 Substitution.insertAll(cl, template); 17 for (CtConstructor c : cl.getConstructors()) { 18 c.getBody().insertEnd( 19 Substitution.substituteMethodBody(cl, template, 20 "initializer")); 21 } 22 } 23 24 } 25 | Popular Tags |