1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-03-13 12:54:52 +01:00
phorge-arcanist/src/lint/linter/xhpast/rules/ArcanistUnableToParseXHPASTLinterRule.php
Joshua Spence 0b1acf0dc0 Split the ArcanistXHPASTLinter into modular rules
Summary:
The `ArcanistXHPASTLinter` class is becoming quite bloated. This diff separates the class into one-class-per-rule, which makes everything much more modular. One downside to this decoupling is that code reuse between linter rules is much more difficult, although this only affects a very small number of linter rules.

There is still some further work that could be done here, but I defer this until a later diff:

  - Rewrite `ArcanistPhutilXHPASTLinter` using `ArcanistXHPASTLinterRule`.
  - Change the unit tests so that they are truly only testing a single linter rule.
  - Maybe improve the way in which linter configuration options are handled.
  - Make it easier to keep track of the linter rule IDs (see T6859).

Test Plan: `arc unit`

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: johnny-bit, epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D10541
2015-06-01 15:49:16 +10:00

20 lines
380 B
PHP

<?php
final class ArcanistUnableToParseXHPASTLinterRule
extends ArcanistXHPASTLinterRule {
const ID = 2;
public function getLintName() {
return pht('Unable to Parse');
}
public function getLintSeverity() {
return ArcanistLintSeverity::SEVERITY_WARNING;
}
public function process(XHPASTNode $root) {
// This linter rule isn't used explicitly.
}
}