original_string: public function scan($file)
      {
          // If no decision is already made about this file
          if (!isset($this->states[$file])) {
              $this->display(' -> Scanning '.$file.'...');
              $this->states[$file] = self::NO_PARSE;
              $entry = $this->metas->get($file);
              $rst = $this->getRST($file);
  
              if (!$entry || !file_exists($rst) || $entry['ctime'] < filectime($rst)) {
                  // File was never seen or changed and thus need to be parsed
                  $this->addToParseQueue($file);
              } else {
                  // Have a look to the file dependencies to knoww if you need to parse
                  // it or not
                  $depends = $entry['depends'];
  
                  if (isset($entry['parent'])) {
                      $depends[] = $entry['parent'];
                  }
  
                  foreach ($depends as $dependency) {
                      $this->scan($dependency);
  
                      // If any dependency needs to be parsed, this file needs also to be
                      // parsed
                      if ($this->states[$dependency] == self::PARSE) {
                          $this->addToParseQueue($file);
                      }
                  }
              }
          }
      }
code: public function scan($file)
      {
          // If no decision is already made about this file
          if (!isset($this->states[$file])) {
              $this->display(' -> Scanning '.$file.'...');
              $this->states[$file] = self::NO_PARSE;
              $entry = $this->metas->get($file);
              $rst = $this->getRST($file);
  
              if (!$entry || !file_exists($rst) || $entry['ctime'] < filectime($rst)) {
                  // File was never seen or changed and thus need to be parsed
                  $this->addToParseQueue($file);
              } else {
                  // Have a look to the file dependencies to knoww if you need to parse
                  // it or not
                  $depends = $entry['depends'];
  
                  if (isset($entry['parent'])) {
                      $depends[] = $entry['parent'];
                  }
  
                  foreach ($depends as $dependency) {
                      $this->scan($dependency);
  
                      // If any dependency needs to be parsed, this file needs also to be
                      // parsed
                      if ($this->states[$dependency] == self::PARSE) {
                          $this->addToParseQueue($file);
                      }
                  }
              }
          }
      }
code_tokens: public function scan ( $ file ) { // If no decision is already made about this file if ( ! isset ( $ this -> states [ $ file ] ) ) { $ this -> display ( ' -> Scanning ' . $ file . '...' ) ; $ this -> states [ $ file ] = self :: NO_PARSE ; $ entry = $ this -> metas -> get ( $ file ) ; $ rst = $ this -> getRST ( $ file ) ; if ( ! $ entry || ! file_exists ( $ rst ) || $ entry [ 'ctime' ] < filectime ( $ rst ) ) { // File was never seen or changed and thus need to be parsed $ this -> addToParseQueue ( $ file ) ; } else { // Have a look to the file dependencies to knoww if you need to parse // it or not $ depends = $ entry [ 'depends' ] ; if ( isset ( $ entry [ 'parent' ] ) ) { $ depends [ ] = $ entry [ 'parent' ] ; } foreach ( $ depends as $ dependency ) { $ this -> scan ( $ dependency ) ; // If any dependency needs to be parsed, this file needs also to be // parsed if ( $ this -> states [ $ dependency ] == self :: PARSE ) { $ this -> addToParseQueue ( $ file ) ; } } } } }
docstring: Scans a file, this will check the status of the file and tell if it
  needs to be parsed or not
docstring_tokens: Scans a file this will check the status of the file and tell if it needs to be parsed or not