code: def reparse(self, unsaved_files=None, options=0):
          
          if unsaved_files is None:
              unsaved_files = []
  
          unsaved_files_array = 0
          if len(unsaved_files):
              unsaved_files_array = (_CXUnsavedFile * len(unsaved_files))()
              for i,(name,value) in enumerate(unsaved_files):
                  if not isinstance(value, str):
                      # FIXME: It would be great to support an efficient version
                      # of this, one day.
                      value = value.read()
                      print(value)
                  if not isinstance(value, str):
                      raise TypeError('Unexpected unsaved file contents.')
                  unsaved_files_array[i].name = name
                  unsaved_files_array[i].contents = value
                  unsaved_files_array[i].length = len(value)
          ptr = conf.lib.clang_reparseTranslationUnit(self, len(unsaved_files),
                  unsaved_files_array, options)
docs: Reparse an already parsed translation unit.
  
          In-memory contents for files can be provided by passing a list of pairs
          as unsaved_files, the first items should be the filenames to be mapped
          and the second should be the contents to be substituted for the
          file. The contents may be passed as strings or file objects.