Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/AnnotationProcessor.java @ 18753:f6b8787dc113
Truffle-DSL: replace complex factory system with a much simpler version
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 29 Dec 2014 23:38:21 +0100 |
parents | 45c8f64978d6 |
children | 941761f6b736 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/AnnotationProcessor.java Mon Dec 29 23:38:16 2014 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/AnnotationProcessor.java Mon Dec 29 23:38:21 2014 +0100 @@ -40,11 +40,11 @@ class AnnotationProcessor<M extends Template> { private final AbstractParser<M> parser; - private final AbstractCompilationUnitFactory<M> factory; + private final CodeTypeElementFactory<M> factory; private final Set<String> processedElements = new HashSet<>(); - public AnnotationProcessor(AbstractParser<M> parser, AbstractCompilationUnitFactory<M> factory) { + public AnnotationProcessor(AbstractParser<M> parser, CodeTypeElementFactory<M> factory) { this.parser = parser; this.factory = factory; } @@ -77,7 +77,10 @@ context.registerTemplate(type, model); if (model != null) { - CodeCompilationUnit unit = factory.process(null, model); + CodeTypeElement unit = factory.create(ProcessorContext.getInstance(), model); + if (unit == null) { + return; + } unit.setGeneratorAnnotationMirror(model.getTemplateTypeAnnotation()); unit.setGeneratorElement(model.getTemplateType());