File tree Expand file tree Collapse file tree 3 files changed +17
-7
lines changed
inject-generator/src/main/java/io/avaje/inject/generator Expand file tree Collapse file tree 3 files changed +17
-7
lines changed Original file line number Diff line number Diff line change @@ -399,4 +399,8 @@ void writeConstructorInit(Append writer) {
399
399
writer .append (");" ).eol ();
400
400
}
401
401
}
402
+
403
+ boolean hasConditions () {
404
+ return !conditions .isEmpty ();
405
+ }
402
406
}
Original file line number Diff line number Diff line change @@ -135,9 +135,9 @@ MetaData createMeta() {
135
135
.map (t -> "con:" + t )
136
136
.forEach (dependsOn ::add );
137
137
conditions .missingTypes .stream ()
138
- .filter (t -> !t .equals (returnTypeRaw ))
139
- .map (t -> "con:" + t )
140
- .forEach (dependsOn ::add );
138
+ .filter (t -> !t .equals (returnTypeRaw ))
139
+ .map (t -> "con:" + t )
140
+ .forEach (dependsOn ::add );
141
141
for (final MethodParam param : params ) {
142
142
dependsOn .add (GenericType .trimWildcard (param .paramType ));
143
143
}
@@ -152,8 +152,13 @@ private String fullBuildMethod() {
152
152
return factoryType + Constants .DI + ".build_" + element .getSimpleName ().toString ();
153
153
}
154
154
155
- String builderGetFactory () {
156
- return String .format (" var factory = builder.getNullable(%s.class); %n if (factory == null) return;" , factoryShortName );
155
+ void builderGetFactory (Append writer , boolean factoryHasConditions ) {
156
+ if (factoryHasConditions ) {
157
+ writer .append (" var factory = builder.getNullable(%s.class);" , factoryShortName ).eol ();
158
+ writer .append (" if (factory == null) return;" ).eol ();
159
+ } else {
160
+ writer .append (" var factory = builder.get(%s.class);" , factoryShortName ).eol ();
161
+ }
157
162
}
158
163
159
164
void builderBuildBean (Append writer ) {
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ private void writeFactoryBeanMethod(MethodReader method) {
102
102
writer .append (" public static void build_%s(%s builder) {" , method .name (), beanReader .builderType ()).eol ();
103
103
method .buildConditional (writer );
104
104
method .buildAddFor (writer );
105
- writer . append ( method .builderGetFactory ()). eol ( );
105
+ method .builderGetFactory (writer , beanReader . hasConditions () );
106
106
if (method .isProtoType ()) {
107
107
method .builderAddBeanProvider (writer );
108
108
} else if (method .isUseProviderForSecondary ()) {
@@ -160,7 +160,8 @@ private void writeBuildMethodStart() {
160
160
writer .append (" public static void build(%s builder) {" , beanReader .builderType ()).eol ();
161
161
}
162
162
163
- String indent = " " ;
163
+ private String indent = " " ;
164
+
164
165
private void writeCreateBean (MethodReader constructor ) {
165
166
writer .append (indent ).append (" var bean = new %s(" , shortName );
166
167
// add constructor dependencies
You can’t perform that action at this time.
0 commit comments