From 2b16b166cf003dfb585c5068c5d6ab7c2a246f3a Mon Sep 17 00:00:00 2001 From: Ben Davies Date: Tue, 5 Apr 2016 10:47:28 +0100 Subject: [PATCH] work around bug https://bugs.php.net/bug.php?id=71964 --- src/Lexer.php | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/Lexer.php b/src/Lexer.php index 333414a8..e3bad4b5 100644 --- a/src/Lexer.php +++ b/src/Lexer.php @@ -56,20 +56,22 @@ protected function getNonCatchablePatterns() */ protected function getType(&$value) { - switch($value) { - case ')': - return self::T_CLOSE_PARENTHESIS; - case '{': - return self::T_OPEN_CURLY_BRACE; - case '}': - return self::T_CLOSE_CURLY_BRACE; - case ':': - return self::T_COLON; - case ',': - return self::T_COMMA; - default: - $type = self::T_NONE; - break; + $type = self::T_NONE; + + if (')' === $value) { + return self::T_CLOSE_PARENTHESIS; + } + if ('{' === $value) { + return self::T_OPEN_CURLY_BRACE; + } + if ('}' === $value) { + return self::T_CLOSE_CURLY_BRACE; + } + if (':' === $value) { + return self::T_COLON; + } + if (',' === $value) { + return self::T_COMMA; } if ($this->isTypePatternToken($value)) {