1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-21 14:22:40 +01:00

Use PhutilClassMapQuery instead of PhutilSymbolLoader

Summary: Use `PhutilClassMapQuery` instead of `PhutilSymbolLoader`, mainly for consistency. Depends on D13572.

Test Plan: This hasn't been tested very comphrehensively as of yet.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D13573
This commit is contained in:
Joshua Spence 2015-08-11 06:50:47 +10:00
parent 587f7440e3
commit 0e09578720
4 changed files with 10 additions and 56 deletions

View file

@ -35,28 +35,10 @@ class ArcanistConfiguration extends Phobject {
}
public function buildAllWorkflows() {
$workflows_by_name = array();
$workflows_by_class_name = id(new PhutilSymbolLoader())
return id(new PhutilClassMapQuery())
->setAncestorClass('ArcanistWorkflow')
->loadObjects();
foreach ($workflows_by_class_name as $class => $workflow) {
$name = $workflow->getWorkflowName();
if (isset($workflows_by_name[$name])) {
$other = get_class($workflows_by_name[$name]);
throw new Exception(
pht(
'Workflows %s and %s both implement workflows named %s.',
$class,
$other,
$name));
}
$workflows_by_name[$name] = $workflow;
}
return $workflows_by_name;
->setUniqueMethod('getWorkflowName')
->execute();
}
final public function isValidWorkflow($workflow) {

View file

@ -137,36 +137,10 @@ final class ArcanistConfigurationDrivenLintEngine extends ArcanistLintEngine {
}
private function loadAvailableLinters() {
$linters = id(new PhutilSymbolLoader())
return id(new PhutilClassMapQuery())
->setAncestorClass('ArcanistLinter')
->loadObjects();
$map = array();
foreach ($linters as $linter) {
$name = $linter->getLinterConfigurationName();
// This linter isn't selectable through configuration.
if ($name === null) {
continue;
}
if (empty($map[$name])) {
$map[$name] = $linter;
continue;
}
$orig_class = get_class($map[$name]);
$this_class = get_class($linter);
throw new Exception(
pht(
"Two linters (`%s`, `%s`) both have the same configuration ".
"name ('%s'). Linters must have unique configuration names.",
$orig_class,
$this_class,
$name));
}
return $map;
->setUniqueMethod('getLinterConfigurationName', true)
->execute();
}
private function matchPaths(

View file

@ -76,11 +76,9 @@ final class PhutilUnitTestEngine extends ArcanistUnitTestEngine {
private function getAllTests() {
$project_root = $this->getWorkingCopy()->getProjectRoot();
$symbols = id(new PhutilSymbolLoader())
->setType('class')
$symbols = id(new PhutilClassMapQuery())
->setAncestorClass('PhutilTestCase')
->setConcreteOnly(true)
->selectSymbolsWithoutLoading();
->execute();
$in_working_copy = array();

View file

@ -36,9 +36,9 @@ EOTEXT
public function run() {
$console = PhutilConsole::getConsole();
$linters = id(new PhutilSymbolLoader())
$linters = id(new PhutilClassMapQuery())
->setAncestorClass('ArcanistLinter')
->loadObjects();
->execute();
try {
$built = $this->newLintEngine()->buildLinters();