class_docstr: Details for a bytecode operation
  
  Defined fields:
    opname - human readable name for operation
    opcode - numeric code for operation
    arg - numeric argument to operation (if any), otherwise None
    argval - resolved arg value (if known), otherwise same as arg
    argrepr - human readable description of operation argument
    offset - start index of operation within bytecode sequence
    starts_line - line started by this opcode (if any), otherwise None
    is_jump_target - True if other code jumps to here, otherwise False
    positions - Optional dis.Positions object holding the span of source code
                covered by this instruction
class_docstr_tok: ["Details","for","a","bytecode","operation","Defined","fields",":","opname","-","human","readable","name","for","operation","opcode","-","numeric","code","for","operation","arg","-","numeric","argument","to","operation","(","if","any",")",",","otherwise","None","argval","-","resolved","arg","value","(","if","known",")",",","otherwise","same","as","arg","argrepr","-","human","readable","description","of","operation","argument","offset","-","start","index","of","operation","within","bytecode","sequence","starts_line","-","line","started","by","this","opcode","(","if","any",")",",","otherwise","None","is_jump_target","-","True","if","other","code","jumps","to","here",",","otherwise","False","positions","-","Optional","dis.Positions","object","holding","the","span","of","source","code","covered","by","this","instruction"]
docstr: Format instruction details for inclusion in disassembly output
  
  *lineno_width* sets the width of the line number field (0 omits it)
  *mark_as_current* inserts a '-->' marker arrow as part of the line
  *offset_width* sets the width of the instruction offset field
docstr_tok: ["Format","instruction","details","for","inclusion","in","disassembly","output","*","lineno_width","*","sets","the","width","of","the","line","number","field","(","0","omits","it",")","*","mark_as_current","*","inserts","a","'","--",">","'","marker","arrow","as","part","of","the","line","*","offset_width","*","sets","the","width","of","the","instruction","offset","field"]
code: def _disassemble(
      self, lineno_width=3, mark_as_current=False, offset_width=4
  ):
      """Format instruction details for inclusion in disassembly output
  
      *lineno_width* sets the width of the line number field (0 omits it)
      *mark_as_current* inserts a '-->' marker arrow as part of the line
      *offset_width* sets the width of the instruction offset field
      """
      fields = []
      # Column: Source code line number
      if lineno_width:
          if self.starts_line is not None:
              lineno_fmt = "%%%dd" % lineno_width
              fields.append(lineno_fmt % self.starts_line)
          else:
              fields.append(" " * lineno_width)
      # Column: Current instruction indicator
      if mark_as_current:
          fields.append("-->")
      else:
          fields.append("   ")
      # Column: Jump target marker
      if self.is_jump_target:
          fields.append(">>")
      else:
          fields.append("  ")
      # Column: Instruction offset from start of code sequence
      fields.append(repr(self.offset).rjust(offset_width))
      # Column: Opcode name
      fields.append(self.opname.ljust(_OPNAME_WIDTH))
      # Column: Opcode argument
      if self.arg is not None:
          fields.append(repr(self.arg).rjust(_OPARG_WIDTH))
          # Column: Opcode argument details
          if self.argrepr:
              fields.append("(" + self.argrepr + ")")
      return " ".join(fields).rstrip()
  
imports: import sys
  import types
  import collections
  import io
  from opcode import *
  from opcode import __all__, _cache_format, _inline_cache_entries, _nb_ops, _specializations, _specialized_instructions
label_desc: Use image node_id 1 for calling the Instruction obj's underlying member method code with example usage: obj._disassemble(lineno_width, mark_as_current, offset_width) and returns: str