mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-23 22:10:54 +01:00
Use Remarkup in linter messages
Summary: Use Remarkup (specifically, backticks) within linter messages. Depends on D14485. Test Plan: Eyeball it. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14489
This commit is contained in:
parent
ae210fda9f
commit
3b41e62f87
35 changed files with 127 additions and 102 deletions
|
@ -6,7 +6,7 @@ final class ArcanistArrayCombineXHPASTLinterRule
|
||||||
const ID = 84;
|
const ID = 84;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('%s Unreliable', 'array_combine()');
|
return pht('`%s` Unreliable', 'array_combine()');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLintSeverity() {
|
public function getLintSeverity() {
|
||||||
|
@ -35,8 +35,8 @@ final class ArcanistArrayCombineXHPASTLinterRule
|
||||||
'Prior to PHP 5.4, `%s` fails when given empty arrays. '.
|
'Prior to PHP 5.4, `%s` fails when given empty arrays. '.
|
||||||
'Prefer to write `%s` as `%s`.',
|
'Prefer to write `%s` as `%s`.',
|
||||||
'array_combine()',
|
'array_combine()',
|
||||||
'array_combine(x, x)',
|
'array_combine($x, $x)',
|
||||||
'array_fuse(x)'));
|
'array_fuse($x)'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistClassExtendsObjectXHPASTLinterRule
|
||||||
const ID = 88;
|
const ID = 88;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Class Not Extending %s', 'Phobject');
|
return pht('Class Not Extending `%s`', 'Phobject');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLintSeverity() {
|
public function getLintSeverity() {
|
||||||
|
@ -29,8 +29,8 @@ final class ArcanistClassExtendsObjectXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$class,
|
$class,
|
||||||
pht(
|
pht(
|
||||||
'Classes should extend from %s or from some other class. '.
|
'Classes should extend from `%s` or from some other class. '.
|
||||||
'All classes (except for %s itself) should have a base class.',
|
'All classes (except for `%s` itself) should have a base class.',
|
||||||
'Phobject',
|
'Phobject',
|
||||||
'Phobject'));
|
'Phobject'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ final class ArcanistClassFilenameMismatchXHPASTLinterRule
|
||||||
$decl_name,
|
$decl_name,
|
||||||
pht(
|
pht(
|
||||||
"The name of this file differs from the name of the ".
|
"The name of this file differs from the name of the ".
|
||||||
"class or interface it declares. Rename the file to '%s'.",
|
'class or interface it declares. Rename the file to `%s`.',
|
||||||
$rename));
|
$rename));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ final class ArcanistClassNameLiteralXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$string,
|
$string,
|
||||||
pht(
|
pht(
|
||||||
"Don't hard-code class names, use %s instead.",
|
"Don't hard-code class names, use `%s` instead.",
|
||||||
'__CLASS__'),
|
'__CLASS__'),
|
||||||
$replacement);
|
$replacement);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,10 @@ final class ArcanistCommentStyleXHPASTLinterRule
|
||||||
|
|
||||||
$this->raiseLintAtOffset(
|
$this->raiseLintAtOffset(
|
||||||
$comment->getOffset(),
|
$comment->getOffset(),
|
||||||
pht('Use "%s" single-line comments, not "%s".', '//', '#'),
|
pht(
|
||||||
|
'Use `%s` single-line comments, not `%s`.',
|
||||||
|
'//',
|
||||||
|
'#'),
|
||||||
'#',
|
'#',
|
||||||
preg_match('/^#\S/', $value) ? '// ' : '//');
|
preg_match('/^#\S/', $value) ? '// ' : '//');
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,9 @@ final class ArcanistDeclarationParenthesesXHPASTLinterRule
|
||||||
if (!$before) {
|
if (!$before) {
|
||||||
$this->raiseLintAtOffset(
|
$this->raiseLintAtOffset(
|
||||||
$use->getOffset(),
|
$use->getOffset(),
|
||||||
pht('Convention: space before `%s` token.', 'use'),
|
pht(
|
||||||
|
'Convention: space before `%s` token.',
|
||||||
|
'use'),
|
||||||
'',
|
'',
|
||||||
' ');
|
' ');
|
||||||
}
|
}
|
||||||
|
@ -86,7 +88,9 @@ final class ArcanistDeclarationParenthesesXHPASTLinterRule
|
||||||
if (!$after) {
|
if (!$after) {
|
||||||
$this->raiseLintAtOffset(
|
$this->raiseLintAtOffset(
|
||||||
$use->getOffset() + strlen($use->getValue()),
|
$use->getOffset() + strlen($use->getValue()),
|
||||||
pht('Convention: space after `%s` token.', 'use'),
|
pht(
|
||||||
|
'Convention: space after `%s` token.',
|
||||||
|
'use'),
|
||||||
'',
|
'',
|
||||||
' ');
|
' ');
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistDynamicDefineXHPASTLinterRule
|
||||||
const ID = 12;
|
const ID = 12;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Dynamic %s', 'define()');
|
return pht('Dynamic `%s`', 'define');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -20,8 +20,8 @@ final class ArcanistDynamicDefineXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$defined,
|
$defined,
|
||||||
pht(
|
pht(
|
||||||
'First argument to %s must be a string literal.',
|
'First argument to `%s` must be a string literal.',
|
||||||
'define()'));
|
'define'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistElseIfUsageXHPASTLinterRule
|
||||||
const ID = 42;
|
const ID = 42;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('ElseIf Usage');
|
return pht('`elseif` Usage');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLintSeverity() {
|
public function getLintSeverity() {
|
||||||
|
@ -19,7 +19,10 @@ final class ArcanistElseIfUsageXHPASTLinterRule
|
||||||
foreach ($tokens as $token) {
|
foreach ($tokens as $token) {
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$token,
|
$token,
|
||||||
pht('Usage of `%s` is preferred over `%s`.', 'else if', 'elseif'),
|
pht(
|
||||||
|
'Usage of `%s` is preferred over `%s`.',
|
||||||
|
'else if',
|
||||||
|
'elseif'),
|
||||||
'else if');
|
'else if');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ final class ArcanistExitExpressionXHPASTLinterRule
|
||||||
const ID = 17;
|
const ID = 17;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Exit Used as Expression');
|
return pht('`%s` Used as Expression', 'exit');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -34,7 +34,9 @@ final class ArcanistExitExpressionXHPASTLinterRule
|
||||||
if ($unary->getParentNode()->getTypeName() !== 'n_STATEMENT') {
|
if ($unary->getParentNode()->getTypeName() !== 'n_STATEMENT') {
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$unary,
|
$unary,
|
||||||
pht('Use `%s` as a statement, not an expression.', 'exit'));
|
pht(
|
||||||
|
'Use `%s` as a statement, not an expression.',
|
||||||
|
'exit'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistExtractUseXHPASTLinterRule
|
||||||
const ID = 4;
|
const ID = 4;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Use of %s', 'extract()');
|
return pht('Use of `%s`', 'extract');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -16,8 +16,8 @@ final class ArcanistExtractUseXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$call,
|
$call,
|
||||||
pht(
|
pht(
|
||||||
'Avoid %s. It is confusing and hinders static analysis.',
|
'Avoid `%s`. It is confusing and hinders static analysis.',
|
||||||
'extract()'));
|
'extract'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ final class ArcanistFormattedStringXHPASTLinterRule
|
||||||
'xhpast.printf-functions' => array(
|
'xhpast.printf-functions' => array(
|
||||||
'type' => 'optional map<string, int>',
|
'type' => 'optional map<string, int>',
|
||||||
'help' => pht(
|
'help' => pht(
|
||||||
'%s-style functions which take a format string and list of values '.
|
'`%s`-style functions which take a format string and list of values '.
|
||||||
'as arguments. The value for the mapping is the start index of the '.
|
'as arguments. The value for the mapping is the start index of the '.
|
||||||
'function parameters (the index of the format string parameter).',
|
'function parameters (the index of the format string parameter).',
|
||||||
'printf()'),
|
'printf()'),
|
||||||
|
|
|
@ -24,9 +24,10 @@ final class ArcanistImplicitConstructorXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$method_name_token,
|
$method_name_token,
|
||||||
pht(
|
pht(
|
||||||
'Name constructors %s explicitly. This method is a constructor '.
|
'Name constructors `%s` explicitly. This method is a '.
|
||||||
' because it has the same name as the class it is defined in.',
|
'constructor because it has the same name as the class '.
|
||||||
'__construct()'));
|
'it is defined in.',
|
||||||
|
'__construct'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,10 @@ final class ArcanistImplicitFallthroughXHPASTLinterRule
|
||||||
'xhpast.switchhook' => array(
|
'xhpast.switchhook' => array(
|
||||||
'type' => 'optional string',
|
'type' => 'optional string',
|
||||||
'help' => pht(
|
'help' => pht(
|
||||||
'Name of a concrete subclass of %s which tunes the '.
|
'Name of a concrete subclass of `%s` which tunes the '.
|
||||||
'analysis of %s statements for this linter.',
|
'analysis of `%s` statements for this linter.',
|
||||||
'ArcanistXHPASTLintSwitchHook',
|
'ArcanistXHPASTLintSwitchHook',
|
||||||
'switch()'),
|
'switch'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -190,9 +190,9 @@ final class ArcanistImplicitFallthroughXHPASTLinterRule
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
head($tokens),
|
head($tokens),
|
||||||
pht(
|
pht(
|
||||||
"This '%s' or '%s' has a nonempty block which does not end ".
|
'This `%s` or `%s` has a nonempty block which does not end '.
|
||||||
"with '%s', '%s', '%s', '%s' or '%s'. Did you forget to add ".
|
'with `%s`, `%s`, `%s`, `%s` or `%s`. Did you forget to add '.
|
||||||
"one of those? If you intend to fall through, add a '%s' ".
|
'one of those? If you intend to fall through, add a `%s` '.
|
||||||
"comment to silence this warning.",
|
"comment to silence this warning.",
|
||||||
'case',
|
'case',
|
||||||
'default',
|
'default',
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistInstanceOfOperatorXHPASTLinterRule
|
||||||
const ID = 69;
|
const ID = 69;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('%s Operator', 'instanceof');
|
return pht('`%s` Operator', 'instanceof');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -26,7 +26,7 @@ final class ArcanistInstanceOfOperatorXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$object,
|
$object,
|
||||||
pht(
|
pht(
|
||||||
'%s expects an object instance, constant given.',
|
'`%s` expects an object instance, constant given.',
|
||||||
'instanceof'));
|
'instanceof'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,8 +39,8 @@ final class ArcanistInvalidDefaultParameterXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$default,
|
$default,
|
||||||
pht(
|
pht(
|
||||||
'Default value for parameters with %s type hint '.
|
'Default value for parameters with `%s` type hint '.
|
||||||
'can only be an %s or %s.',
|
'can only be an `%s` or `%s`.',
|
||||||
'array',
|
'array',
|
||||||
'array',
|
'array',
|
||||||
'null'));
|
'null'));
|
||||||
|
@ -54,7 +54,8 @@ final class ArcanistInvalidDefaultParameterXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$default,
|
$default,
|
||||||
pht(
|
pht(
|
||||||
'Default value for parameters with %s type hint can only be %s.',
|
'Default value for parameters with `%s` type hint '.
|
||||||
|
'can only be `%s`.',
|
||||||
'callable',
|
'callable',
|
||||||
'null'));
|
'null'));
|
||||||
break;
|
break;
|
||||||
|
@ -69,7 +70,7 @@ final class ArcanistInvalidDefaultParameterXHPASTLinterRule
|
||||||
$default,
|
$default,
|
||||||
pht(
|
pht(
|
||||||
'Default value for parameters with a class type hint '.
|
'Default value for parameters with a class type hint '.
|
||||||
'can only be %s.',
|
'can only be `%s`.',
|
||||||
'null'));
|
'null'));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Properties cannot be declared %s.',
|
'Properties cannot be declared `%s`.',
|
||||||
'abstract'));
|
'abstract'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Multiple %s modifiers are not allowed.',
|
'Multiple `%s` modifiers are not allowed.',
|
||||||
'abstract'));
|
'abstract'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Cannot use the %s modifier on an %s class member',
|
'Cannot use the `%s` modifier on an `%s` class member',
|
||||||
'final',
|
'final',
|
||||||
'abstract'));
|
'abstract'));
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Cannot use the %s modifier on an %s class member',
|
'Cannot use the `%s` modifier on an `%s` class member',
|
||||||
'final',
|
'final',
|
||||||
'abstract'));
|
'abstract'));
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Multiple %s modifiers are not allowed.',
|
'Multiple `%s` modifiers are not allowed.',
|
||||||
'final'));
|
'final'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ final class ArcanistInvalidModifiersXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$modifier,
|
$modifier,
|
||||||
pht(
|
pht(
|
||||||
'Multiple %s modifiers are not allowed.',
|
'Multiple `%s` modifiers are not allowed.',
|
||||||
'static'));
|
'static'));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -89,7 +89,7 @@ final class ArcanistKeywordCasingXHPASTLinterRule
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$keyword,
|
$keyword,
|
||||||
pht(
|
pht(
|
||||||
"Convention: spell keyword '%s' as '%s'.",
|
'Convention: spell keyword `%s` as `%s`.',
|
||||||
$value,
|
$value,
|
||||||
strtolower($value)),
|
strtolower($value)),
|
||||||
strtolower($value));
|
strtolower($value));
|
||||||
|
@ -115,7 +115,7 @@ final class ArcanistKeywordCasingXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$symbol,
|
$symbol,
|
||||||
pht(
|
pht(
|
||||||
"Convention: spell keyword '%s' as '%s'.",
|
'Convention: spell keyword `%s` as `%s`.',
|
||||||
$symbol_name,
|
$symbol_name,
|
||||||
strtolower($symbol_name)),
|
strtolower($symbol_name)),
|
||||||
strtolower($symbol_name));
|
strtolower($symbol_name));
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistLambdaFuncFunctionXHPASTLinterRule
|
||||||
const ID = 68;
|
const ID = 68;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('%s Function', '__lambda_func');
|
return pht('`%s` Function', '__lambda_func');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -28,10 +28,10 @@ final class ArcanistLambdaFuncFunctionXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$function_declaration,
|
$function_declaration,
|
||||||
pht(
|
pht(
|
||||||
'Declaring a function named %s causes any call to %s to fail. '.
|
'Declaring a function named `%s` causes any call to %s to fail. '.
|
||||||
'This is because %s eval-declares the function %s, then '.
|
'This is because `%s` eval-declares the function `%s`, then '.
|
||||||
'modifies the symbol table so that the function is instead '.
|
'modifies the symbol table so that the function is instead '.
|
||||||
'named %s, and returns that name.',
|
'named `%s`, and returns that name.',
|
||||||
'__lambda_func',
|
'__lambda_func',
|
||||||
'create_function',
|
'create_function',
|
||||||
'create_function',
|
'create_function',
|
||||||
|
|
|
@ -20,7 +20,7 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
'xhpast.naminghook' => array(
|
'xhpast.naminghook' => array(
|
||||||
'type' => 'optional string',
|
'type' => 'optional string',
|
||||||
'help' => pht(
|
'help' => pht(
|
||||||
'Name of a concrete subclass of %s which enforces more '.
|
'Name of a concrete subclass of `%s` which enforces more '.
|
||||||
'granular naming convention rules for symbols.',
|
'granular naming convention rules for symbols.',
|
||||||
'ArcanistXHPASTLintNamingHook'),
|
'ArcanistXHPASTLintNamingHook'),
|
||||||
),
|
),
|
||||||
|
@ -56,8 +56,8 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::isUpperCamelCase($name_string)
|
ArcanistXHPASTLintNamingHook::isUpperCamelCase($name_string)
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: classes should be named using '.
|
'Follow naming conventions: classes should be named using `%s`.',
|
||||||
'UpperCamelCase.'),
|
'UpperCamelCase'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,8 +72,8 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::isUpperCamelCase($name_string)
|
ArcanistXHPASTLintNamingHook::isUpperCamelCase($name_string)
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: interfaces should be named using '.
|
'Follow naming conventions: interfaces should be named using `%s`.',
|
||||||
'UpperCamelCase.'),
|
'UpperCamelCase'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,8 +94,8 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::stripPHPFunction($name_string))
|
ArcanistXHPASTLintNamingHook::stripPHPFunction($name_string))
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: functions should be named using '.
|
'Follow naming conventions: functions should be named using `%s`.',
|
||||||
'lowercase_with_underscores.'),
|
'lowercase_with_underscores'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,8 +112,8 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::stripPHPFunction($name_string))
|
ArcanistXHPASTLintNamingHook::stripPHPFunction($name_string))
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: methods should be named using '.
|
'Follow naming conventions: methods should be named using `%s`.',
|
||||||
'lowerCamelCase.'),
|
'lowerCamelCase'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,8 +137,9 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::stripPHPVariable($name_string))
|
ArcanistXHPASTLintNamingHook::stripPHPVariable($name_string))
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: parameters should be named using '.
|
'Follow naming conventions: parameters '.
|
||||||
'lowercase_with_underscores.'),
|
'should be named using `%s`',
|
||||||
|
'lowercase_with_underscores'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -157,8 +158,9 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::isUppercaseWithUnderscores($name_string)
|
ArcanistXHPASTLintNamingHook::isUppercaseWithUnderscores($name_string)
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: class constants should be named '.
|
'Follow naming conventions: class constants '.
|
||||||
'using UPPERCASE_WITH_UNDERSCORES.'),
|
'should be named using `%s`',
|
||||||
|
'UPPERCASE_WITH_UNDERSCORES'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -184,8 +186,9 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::stripPHPVariable($name_string))
|
ArcanistXHPASTLintNamingHook::stripPHPVariable($name_string))
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: class properties should be named '.
|
'Follow naming conventions: class properties '.
|
||||||
'using lowerCamelCase.'),
|
'should be named using `%s`.',
|
||||||
|
'lowerCamelCase'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -269,8 +272,9 @@ final class ArcanistNamingConventionsXHPASTLinterRule
|
||||||
ArcanistXHPASTLintNamingHook::stripPHPVariable($var_string))
|
ArcanistXHPASTLintNamingHook::stripPHPVariable($var_string))
|
||||||
? null
|
? null
|
||||||
: pht(
|
: pht(
|
||||||
'Follow naming conventions: variables should be named using '.
|
'Follow naming conventions: variables '.
|
||||||
'lowercase_with_underscores.'),
|
'should be named using `%s`.',
|
||||||
|
'lowercase_with_underscores'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,9 @@ final class ArcanistNewlineAfterOpenTagXHPASTLinterRule
|
||||||
$next = $token->getNextToken();
|
$next = $token->getNextToken();
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$next,
|
$next,
|
||||||
pht('`%s` should be separated from code by an empty line.', '<?php'),
|
pht(
|
||||||
|
'`%s` should be separated from code by an empty line.',
|
||||||
|
'<?php'),
|
||||||
"\n".$next->getValue());
|
"\n".$next->getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ final class ArcanistNoParentScopeXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$static_access,
|
$static_access,
|
||||||
pht(
|
pht(
|
||||||
'Cannot access %s when current class scope has no parent.',
|
'Cannot access `%s` when current class scope has no parent.',
|
||||||
'parent::'));
|
'parent::'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistPHPCloseTagXHPASTLinterRule
|
||||||
const ID = 8;
|
const ID = 8;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Use of Close Tag "%s"', '?>');
|
return pht('Use of Close Tag `%s`', '?>');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -19,7 +19,9 @@ final class ArcanistPHPCloseTagXHPASTLinterRule
|
||||||
foreach ($root->selectTokensOfType('T_CLOSE_TAG') as $token) {
|
foreach ($root->selectTokensOfType('T_CLOSE_TAG') as $token) {
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$token,
|
$token,
|
||||||
pht('Do not use the PHP closing tag, "%s".', '?>'));
|
pht(
|
||||||
|
'Do not use the PHP closing tag, `%s`.',
|
||||||
|
'?>'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistPHPEchoTagXHPASTLinterRule
|
||||||
const ID = 7;
|
const ID = 7;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Use of Echo Tag "%s"', '<?=');
|
return pht('Use of Echo Tag `%s`', '<?=');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -16,7 +16,9 @@ final class ArcanistPHPEchoTagXHPASTLinterRule
|
||||||
if ($token->getTypeName() === 'T_OPEN_TAG_WITH_ECHO') {
|
if ($token->getTypeName() === 'T_OPEN_TAG_WITH_ECHO') {
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$token,
|
$token,
|
||||||
pht('Avoid the PHP echo short form, "%s".', '<?='));
|
pht(
|
||||||
|
'Avoid the PHP echo short form, `%s`.',
|
||||||
|
'<?='));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,8 +22,8 @@ final class ArcanistPHPOpenTagXHPASTLinterRule
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$token,
|
$token,
|
||||||
pht(
|
pht(
|
||||||
'PHP files should start with "%s", which may be preceded by '.
|
'PHP files should start with `%s`, which may be preceded by '.
|
||||||
'a "%s" line for scripts.',
|
'a `%s` line for scripts.',
|
||||||
'<?php',
|
'<?php',
|
||||||
'#!'));
|
'#!'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistPHPShortTagXHPASTLinterRule
|
||||||
const ID = 6;
|
const ID = 6;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Use of Short Tag "%s"', '<?');
|
return pht('Use of Short Tag `%s`', '<?');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -18,7 +18,7 @@ final class ArcanistPHPShortTagXHPASTLinterRule
|
||||||
$this->raiseLintAtToken(
|
$this->raiseLintAtToken(
|
||||||
$token,
|
$token,
|
||||||
pht(
|
pht(
|
||||||
'Use the full form of the PHP open tag, "%s".',
|
'Use the full form of the PHP open tag, `%s`.',
|
||||||
'<?php'),
|
'<?php'),
|
||||||
"<?php\n");
|
"<?php\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistParseStrUseXHPASTLinterRule
|
||||||
const ID = 80;
|
const ID = 80;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Questionable Use of %s', 'parse_str()');
|
return pht('Questionable Use of `%s`', 'parse_str');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -19,9 +19,9 @@ final class ArcanistParseStrUseXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$call,
|
$call,
|
||||||
pht(
|
pht(
|
||||||
'Avoid %s unless the second parameter is specified. '.
|
'Avoid `%s` unless the second parameter is specified. '.
|
||||||
'It is confusing and hinders static analysis.',
|
'It is confusing and hinders static analysis.',
|
||||||
'parse_str()'));
|
'parse_str'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,9 +26,10 @@ final class ArcanistPlusOperatorOnStringsXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$binop,
|
$binop,
|
||||||
pht(
|
pht(
|
||||||
"In PHP, '%s' is the string concatenation operator, not '%s'. ".
|
'In PHP, `%s` is the string concatenation operator, not `%s`. '.
|
||||||
"This expression uses '+' with a string literal as an operand.",
|
'This expression uses `%s` with a string literal as an operand.',
|
||||||
'.',
|
'.',
|
||||||
|
'+',
|
||||||
'+'));
|
'+'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ final class ArcanistPregQuoteMisuseXHPASTLinterRule
|
||||||
const ID = 14;
|
const ID = 14;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Misuse of %s', 'preg_quote()');
|
return pht('Misuse of `%s`', 'preg_quote');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLintSeverity() {
|
public function getLintSeverity() {
|
||||||
|
@ -33,8 +33,8 @@ final class ArcanistPregQuoteMisuseXHPASTLinterRule
|
||||||
'arguments to %s, so that %s knows which delimiter to escape.',
|
'arguments to %s, so that %s knows which delimiter to escape.',
|
||||||
'//',
|
'//',
|
||||||
'()',
|
'()',
|
||||||
'preg_quote()',
|
'preg_quote',
|
||||||
'preg_quote()'));
|
'preg_quote'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistRaggedClassTreeEdgeXHPASTLinterRule
|
||||||
const ID = 87;
|
const ID = 87;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Class Not %s Or %s', 'abstract', 'final');
|
return pht('Class Not `%s` Or `%s`', 'abstract', 'final');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLintSeverity() {
|
public function getLintSeverity() {
|
||||||
|
@ -42,8 +42,8 @@ final class ArcanistRaggedClassTreeEdgeXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$class->getChildOfType(1, 'n_CLASS_NAME'),
|
$class->getChildOfType(1, 'n_CLASS_NAME'),
|
||||||
pht(
|
pht(
|
||||||
"This class is neither '%s' nor '%s', and does not have ".
|
'This class is neither `%s` nor `%s`, and does not have '.
|
||||||
"a docblock marking it '%s'.",
|
'a docblock marking it `%s`.',
|
||||||
'final',
|
'final',
|
||||||
'abstract',
|
'abstract',
|
||||||
'@concrete-extensible'));
|
'@concrete-extensible'));
|
||||||
|
|
|
@ -173,7 +173,7 @@ final class ArcanistReusedIteratorReferenceXHPASTLinterRule
|
||||||
$var,
|
$var,
|
||||||
pht(
|
pht(
|
||||||
'This variable was used already as a by-reference iterator '.
|
'This variable was used already as a by-reference iterator '.
|
||||||
'variable. Such variables survive outside the %s loop, '.
|
'variable. Such variables survive outside the `%s` loop, '.
|
||||||
'do not reuse.',
|
'do not reuse.',
|
||||||
'foreach'));
|
'foreach'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,14 +51,14 @@ final class ArcanistSlownessXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$strstr,
|
$strstr,
|
||||||
pht(
|
pht(
|
||||||
'Use %s for checking if the string contains something.',
|
'Use `%s` for checking if the string contains something.',
|
||||||
'strpos()'));
|
'strpos'));
|
||||||
} else if ($name === 'stristr') {
|
} else if ($name === 'stristr') {
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$strstr,
|
$strstr,
|
||||||
pht(
|
pht(
|
||||||
'Use %s for checking if the string contains something.',
|
'Use `%s` for checking if the string contains something.',
|
||||||
'stripos()'));
|
'stripos'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,14 +96,14 @@ final class ArcanistSlownessXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$strpos,
|
$strpos,
|
||||||
pht(
|
pht(
|
||||||
'Use %s for checking if the string starts with something.',
|
'Use `%s` for checking if the string starts with something.',
|
||||||
'strncmp()'));
|
'strncmp'));
|
||||||
} else if ($name === 'stripos') {
|
} else if ($name === 'stripos') {
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$strpos,
|
$strpos,
|
||||||
pht(
|
pht(
|
||||||
'Use %s for checking if the string starts with something.',
|
'Use `%s` for checking if the string starts with something.',
|
||||||
'strncasecmp()'));
|
'strncasecmp'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistStaticThisXHPASTLinterRule
|
||||||
const ID = 13;
|
const ID = 13;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Use of %s in Static Context', '$this');
|
return pht('Use of `%s` in Static Context', '$this');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class ArcanistToStringExceptionXHPASTLinterRule
|
||||||
const ID = 67;
|
const ID = 67;
|
||||||
|
|
||||||
public function getLintName() {
|
public function getLintName() {
|
||||||
return pht('Throwing Exception in %s Method', '__toString');
|
return pht('Throwing Exception in `%s` Method', '__toString');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function process(XHPASTNode $root) {
|
public function process(XHPASTNode $root) {
|
||||||
|
@ -33,7 +33,7 @@ final class ArcanistToStringExceptionXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$throw,
|
$throw,
|
||||||
pht(
|
pht(
|
||||||
'It is not possible to throw an %s from within the %s method.',
|
'It is not possible to throw an `%s` from within the `%s` method.',
|
||||||
'Exception',
|
'Exception',
|
||||||
'__toString'));
|
'__toString'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ final class ArcanistUnnecessaryFinalModifierXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$attribute,
|
$attribute,
|
||||||
pht(
|
pht(
|
||||||
'Unnecessary %s modifier in %s class.',
|
'Unnecessary `%s` modifier in `%s` class.',
|
||||||
'final',
|
'final',
|
||||||
'final'));
|
'final'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,10 +92,10 @@ final class ArcanistUnsafeDynamicStringXHPASTLinterRule
|
||||||
$this->raiseLintAtNode(
|
$this->raiseLintAtNode(
|
||||||
$call,
|
$call,
|
||||||
pht(
|
pht(
|
||||||
"Parameter %d of %s should be a scalar string, ".
|
"Parameter %d of `%s` should be a scalar string, ".
|
||||||
"otherwise it's not safe.",
|
"otherwise it's not safe.",
|
||||||
$param + 1,
|
$param + 1,
|
||||||
$name.'()'));
|
$name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue