/** * Sets a new php source file. * * @param string $sourceFile A php source file. * * @return void */ public function setSourceFile($sourceFile) { $storage = PHP_Depend_StorageRegistry::get(PHP_Depend::PARSER_STORAGE); $id = '$Id$-@package_version@'; $key = md5_file($sourceFile); $group = get_class($this->_tokenizer); $tokens = $storage->restore($key, $group, $id); if (is_array($tokens)) { $this->_sourceFile = new PHP_Depend_Code_File($sourceFile); $this->_sourceFile->setTokens($tokens); } else { $this->_tokenizer->setSourceFile($sourceFile); $this->_sourceFile = $this->_tokenizer->getSourceFile(); $tokens = $this->_sourceFile->getTokens(); $storage->store($tokens, $key, $group, $id); } $this->_tokens = $tokens; $this->_index = 0; $this->_count = count($tokens); }