From 6d8d2d0a396a1510a9287bc302e1ae6f3c79db82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=B7=D0=B4=D0=B0=D0=B9=D1=89=D0=B8=D0=BA?= <a.v.konovalov87@mail.ru> Date: Fri, 26 Jul 2019 17:46:14 +0300 Subject: [PATCH] =?UTF-8?q?FIXED:=20=D0=B2=D1=81=D1=82=D1=80=D0=B0=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84=D1=83=D0=BD=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=B9=20<F*n=20=E2=80=A6>=20(#122,=20#239)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Прогонка для функций <F*n …> работала, а встраивание — нет, из-за чего в сгенерированном коде оставались вызовы <Apply*1 (&F e.B) e.A>. --- src/compiler/OptTree-Drive.ref | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/compiler/OptTree-Drive.ref b/src/compiler/OptTree-Drive.ref index cfae8d63..bfe3110f 100644 --- a/src/compiler/OptTree-Drive.ref +++ b/src/compiler/OptTree-Drive.ref @@ -461,6 +461,18 @@ DropLeft { */ FindInlineInfo { + t.InlineInfo e.Name + , e.Name : e.Prefix '*' s.N + , <CutSUF e.Prefix> : e.Prefix^ + , t.InlineInfo + : ( + (e.B1 (e.Prefix) e.E1) + e.B2 (Inline s.ScopeClass (e.Prefix) s.Body) e.E2 + ) + = <s.Body> : Sentences e.Sentences + = Success + (Inline s.ScopeClass (e.Name) Sentences <DropLeft e.Sentences s.N>); + t.InlineInfo e.Name , t.InlineInfo : ((e.B1 (e.Name) e.E1) e.B2 (Inline s.ScopeClass (e.Name) s.Body) e.E2)