private static $instance;
/**
+ * @codeCoverageIgnore
* @return ExtensionRegistry
*/
public static function getInstance() {
} else {
throw new Exception( "$path does not exist!" );
}
+ // @codeCoverageIgnoreStart
if ( !$mtime ) {
$err = error_get_last();
throw new Exception( "Couldn't stat $path: {$err['message']}" );
+ // @codeCoverageIgnoreEnd
}
}
$this->queued[$path] = $mtime;
* @param array $queue keys are filenames, values are ignored
* @return array extracted info
* @throws Exception
+ * @throws ExtensionDependencyError
*/
public function readFromQueue( array $queue ) {
global $wgVersion;
}
if ( isset( $info['AutoloadNamespaces'] ) ) {
$autoloadNamespaces += $this->processAutoLoader( $dir, $info['AutoloadNamespaces'] );
+ AutoLoader::$psr4Namespaces += $autoloadNamespaces;
}
// get all requirements/dependencies for this extension
);
if ( $incompatible ) {
- if ( count( $incompatible ) === 1 ) {
- throw new Exception( $incompatible[0] );
- } else {
- throw new Exception( implode( "\n", $incompatible ) );
- }
+ throw new ExtensionDependencyError( $incompatible );
}
// Need to set this so we can += to it later
return $this->loaded;
}
- /**
- * Mark a thing as loaded
- *
- * @param string $name
- * @param array $credits
- */
- protected function markLoaded( $name, array $credits ) {
- $this->loaded[$name] = $credits;
- }
-
/**
* Fully expand autoloader paths
*