Skip to content

Commit c61189a

Browse files
author
Cause Cheng
committed
fix: ignore optional container types in type parameter bounds
1 parent de98d83 commit c61189a

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

.gemini/GEMINI.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Project Instructions

processor/src/main/java/online/sharedtype/processor/parser/ClassTypeDefParser.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,14 @@ private List<TypeInfo> parseBounds(TypeParameterElement typeParameterElement, Ty
108108
.filter(b -> !"java.lang.Object".equals(b.toString()))
109109
.filter(b -> {
110110
Element e = ctx.getProcessingEnv().getTypeUtils().asElement(b);
111-
return e == null || !ctx.isIgnored(e);
111+
if (e == null || ctx.isIgnored(e)) {
112+
return false;
113+
}
114+
if (e instanceof TypeElement) {
115+
TypeElement te = (TypeElement) e;
116+
return !ctx.isOptionalType(te.getQualifiedName().toString());
117+
}
118+
return true;
112119
})
113120
.map(b -> typeInfoParser.parse(b, typeElement))
114121
.collect(Collectors.toList());

0 commit comments

Comments
 (0)