use of spoon.processing.ProcessingManager in project spoon by INRIA.
the class JDTBasedSpoonCompiler method instantiateAndProcess.
@Override
public void instantiateAndProcess(List<String> processors) {
// processing (consume all the processors)
ProcessingManager processing = new QueueProcessingManager(factory);
for (String processorName : processors) {
processing.addProcessor(processorName);
factory.getEnvironment().debugMessage("Loaded processor " + processorName + ".");
}
processing.process(factory.Package().getRootPackage());
}
use of spoon.processing.ProcessingManager in project spoon by INRIA.
the class JDTBasedSpoonCompiler method generateProcessedSourceFilesUsingTypes.
protected void generateProcessedSourceFilesUsingTypes(Filter<CtType<?>> typeFilter) {
if (factory.getEnvironment().getDefaultFileGenerator() != null) {
factory.getEnvironment().debugMessage("Generating source using types...");
ProcessingManager processing = new QueueProcessingManager(factory);
processing.addProcessor(factory.getEnvironment().getDefaultFileGenerator());
if (typeFilter != null) {
processing.process(Query.getElements(factory.getModel().getUnnamedModule(), typeFilter));
} else {
processing.process(factory.getModel().getAllModules());
}
}
}
use of spoon.processing.ProcessingManager in project spoon by INRIA.
the class AnnotationTest method testAbstractAllAnnotationProcessorWithGlobalAnnotation.
@Test
public void testAbstractAllAnnotationProcessorWithGlobalAnnotation() throws Exception {
Launcher spoon = new Launcher();
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/ClassProcessed.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/TypeAnnotation.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/AnnotParamTypeEnum.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/InnerAnnot.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/Inception.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/GlobalAnnotation.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/TestAnnotation.java");
Factory factory = spoon.getFactory();
spoon.buildModel();
// create the processor
final ProcessingManager p = new QueueProcessingManager(factory);
final GlobalProcessor processor = new GlobalProcessor();
p.addProcessor(processor);
final TypeAnnotationMethodProcessor methodProcessor = new TypeAnnotationMethodProcessor();
p.addProcessor(methodProcessor);
p.process(factory.Class().getAll());
// GlobalAnnotation is also attached to the type
assertEquals(7, processor.elements.size());
assertEquals(2, methodProcessor.elements.size());
}
use of spoon.processing.ProcessingManager in project spoon by INRIA.
the class AnnotationTest method testAbstractAllAnnotationProcessor.
@Test
public void testAbstractAllAnnotationProcessor() throws Exception {
Launcher spoon = new Launcher();
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/AnnotationsAppliedOnAnyTypeInAClass.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/BasicAnnotation.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/TypeAnnotation.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/AnnotParamTypeEnum.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/InnerAnnot.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/Inception.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/TestAnnotation.java");
spoon.addInputResource("./src/test/java/spoon/test/annotation/testclasses/AnnotArrayInnerClass.java");
Factory factory = spoon.getFactory();
spoon.buildModel();
// create the processor
final ProcessingManager p = new QueueProcessingManager(factory);
final TypeAnnotationProcessor processor = new TypeAnnotationProcessor();
p.addProcessor(processor);
p.process(factory.Class().getAll());
assertEquals(29, processor.elements.size());
}
use of spoon.processing.ProcessingManager in project spoon by INRIA.
the class JDTBasedSpoonCompiler method process.
@Override
public void process(Collection<Processor<? extends CtElement>> processors) {
// processing (consume all the processors)
ProcessingManager processing = new QueueProcessingManager(factory);
for (Processor<? extends CtElement> processorName : processors) {
processing.addProcessor(processorName);
factory.getEnvironment().debugMessage("Loaded processor " + processorName + ".");
}
processing.process(factory.Package().getRootPackage());
}
Aggregations