]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Support regular expression literals after more tokens
authorJukka-Pekka Iivonen <jp0409@jippii.fi>
Wed, 28 Apr 2010 12:01:14 +0000 (14:01 +0200)
committerJürg Billeter <j@bitron.ch>
Wed, 28 Apr 2010 12:01:14 +0000 (14:01 +0200)
Fixes bug 615558.

vala/valascanner.vala

index 3a05b5c3710140e91f6ed8f359343e31f5e30c5e..420530ccb9d7ae6b36184fe01b58edc702f042dd 100644 (file)
@@ -1016,18 +1016,38 @@ public class Vala.Scanner {
                                }
                                break;
                        case '/':
-                               if (previous == TokenType.OPEN_PARENS || previous == TokenType.ASSIGN || previous == TokenType.OP_COALESCING
-                                   || previous == TokenType.COMMA || previous == TokenType.RETURN || previous == TokenType.OPEN_BRACE) {
+                               switch (previous) {
+                               case TokenType.ASSIGN:
+                               case TokenType.COMMA:
+                               case TokenType.MINUS:
+                               case TokenType.OP_AND:
+                               case TokenType.OP_COALESCING:
+                               case TokenType.OP_DEC:
+                               case TokenType.OP_EQ:
+                               case TokenType.OP_GE:
+                               case TokenType.OP_GT:
+                               case TokenType.OP_INC:
+                               case TokenType.OP_LE:
+                               case TokenType.OP_LT:
+                               case TokenType.OP_NE:
+                               case TokenType.OP_NEG:
+                               case TokenType.OP_OR:
+                               case TokenType.OPEN_BRACE:
+                               case TokenType.OPEN_PARENS:
+                               case TokenType.PLUS:
+                               case TokenType.RETURN:
                                        type = TokenType.OPEN_REGEX_LITERAL;
                                        state_stack += State.REGEX_LITERAL;
                                        current++;
-                               } else {
+                                       break;
+                               default:
                                        type = TokenType.DIV;
                                        current++;
                                        if (current < end && current[0] == '=') {
                                                type = TokenType.ASSIGN_DIV;
                                                current++;
                                        }
+                                       break;
                                }
                                break;
                        case '%':