/**
  * Load a file for analysis
  *
  * @param string $file The path and filename of the file to load.
  */
 function load($file)
 {
     $s = new GString($file);
     // Set configuration file type based on extension
     $this->set_type((string) $s->getRightMost('.'));
     if (file_exists($file)) {
         $contents = file_get_contents($file);
     } else {
         $contents = '';
     }
     // Convert Windows CRLF to LF
     $contents = str_replace("\r\n", "\n", $contents);
     // Load data into isolated block
     $this->block = explode("\n", $contents);
     // Reset the isolation markers
     $this->last_block = [];
     $this->before = [];
     $this->after = [];
     $this->last_key = '';
 }