diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | vala/valagenieparser.vala | 7 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2009-02-12 Jürg Billeter <j@bitron.ch> + + * vala/valagenieparser.vala: + + Fix else if parsing, fixes bug 562632 + 2009-02-12 Ryan Lortie <desrt@desrt.ca> * gobject/valagasyncmodule.vala: diff --git a/vala/valagenieparser.vala b/vala/valagenieparser.vala index 9bbee34f2..e7602218e 100644 --- a/vala/valagenieparser.vala +++ b/vala/valagenieparser.vala @@ -1775,6 +1775,13 @@ public class Vala.Genie.Parser : CodeVisitor { var true_stmt = parse_embedded_statement (); Block false_stmt = null; if (accept (TokenType.ELSE)) { + // allow `else if' on the same line without `do' + if (!accept (TokenType.DO) && current () != TokenType.IF) { + expect (TokenType.EOL); + } else { + accept (TokenType.EOL); + } + false_stmt = parse_embedded_statement (); } return new IfStatement (condition, true_stmt, false_stmt, src); |