[WHLSL] parseEffectfulSuffix() is never called
authorrmorisset@apple.com <rmorisset@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2019 21:49:54 +0000 (21:49 +0000)
committerrmorisset@apple.com <rmorisset@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 14 May 2019 21:49:54 +0000 (21:49 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195864
<rdar://problem/50746278>

Reviewed by Myles C. Maxfield.

The fix is trivial: when parseEffectfulPrefix does not see a ++ or --, it must call parseEffectfulSuffix.

No test yet, as it is not testable until the property resolver is finished.
It will be tested with the rest of the compiler, when we port the testsuite from the js implementation (it already covers this case).

* Modules/webgpu/WHLSL/WHLSLParser.cpp:
(WebCore::WHLSL::Parser::parseEffectfulPrefix):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/webgpu/WHLSL/WHLSLParser.cpp

index 5def6e6..c1fabc0 100644 (file)
@@ -1,5 +1,21 @@
 2019-05-14  Robin Morisset  <rmorisset@apple.com>
 
+        [WHLSL] parseEffectfulSuffix() is never called
+        https://bugs.webkit.org/show_bug.cgi?id=195864
+        <rdar://problem/50746278>
+
+        Reviewed by Myles C. Maxfield.
+
+        The fix is trivial: when parseEffectfulPrefix does not see a ++ or --, it must call parseEffectfulSuffix.
+
+        No test yet, as it is not testable until the property resolver is finished.
+        It will be tested with the rest of the compiler, when we port the testsuite from the js implementation (it already covers this case).
+
+        * Modules/webgpu/WHLSL/WHLSLParser.cpp:
+        (WebCore::WHLSL::Parser::parseEffectfulPrefix):
+
+2019-05-14  Robin Morisset  <rmorisset@apple.com>
+
         [WHLSL] parseEffectfulAssignment should not call parseCallExpression directly
         https://bugs.webkit.org/show_bug.cgi?id=197890
 
index 2356273..39dd7a2 100644 (file)
@@ -1810,7 +1810,7 @@ auto Parser::parseEffectfulPrefix() -> Expected<UniqueRef<AST::Expression>, Erro
 {
     auto prefix = consumeTypes({ Lexer::Token::Type::PlusPlus, Lexer::Token::Type::MinusMinus });
     if (!prefix)
-        return Unexpected<Error>(prefix.error());
+        return parseEffectfulSuffix();
 
     auto previous = parsePossiblePrefix();
     if (!previous)