```
> 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` |
+=====+=======================================================+===================================================================+
```