Files
TransPyV/Test/App/circ_b.py

30 lines
734 B
Python

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