|
29 | 29 | import grails.web.controllers.ControllerMethod; |
30 | 30 | import groovy.lang.Closure; |
31 | 31 | import groovy.transform.CompilationUnitAware; |
| 32 | +import org.apache.groovy.ast.tools.AnnotatedNodeUtils; |
32 | 33 | import org.apache.groovy.ast.tools.ClassNodeUtils; |
33 | 34 | import org.codehaus.groovy.ast.ASTNode; |
34 | 35 | import org.codehaus.groovy.ast.AnnotationNode; |
|
97 | 98 | import java.util.Map; |
98 | 99 | import java.util.regex.Pattern; |
99 | 100 |
|
100 | | -import static org.codehaus.groovy.ast.tools.GeneralUtils.*; |
101 | 101 | import static org.grails.compiler.injection.GrailsASTUtils.applyDefaultMethodTarget; |
102 | 102 | import static org.grails.compiler.injection.GrailsASTUtils.applyMethodTarget; |
103 | 103 | import static org.grails.compiler.injection.GrailsASTUtils.buildGetMapExpression; |
@@ -843,11 +843,16 @@ protected void initializeAndValidateCommandObjectParameter(final BlockStatement |
843 | 843 |
|
844 | 844 | protected void initializeCommandObjectParameter(final BlockStatement wrapper, |
845 | 845 | 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); |
848 | 851 | 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)); |
851 | 856 | } |
852 | 857 |
|
853 | 858 | /** |
|
0 commit comments