实现了 TPV 的 pyi 生成逻辑(部分),删除了直接拷贝自 CPython(TPC) 版本的死代码
This commit is contained in:
29
Test/App/circ_b.py
Normal file
29
Test/App/circ_b.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import t, c
|
||||
import stdlib
|
||||
import circ_a
|
||||
|
||||
|
||||
# ============================================================
|
||||
# 循环引用测试:模块 B
|
||||
#
|
||||
# circ_b imports circ_a, circ_a imports circ_b — 循环引用
|
||||
# ClassB.MakeA() 返回 circ_a.ClassA 实例(跨模块构造 + 类型注解)
|
||||
# ============================================================
|
||||
|
||||
|
||||
class ClassB:
|
||||
y: t.CInt
|
||||
|
||||
def __new__(self, val: t.CInt):
|
||||
r: ClassB | t.CPtr = stdlib.malloc(ClassB.__sizeof__())
|
||||
return r
|
||||
|
||||
def __init__(self, val: t.CInt):
|
||||
self.y = val
|
||||
|
||||
def GetValue(self) -> t.CInt:
|
||||
return self.y
|
||||
|
||||
def MakeA(self) -> circ_a.ClassA | t.CPtr:
|
||||
a: circ_a.ClassA | t.CPtr = circ_a.ClassA(self.y)
|
||||
return a
|
||||
Reference in New Issue
Block a user