Add a table showing all XHPAST linter rules to the output of arc linters xhpast
Summary: Now that we have 91 subclasses of ArcanistXHPASTLinterRule, it is becoming difficult to manage the IDs. This diff adds a table to arc linters xhpast workflow to facilitate this.
Test Plan:
> arc xhpast-linter-rules +=====+=======================================================+===================================================================+ | ID | Class | Name | +=====+=======================================================+===================================================================+ | 1 | ArcanistSyntaxErrorXHPASTLinterRule | PHP Syntax Error! | | 2 | ArcanistUnableToParseXHPASTLinterRule | Unable to Parse | | 3 | ArcanistVariableVariableXHPASTLinterRule | Use of Variable Variable | | 4 | ArcanistExtractUseXHPASTLinterRule | Use of `extract` | | 5 | ArcanistUndeclaredVariableXHPASTLinterRule | Use of Undeclared Variable | | 6 | ArcanistPHPShortTagXHPASTLinterRule | Use of Short Tag `<?` | | 7 | ArcanistPHPEchoTagXHPASTLinterRule | Use of Echo Tag `<?=` | | 8 | ArcanistPHPCloseTagXHPASTLinterRule | Use of Close Tag `?>` | | 9 | ArcanistNamingConventionsXHPASTLinterRule | Naming Conventions | | 10 | ArcanistImplicitConstructorXHPASTLinterRule | Implicit Constructor | | 12 | ArcanistDynamicDefineXHPASTLinterRule | Dynamic `define` | | 13 | ArcanistStaticThisXHPASTLinterRule | Use of `$this` in Static Context | | 14 | ArcanistPregQuoteMisuseXHPASTLinterRule | Misuse of `preg_quote` | | 15 | ArcanistPHPOpenTagXHPASTLinterRule | Expected Open Tag | | 16 | ArcanistTodoCommentXHPASTLinterRule | TODO Comment | | 17 | ArcanistExitExpressionXHPASTLinterRule | `exit` Used as Expression | | 18 | ArcanistCommentStyleXHPASTLinterRule | Comment Style | | 19 | ArcanistClassFilenameMismatchXHPASTLinterRule | Class-Filename Mismatch | | 20 | ArcanistTautologicalExpressionXHPASTLinterRule | Tautological Expression | | 21 | ArcanistPlusOperatorOnStringsXHPASTLinterRule | Not String Concatenation | | 22 | ArcanistDuplicateKeysInArrayXHPASTLinterRule | Duplicate Keys in Array | | 23 | ArcanistReusedIteratorXHPASTLinterRule | Reuse of Iterator Variable | | 24 | ArcanistBraceFormattingXHPASTLinterRule | Brace Placement | | 25 | ArcanistParenthesesSpacingXHPASTLinterRule | Spaces Inside Parentheses | | 26 | ArcanistControlStatementSpacingXHPASTLinterRule | Space After Control Statement | | 27 | ArcanistBinaryExpressionSpacingXHPASTLinterRule | Space Around Binary Operator | | 28 | ArcanistArrayIndexSpacingXHPASTLinterRule | Spacing Before Array Index | | 30 | ArcanistImplicitFallthroughXHPASTLinterRule | Implicit Fallthrough | | 32 | ArcanistReusedAsIteratorXHPASTLinterRule | Variable Reused As Iterator | | 34 | ArcanistCommentSpacingXHPASTLinterRule | Comment Spaces | | 36 | ArcanistSlownessXHPASTLinterRule | Slow Construct | | 37 | ArcanistCallParenthesesXHPASTLinterRule | Call Formatting | | 38 | ArcanistDeclarationParenthesesXHPASTLinterRule | Declaration Formatting | | 39 | ArcanistReusedIteratorReferenceXHPASTLinterRule | Reuse of Iterator References | | 40 | ArcanistKeywordCasingXHPASTLinterRule | Keyword Conventions | | 41 | ArcanistDoubleQuoteXHPASTLinterRule | Unnecessary Double Quotes | | 42 | ArcanistElseIfUsageXHPASTLinterRule | `elseif` Usage | | 43 | ArcanistSemicolonSpacingXHPASTLinterRule | Semicolon Spacing | | 44 | ArcanistConcatenationOperatorXHPASTLinterRule | Concatenation Spacing | | 45 | ArcanistPHPCompatibilityXHPASTLinterRule | PHP Compatibility | | 46 | ArcanistLanguageConstructParenthesesXHPASTLinterRule | Language Construct Parentheses | | 47 | ArcanistEmptyStatementXHPASTLinterRule | Empty Block Statement | | 48 | ArcanistArraySeparatorXHPASTLinterRule | Array Separator | | 49 | ArcanistConstructorParenthesesXHPASTLinterRule | Constructor Parentheses | | 50 | ArcanistDuplicateSwitchCaseXHPASTLinterRule | Duplicate Case Statements | | 51 | ArcanistBlacklistedFunctionXHPASTLinterRule | Use of Blacklisted Function | | 52 | ArcanistImplicitVisibilityXHPASTLinterRule | Implicit Method Visibility | | 53 | ArcanistCallTimePassByReferenceXHPASTLinterRule | Call-Time Pass-By-Reference | | 54 | ArcanistFormattedStringXHPASTLinterRule | Formatted String | | 55 | ArcanistUnnecessaryFinalModifierXHPASTLinterRule | Unnecessary Final Modifier | | 56 | ArcanistUnnecessarySemicolonXHPASTLinterRule | Unnecessary Semicolon | | 57 | ArcanistSelfMemberReferenceXHPASTLinterRule | Self Member Reference | | 58 | ArcanistLogicalOperatorsXHPASTLinterRule | Logical Operators | | 59 | ArcanistInnerFunctionXHPASTLinterRule | Inner Functions | | 60 | ArcanistDefaultParametersXHPASTLinterRule | Default Parameters | | 61 | ArcanistLowercaseFunctionsXHPASTLinterRule | Lowercase Functions | | 62 | ArcanistClassNameLiteralXHPASTLinterRule | Class Name Literal | | 63 | ArcanistUselessOverridingMethodXHPASTLinterRule | Useless Overriding Method | | 64 | ArcanistNoParentScopeXHPASTLinterRule | No Parent Scope | | 65 | ArcanistAliasFunctionXHPASTLinterRule | Alias Functions | | 66 | ArcanistCastSpacingXHPASTLinterRule | Cast Spacing | | 67 | ArcanistToStringExceptionXHPASTLinterRule | Throwing Exception in `__toString` Method | | 68 | ArcanistLambdaFuncFunctionXHPASTLinterRule | `__lambda_func` Function | | 69 | ArcanistInstanceOfOperatorXHPASTLinterRule | `instanceof` Operator | | 70 | ArcanistInvalidDefaultParameterXHPASTLinterRule | Invalid Default Parameter | | 71 | ArcanistModifierOrderingXHPASTLinterRule | Modifier Ordering | | 72 | ArcanistInvalidModifiersXHPASTLinterRule | Invalid Modifiers | | 73 | ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule | Space After Unary Prefix Operator | | 74 | ArcanistObjectOperatorSpacingXHPASTLinterRule | Object Operator Spacing | | 75 | ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule | Space Before Unary Postfix Operator | | 76 | ArcanistArrayValueXHPASTLinterRule | Array Element | | 77 | ArcanistListAssignmentXHPASTLinterRule | List Assignment | | 78 | ArcanistInlineHTMLXHPASTLinterRule | Inline HTML | | 79 | ArcanistGlobalVariableXHPASTLinterRule | Global Variables | | 80 | ArcanistParseStrUseXHPASTLinterRule | Questionable Use of `parse_str` | | 81 | ArcanistNewlineAfterOpenTagXHPASTLinterRule | Newline After PHP Open Tag | | 82 | ArcanistEmptyFileXHPASTLinterRule | Empty File | | 83 | ArcanistParentMemberReferenceXHPASTLinterRule | Parent Member Reference | | 84 | ArcanistArrayCombineXHPASTLinterRule | `array_combine()` Unreliable | | 85 | ArcanistDeprecationXHPASTLinterRule | Use of Deprecated Function | | 86 | ArcanistUnsafeDynamicStringXHPASTLinterRule | Unsafe Usage of Dynamic String | | 87 | ArcanistRaggedClassTreeEdgeXHPASTLinterRule | Class Not `abstract` Or `final` | | 88 | ArcanistClassExtendsObjectXHPASTLinterRule | Class Not Extending `Phobject` | | 90 | ArcanistNestedNamespacesXHPASTLinterRule | Nested `namespace` Statements | | 91 | ArcanistThisReassignmentXHPASTLinterRule | `$this` Reassignment | | 92 | ArcanistUnexpectedReturnValueXHPASTLinterRule | Unexpected `return` Value | | 97 | ArcanistUseStatementNamespacePrefixXHPASTLinterRule | `use` Statement Namespace Prefix | | 99 | ArcanistUnnecessarySymbolAliasXHPASTLinterRule | Unnecessary Symbol Alias | | 107 | ArcanistAbstractPrivateMethodXHPASTLinterRule | `abstract` Method Cannot Be Declared `private` | | 108 | ArcanistAbstractMethodBodyXHPASTLinterRule | `abstract` Method Cannot Contain Body | | 113 | ArcanistClassMustBeDeclaredAbstractXHPASTLinterRule | `class` Containing `abstract` Methods Must Be Declared `abstract` | +=====+=======================================================+===================================================================+
Reviewers: Blessed Reviewers, epriestley
Reviewed By: Blessed Reviewers, epriestley
Subscribers: Korvin
Differential Revision: https://secure.phabricator.com/D14563