Skip to content

Commit 9a0bc16

Browse files
authored
fix jdt error (#288)
it turns out using toString on a package element doesn't print the right package name with some compilers
1 parent c9e55d8 commit 9a0bc16

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

validator-generator/src/main/java/io/avaje/validation/generator/AdapterName.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class AdapterName {
99
final String fullName;
1010

1111
AdapterName(TypeElement origin) {
12-
String originPackage = APContext.elements().getPackageOf(origin).toString();
12+
String originPackage = APContext.elements().getPackageOf(origin).getQualifiedName().toString();
1313
var name = shortName(origin);
1414
shortName = name.substring(0, name.length() - 1);
1515
if ("".equals(originPackage)) {

validator-generator/src/main/java/io/avaje/validation/generator/AnnotationUtil.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ static String lookupType(TypeMirror typeMirror) {
161161
private AnnotationUtil() {}
162162

163163
static String annotationAttributeMap(AnnotationMirror annotationMirror, Element target) {
164-
final Element element = annotationMirror.getAnnotationType().asElement();
165-
final Handler handler = handlers.get(element.toString());
164+
final var element = APContext.asTypeElement(annotationMirror.getAnnotationType());
165+
final Handler handler = handlers.get(element.getQualifiedName().toString());
166166
return Objects.requireNonNullElse(handler, defaultHandler)
167167
.attributes(annotationMirror, element, target);
168168
}
@@ -381,7 +381,7 @@ public String message(AnnotationMirror annotationMirror, Element target) {
381381
@Override
382382
public boolean isSupported(Element target, String _type) {
383383
boolean isMetaConstraint = hasMetaConstraintAnnotation(target);
384-
return isMetaConstraint || (allowUnknown && _type == null) || (_type != null && supportedTypes.contains(_type));
384+
return isMetaConstraint || allowUnknown && _type == null || _type != null && supportedTypes.contains(_type);
385385
}
386386
}
387387

@@ -463,7 +463,7 @@ public String attributes(AnnotationMirror annotationMirror, Element element, Ele
463463
@Override
464464
String messageKey(AnnotationValue defaultValue) {
465465
final AnnotationValue inclusiveValue = memberValue("inclusive");
466-
final boolean inclusive = (inclusiveValue == null || "true".equals(inclusiveValue.toString()));
466+
final boolean inclusive = inclusiveValue == null || "true".equals(inclusiveValue.toString());
467467
String messageKey = super.messageKey(defaultValue);
468468
if (!inclusive) {
469469
messageKey = messageKey.replace(".message", ".exclusive.message");

validator-generator/src/main/java/io/avaje/validation/generator/SimpleParamBeanWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.io.IOException;
77
import java.io.Writer;
88

9+
import javax.lang.model.element.TypeElement;
910
import javax.tools.JavaFileObject;
1011

1112
final class SimpleParamBeanWriter {
@@ -19,15 +20,14 @@ final class SimpleParamBeanWriter {
1920
SimpleParamBeanWriter(ValidMethodReader beanReader) {
2021
this.beanReader = beanReader;
2122
final var method = beanReader.getBeanType();
22-
this.adapterPackage = ProcessorUtils.packageOf(method.getEnclosingElement().asType().toString());
23+
this.adapterPackage = ProcessorUtils.packageOf(((TypeElement) method.getEnclosingElement()).getQualifiedName().toString());
2324
this.adapterFullName = adapterPackage
2425
+ "."
2526
+ method
2627
.getSimpleName()
2728
.toString()
2829
.transform(str -> str.substring(0, 1).toUpperCase() + str.substring(1))
2930
+ "ParamProvider";
30-
3131
this.adapterShortName = Util.shortName(adapterFullName);
3232
}
3333

validator-generator/src/main/java/io/avaje/validation/generator/TypeReader.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.avaje.validation.generator;
22

33
import static io.avaje.validation.generator.APContext.asTypeElement;
4-
import static io.avaje.validation.generator.APContext.logNote;
54
import static io.avaje.validation.generator.APContext.logError;
5+
import static io.avaje.validation.generator.APContext.logNote;
66

77
import java.util.ArrayList;
88
import java.util.Arrays;
@@ -83,8 +83,9 @@ void read(TypeElement type) {
8383
}
8484

8585
for (final FieldReader localField : localFields) {
86-
allFields.add(localField);
87-
allFieldMap.put(localField.fieldName(), localField);
86+
if (allFieldMap.put(localField.fieldName(), localField) == null) {
87+
allFields.add(localField);
88+
}
8889
}
8990
}
9091

0 commit comments

Comments
 (0)