Search in sources :

Example 1 with ProcessingManager

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());
}
Also used : QueueProcessingManager(spoon.support.QueueProcessingManager) ProcessingManager(spoon.processing.ProcessingManager) QueueProcessingManager(spoon.support.QueueProcessingManager)

Example 2 with ProcessingManager

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());
        }
    }
}
Also used : QueueProcessingManager(spoon.support.QueueProcessingManager) ProcessingManager(spoon.processing.ProcessingManager) QueueProcessingManager(spoon.support.QueueProcessingManager)

Example 3 with ProcessingManager

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());
}
Also used : QueueProcessingManager(spoon.support.QueueProcessingManager) ProcessingManager(spoon.processing.ProcessingManager) QueueProcessingManager(spoon.support.QueueProcessingManager) Launcher(spoon.Launcher) Factory(spoon.reflect.factory.Factory) Test(org.junit.Test)

Example 4 with ProcessingManager

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());
}
Also used : QueueProcessingManager(spoon.support.QueueProcessingManager) ProcessingManager(spoon.processing.ProcessingManager) QueueProcessingManager(spoon.support.QueueProcessingManager) Launcher(spoon.Launcher) Factory(spoon.reflect.factory.Factory) Test(org.junit.Test)

Example 5 with ProcessingManager

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());
}
Also used : QueueProcessingManager(spoon.support.QueueProcessingManager) ProcessingManager(spoon.processing.ProcessingManager) QueueProcessingManager(spoon.support.QueueProcessingManager)

Aggregations

ProcessingManager (spoon.processing.ProcessingManager)5 QueueProcessingManager (spoon.support.QueueProcessingManager)5 Test (org.junit.Test)2 Launcher (spoon.Launcher)2 Factory (spoon.reflect.factory.Factory)2