2
2
3
3
# TODO this is work in progress
4
4
5
- from typing import Any
5
+ from typing import Any , Callable , Dict , Sequence
6
6
7
7
class ModuleType :
8
8
__name__ = ... # type: str
@@ -12,8 +12,55 @@ class ModuleType:
12
12
class MethodType : ...
13
13
class BuiltinMethodType : ...
14
14
15
+ class CodeType :
16
+ """Create a code object. Not for the faint of heart."""
17
+ def __init__ (self ,
18
+ argcount : int ,
19
+ kwonlyargcount : int ,
20
+ nlocals : int ,
21
+ stacksize : int ,
22
+ flags : int ,
23
+ codestring : bytes ,
24
+ constants : Sequence [Any ],
25
+ names : Sequence [str ],
26
+ varnames : Sequence [str ],
27
+ filename : str ,
28
+ name : str ,
29
+ firstlineno : int ,
30
+ lnotab : bytes ,
31
+ freevars : Sequence [str ] = (),
32
+ cellvars : Sequence [str ] = (),
33
+ ) -> None :
34
+ self .co_argcount = argcount
35
+ self .co_kwonlyargcount = kwonlyargcount
36
+ self .co_nlocals = nlocals
37
+ self .co_stacksize = stacksize
38
+ self .co_flags = flags
39
+ self .co_code = codestring
40
+ self .co_consts = constants
41
+ self .co_names = names
42
+ self .co_varnames = varnames
43
+ self .co_filename = filename
44
+ self .co_name = name
45
+ self .co_firstlineno = firstlineno
46
+ self .co_lnotab = lnotab
47
+ self .co_freevars = freevars
48
+ self .co_cellvars = cellvars
49
+
50
+ class FrameType :
51
+ f_back = ... # type: FrameType
52
+ f_builtins = ... # type: Dict[str, Any]
53
+ f_code = ... # type: CodeType
54
+ f_globals = ... # type: Dict[str, Any]
55
+ f_lasti = ... # type: int
56
+ f_lineno = ... # type: int
57
+ f_locals = ... # type: Dict[str, Any]
58
+ f_trace = ... # type: Callable[[], None]
59
+
60
+ def clear (self ) -> None : pass
61
+
15
62
class TracebackType :
16
- tb_frame = ... # type: Any
63
+ tb_frame = ... # type: FrameType
17
64
tb_lasti = ... # type: int
18
65
tb_lineno = ... # type: int
19
- tb_next = ... # type: Any
66
+ tb_next = ... # type: TracebackType
0 commit comments