修复了大量存在的问题,增加了假鸭子类型等等机制

This commit is contained in:
2026-06-25 14:49:46 +08:00
parent 19f2787db0
commit d88d11b646
827 changed files with 32617 additions and 18316 deletions

View File

@@ -0,0 +1,28 @@
"""
Auto-generated Python stub file from stdio.py
Module: stdio
"""
import t, c
def printf(fmt: t.CChar | t.CConst | t.CPtr, *args) -> t.CInt | t.CExtern | t.CExport: pass
def fprintf(stream: t.CVoid | t.CPtr, fmt: t.CChar | t.CConst | t.CPtr, *args) -> t.CInt | t.CExtern | t.CExport: pass
def sprintf(buf: t.CChar | t.CPtr, fmt: t.CChar | t.CConst | t.CPtr, *args) -> t.CInt | t.CExtern | t.CExport: pass
def snprintf(buf: t.CChar | t.CPtr, size: t.CSizeT, fmt: t.CChar | t.CConst | t.CPtr, *args) -> t.CInt | t.CExtern | t.CExport: pass
def puts(s: t.CChar | t.CConst | t.CPtr) -> t.CInt | t.CExtern | t.CExport: pass
def fputs(s: t.CChar | t.CConst | t.CPtr, stream: t.CVoid | t.CPtr) -> t.CInt | t.CExtern | t.CExport: pass
def fgets(buf: t.CChar | t.CPtr, size: t.CInt, stream: t.CVoid | t.CPtr) -> t.CChar | t.CPtr | t.CExtern | t.CExport: pass
def fflush(stream: t.CVoid | t.CPtr) -> t.CInt | t.CExtern | t.CExport: pass
stdin: t.CExtern | t.CVoid | t.CPtr
stdout: t.CExtern | t.CVoid | t.CPtr
stderr: t.CExtern | t.CVoid | t.CPtr

View File

@@ -0,0 +1,25 @@
"""
Auto-generated Python stub file from testcheck.py
Module: testcheck
"""
import t, c
import stdio
_pass_count: t.CExtern | t.CInt
_fail_count: t.CExtern | t.CInt
def begin(name: str) -> t.CInt: pass
def section(name: str) -> t.CInt: pass
def ok(msg: str) -> t.CInt: pass
def fail(msg: str) -> t.CInt: pass
def check(cond: t.CInt, ok_msg: str, fail_msg: str) -> t.CInt: pass
def info(msg: str) -> t.CInt: pass
def end() -> t.CInt: pass

View File

@@ -0,0 +1,3 @@
73edbcf76e32d00b:includes/stdio.py
9dbecd0942a39782:includes/testcheck.py
ac0d686cb2cc783b:main.py

View File

@@ -0,0 +1,73 @@
"""
Auto-generated Python stub file from main.py
Module: main
"""
import c
import t
import t as tt
import stdio
import testcheck
from t import CEnum as en
from t import CUnion as un
from t import REnum as ren
from t import CStruct as cs
from t import CInt as myint
from t import CChar, CPtr
class Color(en):
Red = 0
Green = 1
Blue = 2
class Status(tt.CEnum):
Ok = 0
Error = 1
class Data(un):
i_val: t.CInt
f_val: t.CFloat
class Opt(ren):
class Some:
val: myint
None_ = 0
class Parent:
a: t.CInt
def get_a(self: Parent) -> t.CInt: pass
class Child(Parent):
b: t.CInt
def get_sum(self: Child) -> t.CInt: pass
class Base:
x: t.CInt
def base_val(self: Base) -> t.CInt: pass
class Mid(Base):
y: t.CInt
def mid_val(self: Mid) -> t.CInt: pass
class Leaf(Mid):
z: t.CInt
def leaf_val(self: Leaf) -> t.CInt: pass
val: t.CExtern | myint
class NetHeader:
magic: t.CInt | t.BigEndian
length: t.CShort | t.BigEndian
normal: t.CInt
class TtPoint(tt.CStruct):
x: t.CInt
y: t.CInt
@tt.Object
class TtObject:
val: t.CInt
def get_val(self: TtObject) -> t.CInt: pass
class CsPoint(cs):
x: t.CInt
y: t.CInt
class TtUnion(tt.CUnion):
a: t.CInt
b: t.CFloat
@tt.Object
class TtEmptyObject:
val: t.CInt
def main() -> t.CInt: pass