Skip to content

Commit 98c7e79

Browse files
committed
move value and defaultValue at beginning of loop
1 parent fb6f7d9 commit 98c7e79

4 files changed

Lines changed: 41 additions & 33 deletions

File tree

processor/src/main/resources/org/mapstruct/tools/gem/processor/Gem.ftl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,21 @@ public class ${gemInfo.gemName} implements Gem {
9292
${indent}<@compress single_line=true>builder.set${gemValueInfo.name?capitalize}(
9393
<#if gemValueInfo.valueType.gem>
9494
<#if gemValueInfo.valueType.array>
95-
GemValue.createArray( values.get( methodName ), defaultMethod.getValue(), ${gemValueInfo.valueType.gemName}::instanceOn )
95+
GemValue.createArray( value, defaultValue, ${gemValueInfo.valueType.gemName}::instanceOn )
9696
<#else>
97-
GemValue.create( values.get( methodName ), defaultMethod.getValue(), ${gemValueInfo.valueType.gemName}::instanceOn )
97+
GemValue.create( value, defaultValue, ${gemValueInfo.valueType.gemName}::instanceOn )
9898
</#if>
9999
<#elseif gemValueInfo.valueType.enum>
100100
<#if gemValueInfo.valueType.array>
101-
GemValue.createEnumArray( values.get( methodName ), defaultMethod.getValue() )
101+
GemValue.createEnumArray( value, defaultValue )
102102
<#else>
103-
GemValue.createEnum( values.get( methodName ), defaultMethod.getValue() )
103+
GemValue.createEnum( value, defaultValue )
104104
</#if>
105105
<#else>
106106
<#if gemValueInfo.valueType.array>
107-
GemValue.createArray( values.get( methodName ), defaultMethod.getValue(), ${gemValueInfo.valueType.elementName}.class )
107+
GemValue.createArray( value, defaultValue, ${gemValueInfo.valueType.elementName}.class )
108108
<#else>
109-
GemValue.create( values.get( methodName ), defaultMethod.getValue(), ${gemValueInfo.valueType.elementName}.class )
109+
GemValue.create( value, defaultValue, ${gemValueInfo.valueType.elementName}.class )
110110
</#if>
111111
</#if>
112112
);
@@ -132,6 +132,8 @@ public class ${gemInfo.gemName} implements Gem {
132132
// iterate and populate builder
133133
for ( Map.Entry<String, AnnotationValue> defaultMethod : defaultValues.entrySet() ) {
134134
String methodName = defaultMethod.getKey();
135+
AnnotationValue defaultValue = defaultMethod.getValue();
136+
AnnotationValue value = values.get( methodName );
135137
<#if (gemInfo.gemValueInfos?size < 4)>
136138
<#assign indentString = " ">
137139
<#list gemInfo.gemValueInfos as gemValueInfo>

processor/src/test/resources/fixtures/org/mapstruct/tools/gem/processor/SomeAnnotationGem.java

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -338,72 +338,74 @@ public static <T> T build(AnnotationMirror mirror, Builder<T> builder ) {
338338
// iterate and populate builder
339339
for ( Map.Entry<String, AnnotationValue> defaultMethod : defaultValues.entrySet() ) {
340340
String methodName = defaultMethod.getKey();
341+
AnnotationValue defaultValue = defaultMethod.getValue();
342+
AnnotationValue value = values.get( methodName );
341343
switch ( methodName ) {
342344
case "myClassWithDefault":
343-
builder.setMyclasswithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), TypeMirror.class ) );
345+
builder.setMyclasswithdefault( GemValue.create( value, defaultValue, TypeMirror.class ) );
344346
break;
345347
case "myBooleanWithDefault":
346-
builder.setMybooleanwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Boolean.class ) );
348+
builder.setMybooleanwithdefault( GemValue.create( value, defaultValue, Boolean.class ) );
347349
break;
348350
case "myCharWithDefault":
349-
builder.setMycharwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Character.class ) );
351+
builder.setMycharwithdefault( GemValue.create( value, defaultValue, Character.class ) );
350352
break;
351353
case "myByteWithDefault":
352-
builder.setMybytewithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Byte.class ) );
354+
builder.setMybytewithdefault( GemValue.create( value, defaultValue, Byte.class ) );
353355
break;
354356
case "mShortWithDefault":
355-
builder.setMshortwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Short.class ) );
357+
builder.setMshortwithdefault( GemValue.create( value, defaultValue, Short.class ) );
356358
break;
357359
case "myIntWithDefault":
358-
builder.setMyintwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Integer.class ) );
360+
builder.setMyintwithdefault( GemValue.create( value, defaultValue, Integer.class ) );
359361
break;
360362
case "myLongWithDefault":
361-
builder.setMylongwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Integer.class ) );
363+
builder.setMylongwithdefault( GemValue.create( value, defaultValue, Integer.class ) );
362364
break;
363365
case "myFloatWithDefault":
364-
builder.setMyfloatwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Float.class ) );
366+
builder.setMyfloatwithdefault( GemValue.create( value, defaultValue, Float.class ) );
365367
break;
366368
case "myDoubleWithDefault":
367-
builder.setMydoublewithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Double.class ) );
369+
builder.setMydoublewithdefault( GemValue.create( value, defaultValue, Double.class ) );
368370
break;
369371
case "myStringWithDefault":
370-
builder.setMystringwithdefault( GemValue.create( values.get( methodName ), defaultMethod.getValue(), String.class ) );
372+
builder.setMystringwithdefault( GemValue.create( value, defaultValue, String.class ) );
371373
break;
372374
case "myEnumWithDefault":
373-
builder.setMyenumwithdefault( GemValue.createEnum( values.get( methodName ), defaultMethod.getValue() ) );
375+
builder.setMyenumwithdefault( GemValue.createEnum( value, defaultValue ) );
374376
break;
375377
case "myClass":
376-
builder.setMyclass( GemValue.create( values.get( methodName ), defaultMethod.getValue(), TypeMirror.class ) );
378+
builder.setMyclass( GemValue.create( value, defaultValue, TypeMirror.class ) );
377379
break;
378380
case "myBoolean":
379-
builder.setMyboolean( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Boolean.class ) );
381+
builder.setMyboolean( GemValue.create( value, defaultValue, Boolean.class ) );
380382
break;
381383
case "myChar":
382-
builder.setMychar( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Character.class ) );
384+
builder.setMychar( GemValue.create( value, defaultValue, Character.class ) );
383385
break;
384386
case "myByte":
385-
builder.setMybyte( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Byte.class ) );
387+
builder.setMybyte( GemValue.create( value, defaultValue, Byte.class ) );
386388
break;
387389
case "myShort":
388-
builder.setMyshort( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Short.class ) );
390+
builder.setMyshort( GemValue.create( value, defaultValue, Short.class ) );
389391
break;
390392
case "myInt":
391-
builder.setMyint( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Integer.class ) );
393+
builder.setMyint( GemValue.create( value, defaultValue, Integer.class ) );
392394
break;
393395
case "myLong":
394-
builder.setMylong( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Integer.class ) );
396+
builder.setMylong( GemValue.create( value, defaultValue, Integer.class ) );
395397
break;
396398
case "myFloat":
397-
builder.setMyfloat( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Float.class ) );
399+
builder.setMyfloat( GemValue.create( value, defaultValue, Float.class ) );
398400
break;
399401
case "myDouble":
400-
builder.setMydouble( GemValue.create( values.get( methodName ), defaultMethod.getValue(), Double.class ) );
402+
builder.setMydouble( GemValue.create( value, defaultValue, Double.class ) );
401403
break;
402404
case "myString":
403-
builder.setMystring( GemValue.create( values.get( methodName ), defaultMethod.getValue(), String.class ) );
405+
builder.setMystring( GemValue.create( value, defaultValue, String.class ) );
404406
break;
405407
case "myEnum":
406-
builder.setMyenum( GemValue.createEnum( values.get( methodName ), defaultMethod.getValue() ) );
408+
builder.setMyenum( GemValue.createEnum( value, defaultValue ) );
407409
break;
408410
}
409411
}

processor/src/test/resources/fixtures/org/mapstruct/tools/gem/processor/SomeAnnotationsGem.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,10 @@ public static <T> T build(AnnotationMirror mirror, Builder<T> builder ) {
8585
// iterate and populate builder
8686
for ( Map.Entry<String, AnnotationValue> defaultMethod : defaultValues.entrySet() ) {
8787
String methodName = defaultMethod.getKey();
88+
AnnotationValue defaultValue = defaultMethod.getValue();
89+
AnnotationValue value = values.get( methodName );
8890
if ( "value".equals( methodName ) ) {
89-
builder.setValue( GemValue.createArray( values.get( methodName ), defaultMethod.getValue(), SomeAnnotationGem::instanceOn ) );
91+
builder.setValue( GemValue.createArray( value, defaultValue, SomeAnnotationGem::instanceOn ) );
9092
}
9193
}
9294
builder.setMirror( mirror );

processor/src/test/resources/fixtures/org/mapstruct/tools/gem/processor/SomeArrayAnnotationGem.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,18 +122,20 @@ public static <T> T build(AnnotationMirror mirror, Builder<T> builder ) {
122122
// iterate and populate builder
123123
for ( Map.Entry<String, AnnotationValue> defaultMethod : defaultValues.entrySet() ) {
124124
String methodName = defaultMethod.getKey();
125+
AnnotationValue defaultValue = defaultMethod.getValue();
126+
AnnotationValue value = values.get( methodName );
125127
switch ( methodName ) {
126128
case "myClassWithDefault":
127-
builder.setMyclasswithdefault( GemValue.createArray( values.get( methodName ), defaultMethod.getValue(), TypeMirror.class ) );
129+
builder.setMyclasswithdefault( GemValue.createArray( value, defaultValue, TypeMirror.class ) );
128130
break;
129131
case "myBooleanWithDefault":
130-
builder.setMybooleanwithdefault( GemValue.createArray( values.get( methodName ), defaultMethod.getValue(), Boolean.class ) );
132+
builder.setMybooleanwithdefault( GemValue.createArray( value, defaultValue, Boolean.class ) );
131133
break;
132134
case "myEnumWithDefault":
133-
builder.setMyenumwithdefault( GemValue.createEnumArray( values.get( methodName ), defaultMethod.getValue() ) );
135+
builder.setMyenumwithdefault( GemValue.createEnumArray( value, defaultValue ) );
134136
break;
135137
case "myAnnotation":
136-
builder.setMyannotation( GemValue.create( values.get( methodName ), defaultMethod.getValue(), SomeAnnotationGem::instanceOn ) );
138+
builder.setMyannotation( GemValue.create( value, defaultValue, SomeAnnotationGem::instanceOn ) );
137139
break;
138140
}
139141
}

0 commit comments

Comments
 (0)