From 8d36b240cd0800bd5584d52cb5d19d0ae5371357 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Tue, 22 Nov 2022 09:53:46 +0800 Subject: fix optimization case from issue #115. --- spec/inputs/assign.yue | 4 ++++ spec/outputs/assign.lua | 27 +++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) (limited to 'spec') diff --git a/spec/inputs/assign.yue b/spec/inputs/assign.yue index 8c7848d..8ae5cac 100644 --- a/spec/inputs/assign.yue +++ b/spec/inputs/assign.yue @@ -85,4 +85,8 @@ do do {a} = :b = c.d = e = tab +do + val = 123 + a = b = c = val + nil diff --git a/spec/outputs/assign.lua b/spec/outputs/assign.lua index e638c47..d939769 100644 --- a/spec/outputs/assign.lua +++ b/spec/outputs/assign.lua @@ -135,23 +135,22 @@ return _(function() local d = 0 end do - local a - local b - local c - local d - do - local _tmp_0 = f() - a = _tmp_0 - b = _tmp_0 - c = _tmp_0 - d = _tmp_0 - end + local a = f() + local b = a + local c = a + local d = a end do - local a = tab[1] - local b = tab.b - c.d = tab local e = tab + local a = e[1] + local b = e.b + c.d = e + end + do + local val = 123 + local a = val + local b = val + local c = val end return nil end) -- cgit v1.2.3-55-g6feb