summaryrefslogtreecommitdiff
path: root/vala/valascanner.vala
diff options
context:
space:
mode:
authorJukka-Pekka Iivonen <jp0409@jippii.fi>2010-04-28 14:01:14 +0200
committerJürg Billeter <j@bitron.ch>2010-04-28 14:01:14 +0200
commit6c514337b6c696438ecbd14d1d1fbebf2bbdc036 (patch)
treeabebd5514b83b6fe09abc6e484ff50f731711e1f /vala/valascanner.vala
parent4ba4d5109e7255b29cf37fa9f3c08eb7dc0b096e (diff)
downloadvala-6c514337b6c696438ecbd14d1d1fbebf2bbdc036.tar.gz
Support regular expression literals after more tokens
Fixes bug 615558.
Diffstat (limited to 'vala/valascanner.vala')
-rw-r--r--vala/valascanner.vala26
1 files changed, 23 insertions, 3 deletions
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 '%':