@@ -45,4 +45,27 @@ def co_repr(self):
45
45
return '<code object %s, file "%s", line %d>' % (self .co_name , self .co_filename , self .co_firstlineno )
46
46
47
47
48
+ def co_replace (self , ** kwargs ):
49
+ import types
50
+ return types .CodeType (
51
+ kwargs .get ('co_argcount' , self .co_argcount ),
52
+ kwargs .get ('co_posonlyargcount' , self .co_posonlyargcount ),
53
+ kwargs .get ('co_kwonlyargcount' , self .co_kwonlyargcount ),
54
+ kwargs .get ('co_nlocals' , self .co_nlocals ),
55
+ kwargs .get ('co_stacksize' , self .co_stacksize ),
56
+ kwargs .get ('co_flags' , self .co_flags ),
57
+ kwargs .get ('co_code' , self .co_code ),
58
+ kwargs .get ('co_consts' , self .co_consts ),
59
+ kwargs .get ('co_names' , self .co_names ),
60
+ kwargs .get ('co_varnames' , self .co_varnames ),
61
+ kwargs .get ('co_filename' , self .co_filename ),
62
+ kwargs .get ('co_name' , self .co_name ),
63
+ kwargs .get ('co_firstlineno' , self .co_firstlineno ),
64
+ kwargs .get ('co_lnotab' , self .co_lnotab ),
65
+ kwargs .get ('co_freevars' , self .co_freevars ),
66
+ kwargs .get ('co_cellvars' , self .co_cellvars ),
67
+ )
68
+
69
+
48
70
codetype .__repr__ = co_repr
71
+ codetype .replace = co_replace
0 commit comments