Files
ViperC/App/lib/core/Handles/ForHandleIter.vp
T
TermiNexus 9f396f4874 refactor(gen): 完成 P6 机械化迁移——Handler 类并入 Gen Mixin,语句实现单层化
- 10 个 Handler 类主方法迁入 Gen:Assign/AnnAssign/AugAssign→AssignGenMixin,
  If/While/For/Return→StmtGenCifMixin,Match→新建 MatchGenMixin(注册 Generator MRO),
  Imports→ImportsGenMixin;方法体 self.Trans→trans,签名加 trans 首参
- 分派改:StmtGenMixin.translate_stmt 同链 self.translate_xxx + 跨链经 Handles 委托壳
  (NoVTable 静态绑定约束);ExprCall 分派改走 ExprCallCall 壳
- 清理:HandlesTranslator 删 11 个 Handler 字段与 _init_state 创建段;
  StmtGenCifMixin 删 5 个 NewXxxHandle 工厂;main/BuildPipeline 补 HandlesAssign._g_gen 注入
- 委托壳保留:跨 Mixin 桥(Assign/AnnAssign/AugAssign/Match/Imports)待编译器缺陷修复后删
2026-08-20 06:40:37 +08:00

21 lines
839 B
Plaintext

import t, c
from stdint import *
import lib.core.Gen.Generator as Generator
# ============================================================
# ForHandleIter - HandlesFor 拆分(迁移完成,仅保留 _g_gen 单例)
#
# P6 机械化迁移:ForHandleIter 全部方法(_handle_ptr_iter/
# _handle_array_iter/_handle_list_literal_iter/_handle_list_iter/
# _handle_dict_iter/_handle_oop_iter/_handle_enumerate_iter/
# _handle_zip_iter)→ StmtGenCifMixin 方法。
# main/BuildPipeline 仍注入 _g_gen,不可删。
# ============================================================
# ============================================================
# 全局 gen 单例(模块级镜像,同 HandlesType/HandlesStruct 模式)
# ============================================================
_g_gen: Generator.Generator | t.CPtr = None