The statement expression itself is not allowed at places where an ordinary statement would stand. As with other expressions, this is only facilitated via the expression_statement rule that adds a semicolon after the expression. The reason why this bug was not discovered is probably because the code generator also drops the parentheses around the statement expression, turning it into a compound statement.
This commit fixes that by removing the faulty rule extension, introducing a CoumpoundExpression class, and making sure the parentheses are added when an object of this type is discovered during code generation.
The statement expression itself is not allowed at places where an ordinary statement would stand. As with other expressions, this is only facilitated via the expression_statement rule that adds a semicolon after the expression. The reason why this bug was not discovered is probably because the code generator also drops the parentheses around the statement expression, turning it into a compound statement.
This commit fixes that by removing the faulty rule extension, introducing a CoumpoundExpression class, and making sure the parentheses are added when an object of this type is discovered during code generation.