docstr: Overrides Symbolizer.symbolize.
docstr_tok: ["Overrides","Symbolizer.symbolize","."]
code: def symbolize(self, addr, binary, offset):
      """Overrides Symbolizer.symbolize."""
      if self.binary != binary:
          return None
      self.open_atos()
      self.write_addr_to_pipe(offset)
      self.pipe.stdin.close()
      atos_line = self.pipe.stdout.readline().rstrip()
      # A well-formed atos response looks like this:
      #   foo(type1, type2) (in object.name) (filename.cc:80)
      match = re.match("^(.*) \(in (.*)\) \((.*:\d*)\)$", atos_line)
      if DEBUG:
          print("atos_line: {0}".format(atos_line))
      if match:
          function_name = match.group(1)
          function_name = re.sub("\(.*?\)", "", function_name)
          file_name = fix_filename(match.group(3))
          return ["%s in %s %s" % (addr, function_name, file_name)]
      else:
          return ["%s in %s" % (addr, atos_line)]
  
imports: import bisect
  import os
  import re
  import subprocess
  import sys
label_desc: Use image node_id 4 for calling the DarwinSymbolizer obj's underlying member method code with example usage: obj.symbolize(addr, binary, offset) and returns: None, list, list