package org.eclipse.jdt.compiler.apt.tests.processors.AnnotationProcessorTests;
import java.util.Set;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.annotation.processing.SupportedSourceVersion;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.MirroredTypesException;
import org.eclipse.jdt.compiler.apt.tests.processors.base.BaseProcessor;
@SupportedAnnotationTypes({"org.eclipse.jdt.compiler.apt.tests.processors.AnnotationProcessorTests.Bug493837Anno"})
@SupportedSourceVersion(SourceVersion.RELEASE_6)
public class Bug493837Proc extends BaseProcessor {
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
if(roundEnv.processingOver()) return false;
for(TypeElement ann: annotations) {
for(Element type: roundEnv.getElementsAnnotatedWith(ann)) {
Bug493837Anno anno = type.getAnnotation(Bug493837Anno.class);
try {
anno.value();
reportError(type.getSimpleName() + " didn't thorw a MirroredTypesException");
} catch(MirroredTypesException e) {
}
}
}
return false;
}
}