File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
inject-generator/src/main/java/io/avaje/inject/generator Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -177,6 +177,10 @@ void addImports(Set<String> importTypes) {
177
177
}
178
178
}
179
179
180
+ Set <GenericType > getGenericTypes () {
181
+ return typeReader .getGenericTypes ();
182
+ }
183
+
180
184
void buildAddFor (Append writer ) {
181
185
writer .append (" if (builder.isAddBeanFor(" );
182
186
if (isVoid ) {
Original file line number Diff line number Diff line change 4
4
import javax .tools .JavaFileObject ;
5
5
import java .io .IOException ;
6
6
import java .io .Writer ;
7
+ import java .util .HashSet ;
7
8
import java .util .List ;
8
9
import java .util .Set ;
9
10
@@ -74,8 +75,15 @@ private void writeGenericProviders() {
74
75
}
75
76
76
77
private void writeGenericTypeFields () {
77
- final Set <GenericType > genericTypes = beanReader .getGenericTypes ();
78
- if (genericTypes != null && !genericTypes .isEmpty ()) {
78
+ // collect all types to prevent duplicates
79
+ Set <GenericType > genericTypes = new HashSet <>();
80
+ if (beanReader .getGenericTypes ()!=null ) {
81
+ genericTypes .addAll (beanReader .getGenericTypes ());
82
+ }
83
+ for (MethodReader factoryMethod : beanReader .getFactoryMethods ()) {
84
+ genericTypes .addAll (factoryMethod .getGenericTypes ());
85
+ }
86
+ if (!genericTypes .isEmpty ()) {
79
87
for (GenericType type : genericTypes ) {
80
88
writer .append (" public static final Type TYPE_%s = new GenericType<" , type .shortName ());
81
89
type .writeShort (writer );
You can’t perform that action at this time.
0 commit comments