From 5f92abb7bc98898730dae828bb641014ea413c9f Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 9 Oct 2026 12:03:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(gen):=20=E8=A1=A5=E5=9B=9E=20CallGenMixin?= =?UTF-8?q?=20=E7=9A=84=20=5FFreedMark=EF=BC=88=E4=BF=AE=E8=A1=8C=E5=B0=BE?= =?UTF-8?q?=E6=97=B6=E8=A2=AB=20checkout=20=E5=9B=9E=E6=BB=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TPC 报 MemberLookupFailFast: 属性 Freed 在 VarEntry 中找不到 —— 该文件的行尾修复用 git checkout 恢复过,把未提交的 _FreedMark 改动一并回滚了,残留 ent_wf.Freed = 1。 --- App/lib/core/Gen/Call/CallGenMixin.vp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/App/lib/core/Gen/Call/CallGenMixin.vp b/App/lib/core/Gen/Call/CallGenMixin.vp index 18c5e66..d5e2fc5 100644 --- a/App/lib/core/Gen/Call/CallGenMixin.vp +++ b/App/lib/core/Gen/Call/CallGenMixin.vp @@ -972,8 +972,7 @@ novirtual class CallGenMixin(CallGenBase.CallGenBase): if arg_wf is None or arg_wf.kind() != ast.ASTKind.Name: continue nm_wf: ast.Name* = ast.Name*(arg_wf) if nm_wf.id is None: continue - ent_wf: GenTypes.VarEntry* = self.Gen.VarGen.lookup_var_entry(trans.SymTab, nm_wf.id) - if ent_wf is not None: ent_wf.Freed = 1 + self.Gen.VarGen._FreedMark(self.Gen.VarGen.lookup_var(trans.SymTab, nm_wf.id)) # Default-argument filling: when fewer args than params, fill the gaps; the defaults array is # right-aligned to args (defaults[0] maps to args[offset], offset = param_count - default_count). if can > 0 or (can == 0 and cargs is not None):