code: def _write_source(self, file=None):
      if file is not None:
          self._write_source_to(file)
      else:
          # Write our source file to an in memory file.
          f = NativeIO()
          self._write_source_to(f)
          source_data = f.getvalue()
  
          # Determine if this matches the current file
          if os.path.exists(self.sourcefilename):
              with open(self.sourcefilename, "r") as fp:
                  needs_written = not (fp.read() == source_data)
          else:
              needs_written = True
  
          # Actually write the file out if it doesn't match
          if needs_written:
              _ensure_dir(self.sourcefilename)
              with open(self.sourcefilename, "w") as fp:
                  fp.write(source_data)
  
          # Set this flag
          self._has_source = True
  
imports: import sys, os, binascii, shutil, io
  from .None import __version_verifier_modules__
  from .None import ffiplatform
  from .error import VerificationError
label_desc: Use image node_id 11 for calling the Verifier obj's underlying member method code with example usage: obj._write_source(file) without return types