Lines Matching refs:co
187 def _get_code_array(co, adaptive):
188 return co._co_code_adaptive if adaptive else co.co_code
194 def _format_code_info(co):
196 lines.append("Name: %s" % co.co_name)
197 lines.append("Filename: %s" % co.co_filename)
198 lines.append("Argument count: %s" % co.co_argcount)
199 lines.append("Positional-only arguments: %s" % co.co_posonlyargcount)
200 lines.append("Kw-only arguments: %s" % co.co_kwonlyargcount)
201 lines.append("Number of locals: %s" % co.co_nlocals)
202 lines.append("Stack size: %s" % co.co_stacksize)
203 lines.append("Flags: %s" % pretty_flags(co.co_flags))
204 if co.co_consts:
206 for i_c in enumerate(co.co_consts):
208 if co.co_names:
210 for i_n in enumerate(co.co_names):
212 if co.co_varnames:
214 for i_n in enumerate(co.co_varnames):
216 if co.co_freevars:
218 for i_n in enumerate(co.co_freevars):
220 if co.co_cellvars:
222 for i_n in enumerate(co.co_cellvars):
226 def show_code(co, *, file=None):
231 print(code_info(co), file=file)
341 co = _get_code_object(x)
342 linestarts = dict(findlinestarts(co))
344 line_offset = first_line - co.co_firstlineno
347 return _get_instructions_bytes(_get_code_array(co, adaptive),
348 co._varname_from_oparg,
349 co.co_names, co.co_consts,
351 co_positions=co.co_positions(),
519 def disassemble(co, lasti=-1, *, file=None, show_caches=False, adaptive=False):
521 linestarts = dict(findlinestarts(co))
522 exception_entries = _parse_exception_table(co)
523 _disassemble_bytes(_get_code_array(co, adaptive),
524 lasti, co._varname_from_oparg,
525 co.co_names, co.co_consts, linestarts, file=file,
527 co_positions=co.co_positions(), show_caches=show_caches)
529 def _disassemble_recursive(co, *, file=None, depth=None, show_caches=False, adaptive=False):
530 disassemble(co, file=file, show_caches=show_caches, adaptive=adaptive)
534 for x in co.co_consts:
651 def _find_imports(co):
661 consts = co.co_consts
662 names = co.co_names
663 opargs = [(op, arg) for _, op, arg in _unpack_opargs(co.co_code)
674 def _find_store_names(co):
684 names = co.co_names
685 for _, op, arg in _unpack_opargs(co.co_code):
699 self.codeobj = co = _get_code_object(x)
701 self.first_line = co.co_firstlineno
705 self._line_offset = first_line - co.co_firstlineno
706 self._linestarts = dict(findlinestarts(co))
709 self.exception_entries = _parse_exception_table(co)
714 co = self.codeobj
715 return _get_instructions_bytes(_get_code_array(co, self.adaptive),
716 co._varname_from_oparg,
717 co.co_names, co.co_consts,
721 co_positions=co.co_positions(),
743 co = self.codeobj
749 _disassemble_bytes(_get_code_array(co, self.adaptive),
750 varname_from_oparg=co._varname_from_oparg,
751 names=co.co_names, co_consts=co.co_consts,
757 co_positions=co.co_positions(),