Skip to content

Commit 230be94

Browse files
authored
Merge pull request #13652 from grails/revert-13598-issue13486
Revert "Working on #13486"
2 parents 9135770 + 99a3043 commit 230be94

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

grails-plugin-controllers/src/main/groovy/org/grails/compiler/web/ControllerActionTransformer.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import grails.web.controllers.ControllerMethod;
3030
import groovy.lang.Closure;
3131
import groovy.transform.CompilationUnitAware;
32+
import org.apache.groovy.ast.tools.AnnotatedNodeUtils;
3233
import org.apache.groovy.ast.tools.ClassNodeUtils;
3334
import org.codehaus.groovy.ast.ASTNode;
3435
import org.codehaus.groovy.ast.AnnotationNode;
@@ -97,7 +98,6 @@
9798
import java.util.Map;
9899
import java.util.regex.Pattern;
99100

100-
import static org.codehaus.groovy.ast.tools.GeneralUtils.*;
101101
import static org.grails.compiler.injection.GrailsASTUtils.applyDefaultMethodTarget;
102102
import static org.grails.compiler.injection.GrailsASTUtils.applyMethodTarget;
103103
import static org.grails.compiler.injection.GrailsASTUtils.buildGetMapExpression;
@@ -843,11 +843,16 @@ protected void initializeAndValidateCommandObjectParameter(final BlockStatement
843843

844844
protected void initializeCommandObjectParameter(final BlockStatement wrapper,
845845
final ClassNode commandObjectNode, final String paramName, SourceUnit source) {
846-
final ArgumentListExpression initializeCommandObjectArguments = args(classX(commandObjectNode), constX(paramName));
847-
final MethodCallExpression initializeCommandObjectMethodCall = callThisX("initializeCommandObject", initializeCommandObjectArguments);
846+
847+
final ArgumentListExpression initializeCommandObjectArguments = new ArgumentListExpression();
848+
initializeCommandObjectArguments.addExpression(new ClassExpression(commandObjectNode));
849+
initializeCommandObjectArguments.addExpression(new ConstantExpression(paramName));
850+
final MethodCallExpression initializeCommandObjectMethodCall = new MethodCallExpression(new VariableExpression("this"), "initializeCommandObject", initializeCommandObjectArguments);
848851
applyDefaultMethodTarget(initializeCommandObjectMethodCall, commandObjectNode);
849-
final Expression assignCommandObjectToParameter = declX(localVarX(paramName), initializeCommandObjectMethodCall);
850-
wrapper.addStatement(stmt(assignCommandObjectToParameter));
852+
853+
final Expression assignCommandObjectToParameter = new BinaryExpression(new VariableExpression(paramName), Token.newSymbol(Types.EQUALS, 0, 0), initializeCommandObjectMethodCall);
854+
855+
wrapper.addStatement(new ExpressionStatement(assignCommandObjectToParameter));
851856
}
852857

853858
/**

grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -316,13 +316,6 @@ class TestController {
316316
[command: co]
317317
}
318318

319-
private seeIssue13486() {
320-
// the presence of this local variable could break
321-
// the compile-time generated no-arg methodActionWithDate()
322-
// see https://github.com/grails/grails-core/issues/13486
323-
String co
324-
}
325-
326319
def methodActionWithArtist(Artist a) {
327320
[artist: a]
328321
}

0 commit comments

Comments
 (0)