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) {
399399 writer .append (");" ).eol ();
400400 }
401401 }
402+
403+ boolean hasConditions () {
404+ return !conditions .isEmpty ();
405+ }
402406}
Original file line number Diff line number Diff line change @@ -135,9 +135,9 @@ MetaData createMeta() {
135135 .map (t -> "con:" + t )
136136 .forEach (dependsOn ::add );
137137 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 );
141141 for (final MethodParam param : params ) {
142142 dependsOn .add (GenericType .trimWildcard (param .paramType ));
143143 }
@@ -152,8 +152,13 @@ private String fullBuildMethod() {
152152 return factoryType + Constants .DI + ".build_" + element .getSimpleName ().toString ();
153153 }
154154
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+ }
157162 }
158163
159164 void builderBuildBean (Append writer ) {
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ private void writeFactoryBeanMethod(MethodReader method) {
102102 writer .append (" public static void build_%s(%s builder) {" , method .name (), beanReader .builderType ()).eol ();
103103 method .buildConditional (writer );
104104 method .buildAddFor (writer );
105- writer . append ( method .builderGetFactory ()). eol ( );
105+ method .builderGetFactory (writer , beanReader . hasConditions () );
106106 if (method .isProtoType ()) {
107107 method .builderAddBeanProvider (writer );
108108 } else if (method .isUseProviderForSecondary ()) {
@@ -160,7 +160,8 @@ private void writeBuildMethodStart() {
160160 writer .append (" public static void build(%s builder) {" , beanReader .builderType ()).eol ();
161161 }
162162
163- String indent = " " ;
163+ private String indent = " " ;
164+
164165 private void writeCreateBean (MethodReader constructor ) {
165166 writer .append (indent ).append (" var bean = new %s(" , shortName );
166167 // add constructor dependencies
You can’t perform that action at this time.
0 commit comments