private List<AnnotationProcessor<?>> getGenerators() { if (generators == null && processingEnv != null) { generators = new ArrayList<>(); generators.add(new AnnotationProcessor<>(new TypeSystemParser(), new TypeSystemCodeGenerator())); generators.add(new AnnotationProcessor<>(new NodeParser(), new NodeCodeGenerator())); } return generators; }
private void verifyTypes(TypeSystemData typeSystem) { for (TypeMirror type : typeSystem.getLegacyTypes()) { if (isPrimitiveWrapper(type)) { typeSystem.addError("Types must not contain primitive wrapper types."); } if (ElementUtils.typeEquals(type, context.getType(Object.class))) { typeSystem.addError("Types must not contain the generic type java.lang.Object."); } } verifyTypeOrder(typeSystem); }
TypeElement annotationTypeElement = processingEnv.getElementUtils().getTypeElement(getAnnotationType().getCanonicalName()); if (annotationTypeElement == null) { typeSystem.addError("Required class %s is not on the classpath.", getAnnotationType().getName()); typeSystem.addError("A @%s must have at least package protected visibility.", getAnnotationType().getName()); typeSystem.addError("The @%s must not be final.", getAnnotationType().getName()); verifyExclusiveMethodAnnotation(typeSystem, TypeCast.class, TypeCheck.class); List<Element> elements = newElementList(context.getEnvironment().getElementUtils().getAllMembers(templateType)); List<ImplicitCastData> implicitCasts = new ImplicitCastParser(context, typeSystem).parse(elements); List<TypeCastData> casts = new TypeCastParser(context, typeSystem).parse(elements); verifyTypes(typeSystem); typeSystem.getLegacyTypes().add(context.getType(Object.class)); typeSystem.getLegacyTypes().add(context.getType(void.class)); verifyNamesUnique(typeSystem);
TypeElement annotationTypeElement = processingEnv.getElementUtils().getTypeElement(getAnnotationType().getCanonicalName()); if (annotationTypeElement == null) { typeSystem.addError("Required class %s is not on the classpath.", getAnnotationType().getName()); typeSystem.addError("A @%s must have at least package protected visibility.", getAnnotationType().getName()); typeSystem.addError("The @%s must not be final.", getAnnotationType().getName()); verifyExclusiveMethodAnnotation(typeSystem, TypeCast.class, TypeCheck.class); verifyTypes(typeSystem); typeSystem.getLegacyTypes().add(context.getType(Object.class)); typeSystem.getLegacyTypes().add(context.getType(void.class)); verifyNamesUnique(typeSystem);
private void verifyTypes(TypeSystemData typeSystem) { for (TypeMirror type : typeSystem.getLegacyTypes()) { if (isPrimitiveWrapper(type)) { typeSystem.addError("Types must not contain primitive wrapper types."); } if (ElementUtils.typeEquals(type, context.getType(Object.class))) { typeSystem.addError("Types must not contain the generic type java.lang.Object."); } } verifyTypeOrder(typeSystem); }
private List<AnnotationProcessor<?>> getGenerators() { if (generators == null && processingEnv != null) { generators = new ArrayList<>(); generators.add(new AnnotationProcessor<>(new TypeSystemParser(), new TypeSystemCodeGenerator())); generators.add(new AnnotationProcessor<>(new NodeParser(), new NodeCodeGenerator())); } return generators; }