code: def _convert_pycparser_error(self, e, csource):
      # xxx look for "<cdef source string>:NUM:" at the start of str(e)
      # and interpret that as a line number.  This will not work if
      # the user gives explicit ``# NUM "FILE"`` directives.
      line = None
      msg = str(e)
      match = re.match(r"%s:(\d+):" % (CDEF_SOURCE_STRING,), msg)
      if match:
          linenum = int(match.group(1), 10)
          csourcelines = csource.splitlines()
          if 1 <= linenum <= len(csourcelines):
              line = csourcelines[linenum - 1]
      return line
  
imports: from .None import model
  from .commontypes import COMMON_TYPES, resolve_common_type
  from .error import FFIError, CDefError
  import weakref, re, sys
label_desc: Use image node_id 3 for calling the Parser obj's underlying member method code with example usage: obj._convert_pycparser_error(e, csource) and returns: line