From 0ca14d8e6c37f5d1360178034851f36c636a7a43 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Thu, 9 Nov 2023 18:30:16 +0800 Subject: fix a missing case for condition chaining. --- spec/inputs/cond.yue | 2 ++ spec/outputs/cond.lua | 11 +++++++++++ 2 files changed, 13 insertions(+) (limited to 'spec') diff --git a/spec/inputs/cond.yue b/spec/inputs/cond.yue index f5f42a8..5bc6c9b 100644 --- a/spec/inputs/cond.yue +++ b/spec/inputs/cond.yue @@ -247,6 +247,7 @@ do a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) a = v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or x and y a = x and y or v(1) < v(2) < v(3) and b < v(4) < v(5) < v(6) or w and z + a = 1 < 2 == v1 > 3 local v1, v2, v3, v4, v5, v6 a = v1 < v2 < v3 < v4 @@ -258,6 +259,7 @@ do a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 a = v1 < v2 < v3 and b < v4 < v5 < v6 or x and y a = x and y or v1 < v2 < v3 and b < v4 < v5 < v6 or w and z + a = 1 < 2 == v1 > 3 nil diff --git a/spec/outputs/cond.lua b/spec/outputs/cond.lua index d7aae02..acbf644 100644 --- a/spec/outputs/cond.lua +++ b/spec/outputs/cond.lua @@ -503,6 +503,16 @@ do end end end)() or w and z + if not (1 < 2) then + a = false + else + local _cond_0 = v1 + if not (2 == _cond_0) then + a = false + else + a = _cond_0 > 3 + end + end local v1, v2, v3, v4, v5, v6 a = v1 < v2 and v2 < v3 and v3 < v4 a = x and y or v1 < v2 and v2 < v3 and v3 < v4 @@ -512,5 +522,6 @@ do a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 a = v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or x and y a = x and y or v1 < v2 and v2 < v3 and b < v4 and v4 < v5 and v5 < v6 or w and z + a = 1 < 2 and 2 == v1 and v1 > 3 end return nil -- cgit v1.2.3-55-g6feb