Skip to content

Commit e418be0

Browse files
committed
Add code.replace
1 parent 95aecc5 commit e418be0

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

graalpython/lib-graalpython/code.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,27 @@ def co_repr(self):
4545
return '<code object %s, file "%s", line %d>' % (self.co_name, self.co_filename, self.co_firstlineno)
4646

4747

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+
4870
codetype.__repr__ = co_repr
71+
codetype.replace = co_replace

0 commit comments

Comments
 (0)