Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/792#discussion_r216118264 --- Diff: subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java --- @@ -2337,14 +2337,11 @@ public Expression visitPathElement(PathElementContext ctx) { this.visitNamedPropertyArgs(ctx.namedPropertyArgs()); Expression right; - if (mapEntryExpressionList.size() == 1) { - MapEntryExpression mapEntryExpression = mapEntryExpressionList.get(0); - - if (mapEntryExpression.getKeyExpression() instanceof SpreadMapExpression) { - right = mapEntryExpression.getKeyExpression(); - } else { - right = mapEntryExpression; - } + if (mapEntryExpressionList.size() == 0) { + // expecting list of MapEntryExpressions later so use SpreadMap to smuggle empty MapExpression to later stages + right = new SpreadMapExpression(configureAST(new MapExpression(), ctx.namedPropertyArgs())); --- End diff -- Yes, you are right - if we ever do support getAt(Map) more generally, we would need to process that differently, so best it is correct to start with.
---