3
abstract class ArcanistFutureLinter extends ArcanistLinter {
7
abstract protected function buildFutures(array $paths);
8
abstract protected function resolveFuture($path, Future $future);
10
final protected function getFuturesLimit() {
14
final public function willLintPaths(array $paths) {
15
$limit = $this->getFuturesLimit();
16
$this->futures = Futures(array())->limit($limit);
17
foreach ($this->buildFutures($paths) as $path => $future) {
18
$this->futures->addFuture($future, $path);
22
final public function lintPath($path) {}
24
final public function didRunLinters() {
26
foreach ($this->futures as $path => $future) {
27
$this->willLintPath($path);
28
$this->resolveFuture($path, $future);