diff --git a/src/main/org/codehaus/groovy/antlr/AntlrParserPlugin.java b/src/main/org/codehaus/groovy/antlr/AntlrParserPlugin.java index 99d4d3c714b..486dfbc3fad 100644 --- a/src/main/org/codehaus/groovy/antlr/AntlrParserPlugin.java +++ b/src/main/org/codehaus/groovy/antlr/AntlrParserPlugin.java @@ -876,8 +876,6 @@ protected Expression expressionSwitch(AST node) { return ternaryExpression(node); case OPTIONAL_ARG: - return binaryExpression(Types.NAVIGATE, node); - case DOT: return dotExpression(node); @@ -1292,7 +1290,7 @@ protected Expression dotExpression(AST node) { return new AttributeExpression(leftExpression, field); } String property = identifier(identifierNode); - return new PropertyExpression(leftExpression, property); + return new PropertyExpression(leftExpression, property, node.getType()==OPTIONAL_ARG); } } return methodCallExpression(node);