From: Jukka-Pekka Iivonen Date: Wed, 28 Apr 2010 12:01:14 +0000 (+0200) Subject: Support regular expression literals after more tokens X-Git-Tag: 0.9.1~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c514337b6c696438ecbd14d1d1fbebf2bbdc036;p=thirdparty%2Fvala.git Support regular expression literals after more tokens Fixes bug 615558. --- diff --git a/vala/valascanner.vala b/vala/valascanner.vala index 3a05b5c37..420530ccb 100644 --- a/vala/valascanner.vala +++ b/vala/valascanner.vala @@ -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 '%':