aboutsummaryrefslogtreecommitdiff
path: root/src/test/resources
diff options
context:
space:
mode:
authorAurimas Liutikas <aurimas@google.com>2017-11-28 20:29:59 -0800
committerAurimas Liutikas <aurimas@google.com>2017-11-28 20:29:59 -0800
commitb4aec831a096b89efed151c9b2c5754d9491e6ea (patch)
treef8c04870544dda72e99139fcc713a66b04514dcc /src/test/resources
parentb8aa773e4886dabd0ffc5026420edd061069f044 (diff)
parentdbbd00f58fd36c7c23e24e6652076b735b8e7c0c (diff)
downloadcheckstyle-b4aec831a096b89efed151c9b2c5754d9491e6ea.tar.gz
Merge Checkstyle 8.5 into aosp/master
Test: None
Diffstat (limited to 'src/test/resources')
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomCheckerRootModule.xml2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomRootModule.xml2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/api/InputClearDetailAstLazyLoadCache.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/api/detailast/InputDetailASTJustToMakeStackoverflowError.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/api/InputJustToMakeStackoverflowError.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/api/fileset/InputFileSetIllegalTokens.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/fileset/InputFileSetIllegalTokens.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/api/filetext/InputFileTextImportControl.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/api/import-control_complete.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinter.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinter.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterAttributesAndMethodsJavadoc.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterAttributesAndMethodsJavadoc.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterComments.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterComments.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockComments.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfBlockCommentsAst.txt)108
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockCommentsCR.txt38
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfSinglelineComments.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfSinglelineCommentsAst.txt)60
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavaAndJavadoc.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavaAndJavadoc.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadoc.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavadoc.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadocPosition.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedJavadocPosition.txt)8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterComments.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterComments.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockComments.java17
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockCommentsCR.java1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfSinglelineComments.java64
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavaAndJavadoc.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavaAndJavadoc.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadoc.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavadoc.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadocPosition.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocPosition.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputChecker.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerClearDetailAstLazyLoadCache.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlOne.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOne.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlTwo.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOneRegExp.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerSuppressAll.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/suppress_all.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck.java26
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck2.java37
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheckOnDifferentTokens.java59
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/arraytypestyle/InputArrayTypeStyle.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/arraytypestyle/InputArrayTypeStyle.java)3
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharactersAllEscapedUnicodeCharacters.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAllEscapedUnicodeCharacters.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/declarationorder/InputDeclarationOrder.java7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputDefaultComesLastSkipIfLastAndSharedWithCase.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputSkipIfLastAndSharedWithCase.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullNested.java27
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullOnTheSameLine.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/explicitinitialization/InputExplicitInitialization.java1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/fallthrough/InputFallThrough.java26
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/finallocalvariable/InputFinalLocalVariableAnonymousClass.java14
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSameFileName.java3
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSimilarClassName.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/modifiedcontrolvariable/InputModifiedControlVariableEnhancedForLoopVariable2.java18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/multiplestringliterals/InputMultipleStringLiteralsNoWarnings.java5
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethodsdeclarationorder/InputOverloadMethodsDeclarationOrder.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethoddeclaration/InputOverloadMethodsDeclarationOrder.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisCaseGroup.java48
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisExtendedMethod.java10
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/superclone/InputSuperCloneWithoutWarnings.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/unnecessaryparentheses/InputUnnecessaryParenthesesLambdas.java79
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenEmptyStatement.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenEmptyStatement.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenIllegalTokens.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenIllegalTokens.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenLastTokenType.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenMissingSwitchDefault.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenMissingSwitchDefault.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromCatch.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromCatch.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromFinally.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromFinally.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenStringLiteralEquality.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenStringLiteralEquality.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/innertypelast/InputInnerTypeLastClassRootClass.java18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/mutableexception/InputMutableExceptionMultipleInputs.java15
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum2.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum2.java)6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface2.java13
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface2.java13
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/throwscount/InputThrowsCountMwthodWithAnnotation.java20
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableSameTypeName.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableStarImport.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierIsStarImport.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/inputs/InetSocketAddress.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InetSocketAddress.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParameters.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParameters.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersPrimitiveTypes.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersPrimitiveTypes.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersReceiver.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersReceiver.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderConsecutiveNewLines.java13
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderNewLines.header5
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstarimport/InputAvoidStarImportDefault.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstaticimport/InputAvoidStaticImportDefault.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/illegalimport/InputIllegalImportDefault.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderDtd_MODIFIED_FOR_UT.dtd (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/import-control_MODIFIED_FOR_UT.dtd)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderWithNewElement.xml2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderNoGapBetweenStaticImports.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderRepetiton.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderSortStaticImportsAlphabetically.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticGroupSeperated.java13
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticRepetition.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportBug.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputImportBug.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportCheckClearState.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithChecker.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithoutWarnings.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports.java5
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports15Extensions.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/Input15Extensions.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsCheckClearState.java7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsJavadocQualifiedName.java9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithBlockMethodParameters.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportWithBlockMethodParameters.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithoutWarnings.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryResourcesNotStrict.java183
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryWithResourcesStrict.java184
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationValidTryResourcesIndent.java3
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocJavadocTagsWithoutArgs.java70
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNoWsBeforeDescriptionInJavadocTags.java97
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags.java129
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags2.java90
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocWrongSingletonTagInJavadoc.java28
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderCorrect.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderCorrect.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderIncorrect.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderIncorrect.java)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocpackage/noparentfile/package-info.java1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphCorrect.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphCorrect.java)6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphIncorrect.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphIncorrect.java)6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadoctagcontinuationindentation/InputJavadocTagContinuationIndentation.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/nonemptyatclausedescription/InputNonEmptyAtclauseDescription.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocCorrect.java30
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocIncorrect.java10
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocPeriodAtEnd.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputPeriodAtEnd.java)12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesAllIgnored.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesCommonPackage.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesDirectPackages.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/aa/AAClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/ab/ABClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/b/BClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/c/CClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexity.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesAllIgnored.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesCommonPackage.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesDirectPackages.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityMultiDimensionalArray.java7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/aa/AAClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/ab/ABClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/b/BClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/c/CClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/aa/AAClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/ab/ABClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/b/BClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/c/CClass.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/modifier/redundantmodifier/InputRedundantModifierAnnotationOnEnumConstructor.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameReceiver.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameReceiver.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameType.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameAccessModifier.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputAccessModifier.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameOverrideAnnotation.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputOverrideAnnotation.java)6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCr.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrAtEndOfFile.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCrlf.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrlfAtEndOfFile.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileEmptyFile.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputEmptyFile.txt)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileLf.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineLfAtEndOfFile.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNewlineAtEnd.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNoNewline.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNoNewlineAtEndOfFile.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename1.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename1.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename15Extensions.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename15Extensions.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename2.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename2.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename3.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename3.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename5.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename5.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameCheckPublic.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameIllegalTokens.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilenameIllegalTokens.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/regexponfilename/package-info.java1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLineLengthLongImportStatements.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLongImportStatements.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodcount/InputMethodCount7.java25
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodlength/InputMethodLengthComments.java27
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder2.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder2.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder3.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder3.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder4.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder4.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder5.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder5.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/todocomment/InputTodoCommentSimple.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/todocomment/InputTodoCommentSimple.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/trailingcomment/InputTrailingComment.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/trailingcomment/InputTrailingComment.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.translations)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.translations (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.translations)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.translations (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.translations)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.translations (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.translations)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.translations (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_ja.translations)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_ja.translations (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors.properties2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors_de.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_de.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslation_de.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-dev.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_de.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_de.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_es.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_es.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles.translation)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckLinux.xml15
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckMacOS.xml15
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckWindows.xml15
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles.translation (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_de.translation)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_de.translation (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_es.translation)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_es.translation (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_fr.translation)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_fr.translation (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_ja.translation)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_ja.translation (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-dev.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test_de.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-stage.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-stage.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation_fr.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation_fr.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_es_US.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_es_US.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_fr_CA_UNIX.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_fr_CA_UNIX.properties1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test_de.properties12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_de.properties1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_ja.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_ja.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain2.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain2.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain3.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain3.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain4.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain4.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain5.java30
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uniqueproperties/InputUniqueProperties.properties)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithDuplicates.properties3
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithoutErrors.properties2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/upperell/InputUpperEllSemantic.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/upperell/InputUpperEllSemantic.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPrePreviousLineIsEmpty.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPreviousLineEmptiness.java34
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceAtStartOfTheLine.java15
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceNested.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfter.java5
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations.java11
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations3.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeAtStartOfTheLine.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeEmptyForLoop.java22
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadStartOfTheLine.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadTryWithResources.java12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorChildNodes.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorErrors.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceErrors.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorMinColumnNo.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorStartOfTheLine.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundAllowEmptyTypesAndNonEmptyClasses.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputAllowEmptyTypesAndNonEmptyClasses.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundBraces.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputBraces.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundGenerics.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputGenerics.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundStartOfTheLine.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCheckerIgnoreSeverity.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_checker_ignore.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderChecks.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/checkstyle_checks.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCustomMessages.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/custom_messages.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderEmpty.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/empty_configuration.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderExternalEntity.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/subdir/including.xml)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderIncludeFile.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/included.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigName.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_name.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigParent.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_parent.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyName.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_name.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyValue.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_value.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderModuleIgnoreSeverity.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_ignore.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderNonexistingProperty.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_nonexisting_property.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/subdir/InputConfigurationLoaderExternalEntitySubDir.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/configs/including.xml)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterJavadocComment.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputJavadocComment.txt)14
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.txt (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedNoUnnecessaryTextInJavadocAst.txt)14
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterHtmlTagCloseBeforeTagOpen.javadoc1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocComment.javadoc (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocComment.javadoc)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocWithError.javadoc (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocWithError.javadoc)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.javadoc (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputNoUnnecessaryTextInJavadocAst.javadoc)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoViableAltException.javadoc1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterOmittedStartTagForHtmlElement.javadoc1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterUnescapedJavaCodeWithGenericsInJavadoc.javadoc41
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterWrongHtmlTagOrder.javadoc1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletCorrect.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletCorrect.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletEmptyJavadoc.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletEmptyJavadoc.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletJavadocParseError.java22
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletNotConstants.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletNotConstants.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilter.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressionCommentFilter.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilterSuppressById.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithCommentFilter.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterInvalidFile.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_invalid_file.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterNone.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_none.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderBadInt.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_bad_int.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderId.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_id.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderInvalidFile.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderMultiple.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_multiple.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheck.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheckAndId.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check_and_id.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoFile.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_file.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNone.xml6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderWithId.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_with_id.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathCorrect.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathId.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathInvalidFile.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathNoCheckAndId.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilter.java4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterIdAndQuery.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterInvalidFile.xml7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterNone.xml6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilter.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWarningsFilter.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilterById.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithWarningsFilter.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilter.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWithNearbyCommentFilter.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilterById.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithNearbyCommentFilter.java)4
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/filters/xpathfilter/InputXpathFilterSuppressByXpath.java18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementEmbed.javadoc42
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementKeygen.javadoc42
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementSource.javadoc42
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementTrack.javadoc42
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementWbr.javadoc42
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputNestingWithSingletonElement.javadoc19
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputParagraph.javadoc44
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputVoidElements.javadoc29
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedAttributeValueWithoutQuotesAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedClosedOtherTagAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedCommentsAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlTagsInParagraphAst.txt36
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementEmbedAst.txt761
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementKeygenAst.txt761
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementSourceAst.txt761
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementTrackAst.txt761
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementWbrAst.txt761
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedListWithUnclosedItemInUnclosedParagraphAst.txt36
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedMixedCaseOfHtmlTagsAst.txt151
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNegativeNumberInAttributeAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNestingWithSingletonElementAst.txt461
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedOneSimpleHtmlTagAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedParagraphAst.txt937
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedAndClosedParagraphsAst.txt18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedParagraphFollowedByJavadocTagAst.txt6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedVoidElementsAst.txt198
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputLeadingAsteriskAfterSeeTag.javadoc6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeArgsInInlineTags.javadoc18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeDescriptionInBlockJavadocTags.javadoc44
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputUppercaseInPackageName.javadoc29
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllJavadocInlineTagsAst.txt18
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllStandardJavadocTagsAst.txt142
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAsteriskInJavadocInlineTagAst.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAuthorWithMailtoAst.txt12
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedDollarInLinkAst.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedJavadocTagDescriptionWithInlineTagsAst.txt9
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLeadingAsteriskAfterSeeTagAst.txt30
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkInlineTagsAst.txt13
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkToPackageAst.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedNewlineAndAsteriskInParametersAst.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSeeReferenceWithFewNestedClassesAst.txt8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSerialAst.txt6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeArgsInInlineTagsAst.txt77
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeDescriptionInBlockJavadocTagsAst.txt200
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTextBeforeJavadocTagsAst.txt2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTwoLinkTagsInRowAst.txt10
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedUppercaseInPackageNameAst.txt394
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/gui/codeselectorpresentation/InputCodeSelectorPresentation.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/gui/InputJavadocAttributesAndMethods.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/gui/mainframemodel/InputMainFrameModel.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/gui/parsetreetablepresentation/InputParseTreeTablePresentation.java16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksDefaultConfig.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksImport-control_complete.xml16
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksDefaultConfig.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksImportControl.xml (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/import-control_complete.xml)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/package-info.java1
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParser.txt50
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParserWindows.txt50
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/InputJavadocDetailNodeParser.java10
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-custom-root-module.xml2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-multi-thread-mode.xml2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainExpectedInputJavadocComment.txt14
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/packagenamesloader/InputPackageNamesLoaderFile.xml28
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/cache.tmp)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile.header (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/java.header)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFileExternal.properties (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/externalResourse.tmp)0
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalker.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerHiddenComments.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerHiddenComments.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerNotJava.xml8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionCommentFilter.java (renamed from src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerSuppressionCommentFilter.java)2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionXpathFilter.xml6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAnnotation.java6
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAst.java25
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperEnum.java7
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperInterface.java8
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGenerator.java75
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGeneratorTabWidth.java19
358 files changed, 9426 insertions, 620 deletions
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java b/src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java
deleted file mode 100644
index 1c8a12f42..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.puppycrawl.tools.checkstyle;
-/*comment*/
-public class InputMain {
-}
-class InputMainInner {
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomCheckerRootModule.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomCheckerRootModule.xml
index 931f05ec4..e31a2c9a5 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomCheckerRootModule.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomCheckerRootModule.xml
@@ -3,5 +3,5 @@
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
-<module name="com.puppycrawl.tools.checkstyle.CheckerStub">
+<module name="com.puppycrawl.tools.checkstyle.internal.testmodules.CheckerStub">
</module>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomRootModule.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomRootModule.xml
index 20e6f58b4..b47f57958 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomRootModule.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/ant/checkstyleanttask/InputCheckstyleAntTaskConfigCustomRootModule.xml
@@ -3,6 +3,6 @@
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
-<module name="com.puppycrawl.tools.checkstyle.TestRootModuleChecker">
+<module name="com.puppycrawl.tools.checkstyle.internal.testmodules.TestRootModuleChecker">
<property name="property" value="${lineLength.severity}" default=""/>
</module>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/api/InputClearDetailAstLazyLoadCache.java b/src/test/resources/com/puppycrawl/tools/checkstyle/api/InputClearDetailAstLazyLoadCache.java
deleted file mode 100644
index 720decfe7..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/api/InputClearDetailAstLazyLoadCache.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.puppycrawl.tools.checkstyle.api;
-
-public class InputClearDetailAstLazyLoadCache {
-
- public
- /*
- * Javadoc comment
- */
- static void foo() {
- return;
- }
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/api/InputJustToMakeStackoverflowError.java b/src/test/resources/com/puppycrawl/tools/checkstyle/api/detailast/InputDetailASTJustToMakeStackoverflowError.java
index dd94a0f37..464923845 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/api/InputJustToMakeStackoverflowError.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/api/detailast/InputDetailASTJustToMakeStackoverflowError.java
@@ -1,5 +1,5 @@
-package com.puppycrawl.tools.checkstyle.api;
-public class InputJustToMakeStackoverflowError {
+package com.puppycrawl.tools.checkstyle.api.detailast;
+public class InputDetailASTJustToMakeStackoverflowError {
private String str = ""
+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""
+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""+""
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/fileset/InputFileSetIllegalTokens.java b/src/test/resources/com/puppycrawl/tools/checkstyle/api/fileset/InputFileSetIllegalTokens.java
index 8bb5af906..301c9c69c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/fileset/InputFileSetIllegalTokens.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/api/fileset/InputFileSetIllegalTokens.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.fileset;
+package com.puppycrawl.tools.checkstyle.api.fileset;
public class InputFileSetIllegalTokens
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/api/import-control_complete.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/api/filetext/InputFileTextImportControl.xml
index 4ac674ed8..4ac674ed8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/api/import-control_complete.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/api/filetext/InputFileTextImportControl.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinter.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinter.txt
index 97b757a46..97b757a46 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinter.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinter.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterAttributesAndMethodsJavadoc.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterAttributesAndMethodsJavadoc.txt
index d40bab43f..d40bab43f 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterAttributesAndMethodsJavadoc.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterAttributesAndMethodsJavadoc.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterComments.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterComments.txt
index 2fd3700c6..2fd3700c6 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterComments.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterComments.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfBlockCommentsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockComments.txt
index bb87caa00..0b560d449 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfBlockCommentsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockComments.txt
@@ -5,54 +5,52 @@ BLOCK_COMMENT_BEGIN -> /* [1:5]
|--COMMENT_CONTENT -> 1 [1:7]
`--BLOCK_COMMENT_END -> */ [1:7]
PACKAGE_DEF -> package [1:10]
-|--ANNOTATIONS -> ANNOTATIONS [1:98]
-|--BLOCK_COMMENT_BEGIN -> /* [1:93]
-| |--COMMENT_CONTENT -> 9 [1:95]
-| `--BLOCK_COMMENT_END -> */ [1:95]
-|--DOT -> . [1:98]
-| |--DOT -> . [1:84]
-| | |--BLOCK_COMMENT_BEGIN -> /* [1:63]
-| | | |--COMMENT_CONTENT -> 7 [1:65]
-| | | `--BLOCK_COMMENT_END -> */ [1:65]
-| | |--DOT -> . [1:68]
-| | | |--BLOCK_COMMENT_BEGIN -> /* [1:47]
-| | | | |--COMMENT_CONTENT -> 5 [1:49]
-| | | | `--BLOCK_COMMENT_END -> */ [1:49]
-| | | |--DOT -> . [1:52]
-| | | | |--BLOCK_COMMENT_BEGIN -> /* [1:26]
-| | | | | |--COMMENT_CONTENT -> 3 [1:28]
-| | | | | `--BLOCK_COMMENT_END -> */ [1:28]
-| | | | |--DOT -> . [1:31]
-| | | | | |--BLOCK_COMMENT_BEGIN -> /* [1:17]
-| | | | | | |--COMMENT_CONTENT -> 2 [1:19]
-| | | | | | `--BLOCK_COMMENT_END -> */ [1:19]
-| | | | | |--IDENT -> com [1:23]
-| | | | | |--BLOCK_COMMENT_BEGIN -> /* [1:32]
-| | | | | | |--COMMENT_CONTENT -> 4 [1:34]
-| | | | | | `--BLOCK_COMMENT_END -> */ [1:34]
-| | | | | `--IDENT -> puppycrawl [1:37]
-| | | | |--BLOCK_COMMENT_BEGIN -> /* [1:53]
-| | | | | |--COMMENT_CONTENT -> 6 [1:55]
-| | | | | `--BLOCK_COMMENT_END -> */ [1:55]
-| | | | `--IDENT -> tools [1:58]
-| | | |--BLOCK_COMMENT_BEGIN -> /* [1:69]
-| | | | |--COMMENT_CONTENT -> 8 [1:71]
-| | | | `--BLOCK_COMMENT_END -> */ [1:71]
-| | | `--IDENT -> checkstyle [1:74]
-| | `--IDENT -> grammars [1:85]
-| |--BLOCK_COMMENT_BEGIN -> /* [1:99]
-| | |--COMMENT_CONTENT -> 10 [1:101]
-| | `--BLOCK_COMMENT_END -> */ [1:102]
-| `--IDENT -> comments [1:105]
-|--BLOCK_COMMENT_BEGIN -> /* [1:113]
-| |--COMMENT_CONTENT -> 11 [1:115]
-| `--BLOCK_COMMENT_END -> */ [1:116]
-`--SEMI -> ; [1:119]
+|--ANNOTATIONS -> ANNOTATIONS [1:89]
+|--BLOCK_COMMENT_BEGIN -> /* [1:84]
+| |--COMMENT_CONTENT -> 9 [1:86]
+| `--BLOCK_COMMENT_END -> */ [1:86]
+|--DOT -> . [1:89]
+| |--BLOCK_COMMENT_BEGIN -> /* [1:63]
+| | |--COMMENT_CONTENT -> 7 [1:65]
+| | `--BLOCK_COMMENT_END -> */ [1:65]
+| |--DOT -> . [1:68]
+| | |--BLOCK_COMMENT_BEGIN -> /* [1:47]
+| | | |--COMMENT_CONTENT -> 5 [1:49]
+| | | `--BLOCK_COMMENT_END -> */ [1:49]
+| | |--DOT -> . [1:52]
+| | | |--BLOCK_COMMENT_BEGIN -> /* [1:26]
+| | | | |--COMMENT_CONTENT -> 3 [1:28]
+| | | | `--BLOCK_COMMENT_END -> */ [1:28]
+| | | |--DOT -> . [1:31]
+| | | | |--BLOCK_COMMENT_BEGIN -> /* [1:17]
+| | | | | |--COMMENT_CONTENT -> 2 [1:19]
+| | | | | `--BLOCK_COMMENT_END -> */ [1:19]
+| | | | |--IDENT -> com [1:23]
+| | | | |--BLOCK_COMMENT_BEGIN -> /* [1:32]
+| | | | | |--COMMENT_CONTENT -> 4 [1:34]
+| | | | | `--BLOCK_COMMENT_END -> */ [1:34]
+| | | | `--IDENT -> puppycrawl [1:37]
+| | | |--BLOCK_COMMENT_BEGIN -> /* [1:53]
+| | | | |--COMMENT_CONTENT -> 6 [1:55]
+| | | | `--BLOCK_COMMENT_END -> */ [1:55]
+| | | `--IDENT -> tools [1:58]
+| | |--BLOCK_COMMENT_BEGIN -> /* [1:69]
+| | | |--COMMENT_CONTENT -> 8 [1:71]
+| | | `--BLOCK_COMMENT_END -> */ [1:71]
+| | `--IDENT -> checkstyle [1:74]
+| |--BLOCK_COMMENT_BEGIN -> /* [1:90]
+| | |--COMMENT_CONTENT -> 10 [1:92]
+| | `--BLOCK_COMMENT_END -> */ [1:93]
+| `--IDENT -> astprinter [1:96]
+|--BLOCK_COMMENT_BEGIN -> /* [1:106]
+| |--COMMENT_CONTENT -> 11 [1:108]
+| `--BLOCK_COMMENT_END -> */ [1:109]
+`--SEMI -> ; [1:112]
CLASS_DEF -> CLASS_DEF [3:6]
|--MODIFIERS -> MODIFIERS [3:6]
-| |--BLOCK_COMMENT_BEGIN -> /* [1:120]
-| | |--COMMENT_CONTENT -> 12 [1:122]
-| | `--BLOCK_COMMENT_END -> */ [1:123]
+| |--BLOCK_COMMENT_BEGIN -> /* [1:113]
+| | |--COMMENT_CONTENT -> 12 [1:115]
+| | `--BLOCK_COMMENT_END -> */ [1:116]
| |--BLOCK_COMMENT_BEGIN -> /* [2:0]
| | |--COMMENT_CONTENT -> 13 [2:2]
| | `--BLOCK_COMMENT_END -> */ [2:3]
@@ -67,17 +65,17 @@ CLASS_DEF -> CLASS_DEF [3:6]
|--BLOCK_COMMENT_BEGIN -> /* [3:25]
| |--COMMENT_CONTENT -> 16 [3:27]
| `--BLOCK_COMMENT_END -> */ [3:28]
-|--IDENT -> InputFullOfBlockComments [3:31]
-`--OBJBLOCK -> OBJBLOCK [3:62]
- |--BLOCK_COMMENT_BEGIN -> /* [3:56]
- | |--COMMENT_CONTENT -> 49 [3:58]
- | `--BLOCK_COMMENT_END -> */ [3:59]
- |--LCURLY -> { [3:62]
+|--IDENT -> InputAstTreeStringPrinterFullOfBlockComments [3:31]
+`--OBJBLOCK -> OBJBLOCK [3:82]
+ |--BLOCK_COMMENT_BEGIN -> /* [3:76]
+ | |--COMMENT_CONTENT -> 49 [3:78]
+ | `--BLOCK_COMMENT_END -> */ [3:79]
+ |--LCURLY -> { [3:82]
|--METHOD_DEF -> METHOD_DEF [5:7]
| |--MODIFIERS -> MODIFIERS [5:7]
- | | |--BLOCK_COMMENT_BEGIN -> /* [3:63]
- | | | |--COMMENT_CONTENT -> 17 [3:65]
- | | | `--BLOCK_COMMENT_END -> */ [3:66]
+ | | |--BLOCK_COMMENT_BEGIN -> /* [3:83]
+ | | | |--COMMENT_CONTENT -> 17 [3:85]
+ | | | `--BLOCK_COMMENT_END -> */ [3:86]
| | |--BLOCK_COMMENT_BEGIN -> /* [4:1]
| | | |--COMMENT_CONTENT -> 18 [4:3]
| | | `--BLOCK_COMMENT_END -> */ [4:4]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockCommentsCR.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockCommentsCR.txt
new file mode 100644
index 000000000..556352d03
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfBlockCommentsCR.txt
@@ -0,0 +1,38 @@
+PACKAGE_DEF -> package [1:0]
+|--ANNOTATIONS -> ANNOTATIONS [1:43]
+|--DOT -> . [1:43]
+| |--DOT -> . [1:32]
+| | |--DOT -> . [1:26]
+| | | |--DOT -> . [1:15]
+| | | | |--BLOCK_COMMENT_BEGIN -> /* [1:7]
+| | | | | |--COMMENT_CONTENT -> 2 [1:9]
+| | | | | `--BLOCK_COMMENT_END -> */ [1:9]
+| | | | |--IDENT -> com [1:12]
+| | | | `--IDENT -> puppycrawl [1:16]
+| | | `--IDENT -> tools [1:27]
+| | `--IDENT -> checkstyle [1:33]
+| `--IDENT -> astprinter [1:44]
+`--SEMI -> ; [1:54]
+CLASS_DEF -> CLASS_DEF [3:0]
+|--MODIFIERS -> MODIFIERS [3:0]
+| |--BLOCK_COMMENT_BEGIN -> /* [2:0]
+| | |--COMMENT_CONTENT -> 13 [2:2]
+| | `--BLOCK_COMMENT_END -> */ [2:3]
+| `--LITERAL_PUBLIC -> public [3:0]
+|--BLOCK_COMMENT_BEGIN -> /* [3:6]
+| |--COMMENT_CONTENT -> 15 [3:8]
+| `--BLOCK_COMMENT_END -> */ [3:9]
+|--LITERAL_CLASS -> class [3:12]
+|--BLOCK_COMMENT_BEGIN -> /* [3:17]
+| |--COMMENT_CONTENT -> 16 [3:19]
+| `--BLOCK_COMMENT_END -> */ [3:20]
+|--IDENT -> InputAstTreeStringPrinterFullOfBlockCommentsCR [3:23]
+`--OBJBLOCK -> OBJBLOCK [3:75]
+ |--BLOCK_COMMENT_BEGIN -> /* [3:69]
+ | |--COMMENT_CONTENT -> 49 [3:71]
+ | `--BLOCK_COMMENT_END -> */ [3:72]
+ |--LCURLY -> { [3:75]
+ |--BLOCK_COMMENT_BEGIN -> /* [3:76]
+ | |--COMMENT_CONTENT -> \r21\r [3:78]
+ | `--BLOCK_COMMENT_END -> */ [5:0]
+ `--RCURLY -> } [5:2]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfSinglelineCommentsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfSinglelineComments.txt
index edbc2edfc..401a93b7b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/comments/InputFullOfSinglelineCommentsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterFullOfSinglelineComments.txt
@@ -2,37 +2,35 @@ SINGLE_LINE_COMMENT -> // [1:0]
`--COMMENT_CONTENT -> 0\n [1:2]
PACKAGE_DEF -> package [2:0]
|--ANNOTATIONS -> ANNOTATIONS [10:0]
-|--SINGLE_LINE_COMMENT -> // [9:19]
-| `--COMMENT_CONTENT -> 8\n [9:21]
+|--SINGLE_LINE_COMMENT -> // [9:10]
+| `--COMMENT_CONTENT -> 8\n [9:12]
|--DOT -> . [10:0]
-| |--DOT -> . [9:10]
-| | |--SINGLE_LINE_COMMENT -> // [7:5]
-| | | `--COMMENT_CONTENT -> 6\n [7:7]
-| | |--DOT -> . [8:0]
-| | | |--SINGLE_LINE_COMMENT -> // [5:10]
-| | | | `--COMMENT_CONTENT -> 4\n [5:12]
-| | | |--DOT -> . [6:0]
-| | | | |--SINGLE_LINE_COMMENT -> // [3:3]
-| | | | | `--COMMENT_CONTENT -> 2\n [3:5]
-| | | | |--DOT -> . [4:0]
-| | | | | |--SINGLE_LINE_COMMENT -> // [2:7]
-| | | | | | `--COMMENT_CONTENT -> 1\n [2:9]
-| | | | | |--IDENT -> com [3:0]
-| | | | | |--SINGLE_LINE_COMMENT -> // [4:1]
-| | | | | | `--COMMENT_CONTENT -> 3\n [4:3]
-| | | | | `--IDENT -> puppycrawl [5:0]
-| | | | |--SINGLE_LINE_COMMENT -> // [6:1]
-| | | | | `--COMMENT_CONTENT -> 5\n [6:3]
-| | | | `--IDENT -> tools [7:0]
-| | | |--SINGLE_LINE_COMMENT -> // [8:1]
-| | | | `--COMMENT_CONTENT -> 7\n [8:3]
-| | | `--IDENT -> checkstyle [9:0]
-| | `--IDENT -> grammars [9:11]
+| |--SINGLE_LINE_COMMENT -> // [7:5]
+| | `--COMMENT_CONTENT -> 6\n [7:7]
+| |--DOT -> . [8:0]
+| | |--SINGLE_LINE_COMMENT -> // [5:10]
+| | | `--COMMENT_CONTENT -> 4\n [5:12]
+| | |--DOT -> . [6:0]
+| | | |--SINGLE_LINE_COMMENT -> // [3:3]
+| | | | `--COMMENT_CONTENT -> 2\n [3:5]
+| | | |--DOT -> . [4:0]
+| | | | |--SINGLE_LINE_COMMENT -> // [2:7]
+| | | | | `--COMMENT_CONTENT -> 1\n [2:9]
+| | | | |--IDENT -> com [3:0]
+| | | | |--SINGLE_LINE_COMMENT -> // [4:1]
+| | | | | `--COMMENT_CONTENT -> 3\n [4:3]
+| | | | `--IDENT -> puppycrawl [5:0]
+| | | |--SINGLE_LINE_COMMENT -> // [6:1]
+| | | | `--COMMENT_CONTENT -> 5\n [6:3]
+| | | `--IDENT -> tools [7:0]
+| | |--SINGLE_LINE_COMMENT -> // [8:1]
+| | | `--COMMENT_CONTENT -> 7\n [8:3]
+| | `--IDENT -> checkstyle [9:0]
| |--SINGLE_LINE_COMMENT -> // [10:1]
| | `--COMMENT_CONTENT -> 9\n [10:3]
-| `--IDENT -> comments [11:0]
-|--SINGLE_LINE_COMMENT -> // [11:8]
-| `--COMMENT_CONTENT -> 10\n [11:10]
+| `--IDENT -> astprinter [11:0]
+|--SINGLE_LINE_COMMENT -> // [11:10]
+| `--COMMENT_CONTENT -> 10\n [11:12]
|--SINGLE_LINE_COMMENT -> // [12:0]
| `--COMMENT_CONTENT -> 11\n [12:2]
|--SINGLE_LINE_COMMENT -> // [13:0]
@@ -50,10 +48,10 @@ CLASS_DEF -> CLASS_DEF [16:0]
|--LITERAL_CLASS -> class [17:0]
|--SINGLE_LINE_COMMENT -> // [17:5]
| `--COMMENT_CONTENT -> 16\n [17:7]
-|--IDENT -> InputFullOfSinglelineComments [18:0]
+|--IDENT -> InputAstTreeStringPrinterFullOfSinglelineComments [18:0]
`--OBJBLOCK -> OBJBLOCK [19:0]
- |--SINGLE_LINE_COMMENT -> // [18:29]
- | `--COMMENT_CONTENT -> 17\n [18:31]
+ |--SINGLE_LINE_COMMENT -> // [18:49]
+ | `--COMMENT_CONTENT -> 17\n [18:51]
|--LCURLY -> { [19:0]
|--METHOD_DEF -> METHOD_DEF [20:0]
| |--MODIFIERS -> MODIFIERS [20:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavaAndJavadoc.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavaAndJavadoc.txt
index e7cff0b8b..e7cff0b8b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavaAndJavadoc.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavaAndJavadoc.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavadoc.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadoc.txt
index 04a95a117..04a95a117 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputAstTreeStringPrinterJavadoc.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadoc.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedJavadocPosition.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadocPosition.txt
index 2d860420d..ce7235550 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedJavadocPosition.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/ExpectedAstTreeStringPrinterJavadocPosition.txt
@@ -2,9 +2,9 @@ CLASS_DEF -> CLASS_DEF [1:0]
|--MODIFIERS -> MODIFIERS [1:0]
| `--LITERAL_PUBLIC -> public [1:0]
|--LITERAL_CLASS -> class [1:7]
-|--IDENT -> InputJavadocPosition [1:13]
-`--OBJBLOCK -> OBJBLOCK [1:34]
- |--LCURLY -> { [1:34]
+|--IDENT -> InputAstTreeStringPrinterJavadocPosition [1:13]
+`--OBJBLOCK -> OBJBLOCK [1:54]
+ |--LCURLY -> { [1:54]
|--METHOD_DEF -> METHOD_DEF [2:4]
| |--MODIFIERS -> MODIFIERS [2:4]
| |--TYPE -> TYPE [2:4]
@@ -15,7 +15,7 @@ CLASS_DEF -> CLASS_DEF [1:0]
| |--RPAREN -> ) [2:16]
| `--SLIST -> { [2:18]
| |--BLOCK_COMMENT_BEGIN -> /* [3:1]
- | | |--COMMENT_CONTENT -> *\r\n\tThis is a method\r\n\t@return void\r\n\t<html\r\n\t [3:3]
+ | | |--COMMENT_CONTENT -> *\n\tThis is a method\n\t@return void\n\t<html\n\t [3:3]
| | `--BLOCK_COMMENT_END -> */ [7:1]
| `--RCURLY -> } [8:4]
`--RCURLY -> } [9:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java
index d9176ba36..d9176ba36 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterAttributesAndMethodsJavadoc.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterComments.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterComments.java
index ba202ddee..ba202ddee 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterComments.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterComments.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockComments.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockComments.java
new file mode 100644
index 000000000..7b594b77c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockComments.java
@@ -0,0 +1,17 @@
+/*0*//*1*/package/*2*/ com/*3*/./*4*/puppycrawl/*5*/./*6*/tools/*7*/./*8*/checkstyle/*9*/./*10*/astprinter/*11*/;/*12*/
+/*13*/
+/*14*/public/*15*/ class /*16*/InputAstTreeStringPrinterFullOfBlockComments /*49*/{/*17*/
+ /*18*/
+ /*19*/public/*20*/ static/*
+21
+*/ String/*22*/ main/*23*/(/*24*/String/*25*/[/*26*/]/*27*/ args/*28*/)/*29*/ {/*30*/
+ /*31*/String /*32*/line /*33*/= /*34*/"/*I'm NOT comment*/blabla"/*35*/;/*36*/
+ /*37*/String/*38*/./* 39 */CASE_INSENSITIVE_ORDER/*40*/./*41*/equals/*42*/(/*43*/line/*44*/)/*45*/;/*46*/
+ Integer[] array = null;
+ /*50*/for/*51*/ (/*52*/Integer/*53*/ i/*54*/:/*55*/ array/*56*/)/*57*/ {/*58*/
+ /*59*/
+ }/*60*/
+ return line;
+ }/*47*/
+}/*48*/
+/*61*/
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockCommentsCR.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockCommentsCR.java
new file mode 100644
index 000000000..912ebcea1
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfBlockCommentsCR.java
@@ -0,0 +1 @@
+package/*2*/com.puppycrawl.tools.checkstyle.astprinter; /*13*/ public/*15*/class/*16*/InputAstTreeStringPrinterFullOfBlockCommentsCR/*49*/{/* 21 */} \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfSinglelineComments.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfSinglelineComments.java
new file mode 100644
index 000000000..e37aec624
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterFullOfSinglelineComments.java
@@ -0,0 +1,64 @@
+//0
+package//1
+com//2
+.//3
+puppycrawl//4
+.//5
+tools//6
+.//7
+checkstyle//8
+.//9
+astprinter//10
+//11
+//12
+;//13
+//14
+public//15
+class//16
+InputAstTreeStringPrinterFullOfSinglelineComments//17
+{//18
+public//19
+static//20
+void//21
+main//22
+(//23
+String//24
+[//25
+]//26
+args//27
+)//28
+{//29
+for//30
+(//31
+int//32
+i//33
+=//34
+0//35
+;//36
+i//37
+<=//38
+10//39
+;//40
+i++//41
+)//42
+{//43
+String//44
+line//45
+=//46
+i//47
++//48
+""//49
+;//50
+String//51
+.//52
+CASE_INSENSITIVE_ORDER//53
+.//54
+equals//55
+(//56
+line//57
+)//58
+;//59
+}//60
+}//61
+}//62
+//63 \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavaAndJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavaAndJavadoc.java
index 28c6e65aa..28c6e65aa 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavaAndJavadoc.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavaAndJavadoc.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadoc.java
index 901b155d8..901b155d8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputAstTreeStringPrinterJavadoc.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadoc.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocPosition.java b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadocPosition.java
index 47c8cffac..a69cc11a4 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocPosition.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/asttreestringprinter/InputAstTreeStringPrinterJavadocPosition.java
@@ -1,4 +1,4 @@
-public class InputJavadocPosition {
+public class InputAstTreeStringPrinterJavadocPosition {
void method() {
/**
This is a method
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputChecker.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputChecker.java
new file mode 100644
index 000000000..d1e8d9045
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputChecker.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checker;
+/*comment*/
+public class InputChecker {
+}
+class InputCheckerInner {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerClearDetailAstLazyLoadCache.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerClearDetailAstLazyLoadCache.java
new file mode 100644
index 000000000..2bd506ac0
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerClearDetailAstLazyLoadCache.java
@@ -0,0 +1,12 @@
+package com.puppycrawl.tools.checkstyle.checker;
+
+public class InputCheckerClearDetailAstLazyLoadCache {
+
+ public
+ /*
+ * Javadoc comment
+ */
+ static void foo() {
+ return;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOne.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlOne.xml
index 1b673c1e0..1b673c1e0 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOne.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlOne.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOneRegExp.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlTwo.xml
index 8807b1fb3..8807b1fb3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputImportControlOneRegExp.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerImportControlTwo.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/suppress_all.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerSuppressAll.xml
index e6b9b1482..e6b9b1482 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/suppress_all.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checker/InputCheckerSuppressAll.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck.java
new file mode 100644
index 000000000..d24c94b38
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck.java
@@ -0,0 +1,26 @@
+package com.puppycrawl.tools.checkstyle.checks.annotation.annotationonsameline;
+
+public class InputAnnotationOnSameLineCheck {
+
+ @Annotation int x;
+
+ int y;
+
+ @Annotation
+ @SomeClass.Annotation
+ @java.lang.Deprecated
+ public int getX() {
+ return (int) x;
+ }
+
+}
+
+class SomeClass {
+
+ @interface Annotation {
+ }
+
+}
+
+@interface Annotation {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck2.java
new file mode 100644
index 000000000..ccb066193
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheck2.java
@@ -0,0 +1,37 @@
+package com.puppycrawl.tools.checkstyle.checks.annotation.annotationonsameline;
+
+import static java.lang.annotation.ElementType.*;
+
+import java.lang.annotation.Target;
+import java.util.List;
+import java.util.ArrayList;
+
+public class InputAnnotationOnSameLineCheck2 {
+
+ @Ann
+ private List<String> names = new ArrayList<>();
+
+ @Ann private List<String> names2 = new ArrayList<>();
+
+ @SuppressWarnings("deprecation")
+ @Ann Integer x;
+
+ @SuppressWarnings("deprecation")
+ @Ann
+ Integer x2;
+
+ @SuppressWarnings("deprecation") @Ann @Ann2 @Ann3 @Ann4 Integer x3;
+
+}
+
+@Target({ANNOTATION_TYPE, CONSTRUCTOR, FIELD, METHOD, PARAMETER, TYPE, TYPE_PARAMETER, TYPE_USE}) @interface Ann {
+}
+
+@Target({ANNOTATION_TYPE, CONSTRUCTOR, FIELD, METHOD, PARAMETER, TYPE, TYPE_PARAMETER, TYPE_USE}) @interface Ann2 {
+}
+
+@interface Ann3 {
+}
+
+@interface Ann4 {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheckOnDifferentTokens.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheckOnDifferentTokens.java
new file mode 100644
index 000000000..dd966778c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/annotation/annotationonsameline/InputAnnotationOnSameLineCheckOnDifferentTokens.java
@@ -0,0 +1,59 @@
+package com.puppycrawl.tools.checkstyle.checks.annotation.annotationonsameline;
+
+import java.util.List;
+
+@Ann
+@Ann2 interface TestInterface {
+
+ @Ann
+ @Ann2 Integer getX();
+
+}
+
+public @Ann
+@Ann2 class InputAnnotationOnSameLineCheckOnDifferentTokens implements @Ann
+ @Ann2 TestInterface {
+
+ @Ann
+ @Ann2 private Integer x = new @Ann
+ @Ann2 Integer(0);
+
+ private List<@Ann
+ @Ann2 Integer> integerList;
+
+ @Ann
+ @Ann2 enum TestEnum {
+ A1, A2
+ }
+
+ @Ann
+ @Ann2 public InputAnnotationOnSameLineCheckOnDifferentTokens() {
+ }
+
+ @Ann
+ @Ann2 public void setX(@Ann
+ @Ann2 int x) throws @Ann
+ @Ann2 Exception {
+ this.<@Ann
+ @Ann2 Integer> getXAs();
+ this.x = x;
+ }
+
+ @Override public Integer getX() {
+ return (@Ann
+ @Ann2 Integer) x;
+ }
+
+ public <T> T getXAs() {
+ return (T) x;
+ }
+
+}
+
+@Ann
+@Ann2 @interface TestAnnotation {
+
+ @Ann
+ @Ann2 int x();
+
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/arraytypestyle/InputArrayTypeStyle.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/arraytypestyle/InputArrayTypeStyle.java
index c64f6377c..6dd83fb43 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/arraytypestyle/InputArrayTypeStyle.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/arraytypestyle/InputArrayTypeStyle.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2001
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.arraytypestyle;
+package com.puppycrawl.tools.checkstyle.checks.arraytypestyle;
/**
* Test case for ArrayTypeStyle (Java vs C)
@@ -12,6 +12,7 @@ public class InputArrayTypeStyle
{
private int[] javaStyle = new int[0];
private int cStyle[] = new int[0];
+ private int c[] = new int[0];
public static void mainJava(String[] aJavaStyle)
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java
index 58c25ff43..f13bd870b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharacters.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.avoidescapedunicodecharacters;
+package com.puppycrawl.tools.checkstyle.checks.avoidescapedunicodecharacters;
import java.util.concurrent.TimeUnit;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAllEscapedUnicodeCharacters.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharactersAllEscapedUnicodeCharacters.java
index 435e32acc..f48b52cf3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/avoidescapedunicodecharacters/InputAllEscapedUnicodeCharacters.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/avoidescapedunicodecharacters/InputAvoidEscapedUnicodeCharactersAllEscapedUnicodeCharacters.java
@@ -1,6 +1,6 @@
package com.puppycrawl.tools.checkstyle.checks;
-public class InputAllEscapedUnicodeCharacters {
+public class InputAvoidEscapedUnicodeCharactersAllEscapedUnicodeCharacters {
private String[] allEscapedUnicodeCharacters = { ""
/* control character ok */ + "\u0000"
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/declarationorder/InputDeclarationOrder.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/declarationorder/InputDeclarationOrder.java
index 7ddbb89fe..9c0303b80 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/declarationorder/InputDeclarationOrder.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/declarationorder/InputDeclarationOrder.java
@@ -40,6 +40,13 @@ public class InputDeclarationOrder
foo += INNER_FOO3;
}
+ public InnerClass(int start)
+ {
+ int foo = start;
+ foo += INNER_FOO2;
+ foo += INNER_FOO3;
+ }
+
// error member variables should be before methods or ctors
// error public before private
public static final int INNER_FOO3 = 2;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputSkipIfLastAndSharedWithCase.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputDefaultComesLastSkipIfLastAndSharedWithCase.java
index aa9435b6e..ccfed68af 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputSkipIfLastAndSharedWithCase.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/defaultcomeslast/InputDefaultComesLastSkipIfLastAndSharedWithCase.java
@@ -1,7 +1,7 @@
package com.puppycrawl.tools.checkstyle.checks.coding.defaultcomeslast;
-public class InputSkipIfLastAndSharedWithCase
+public class InputDefaultComesLastSkipIfLastAndSharedWithCase
{
void method(int i) {
switch (i) {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullNested.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullNested.java
new file mode 100644
index 000000000..2a1a320da
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullNested.java
@@ -0,0 +1,27 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.equalsavoidnull;
+
+import java.io.IOException;
+import java.io.Reader;
+
+public class InputEqualsAvoidNullNested {
+ public void foo(Reader in) throws IOException {
+ int c;
+ while(true) {
+ c = in.read();
+ if (c == -1)
+ break;
+
+ if (c == '<') {
+ c = in.read();
+ if (c == '/') {
+ String nm = in.toString();
+ if (nm.equalsIgnoreCase("applet") ||
+ nm.equalsIgnoreCase("object") ||
+ nm.equalsIgnoreCase("embed")) {
+ break;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullOnTheSameLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullOnTheSameLine.java
new file mode 100644
index 000000000..dc4783bbb
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/equalsavoidnull/InputEqualsAvoidNullOnTheSameLine.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.equalsavoidnull;
+
+public class InputEqualsAvoidNullOnTheSameLine {
+
+ static {
+ String b = "onion";
+ String a=b;a.equals("ONION");
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/explicitinitialization/InputExplicitInitialization.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/explicitinitialization/InputExplicitInitialization.java
index d63024d50..111d19f49 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/explicitinitialization/InputExplicitInitialization.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/explicitinitialization/InputExplicitInitialization.java
@@ -79,4 +79,5 @@ class Chars {
char b = a;
byte c = 1;
short d = 1;
+ final long e = 0;
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/fallthrough/InputFallThrough.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/fallthrough/InputFallThrough.java
index 4486bbd03..a3c745e55 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/fallthrough/InputFallThrough.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/fallthrough/InputFallThrough.java
@@ -521,4 +521,30 @@ public class InputFallThrough
public void close() throws Exception {
}
}
+
+ void synchronizedStatement() {
+ switch (hashCode()) {
+ case 1:
+ synchronized (this) {
+ break;
+ }
+ case 2:
+ // synchronized nested in if
+ if (true) {
+ synchronized (this) {
+ break;
+ }
+ } else {
+ synchronized (this) {
+ break;
+ }
+ }
+ case 3:
+ synchronized (this) {
+ }
+ // fallthru
+ default:
+ break;
+ }
+ }
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/finallocalvariable/InputFinalLocalVariableAnonymousClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/finallocalvariable/InputFinalLocalVariableAnonymousClass.java
new file mode 100644
index 000000000..67177632e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/finallocalvariable/InputFinalLocalVariableAnonymousClass.java
@@ -0,0 +1,14 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.finallocalvariable;
+
+public class InputFinalLocalVariableAnonymousClass {
+ public void test() {
+ Object testSupport = new Object() {
+ @Override
+ public String toString() {
+ final String dc = new String();
+ return dc;
+ }
+ };
+ testSupport.toString();
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSameFileName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSameFileName.java
index b39ece624..8735f5392 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSameFileName.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSameFileName.java
@@ -26,4 +26,7 @@ public class InputIllegalTypeSameFileName
}
java.util.List<Integer> list = new ArrayList<>(); //WARNING
private ArrayList<String> values;
+ private Boolean d; //WARNING
+ private Boolean[] d1; //WARNING
+ private Boolean[][] d2; //WARNING
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSimilarClassName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSimilarClassName.java
new file mode 100644
index 000000000..704a9e92f
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/illegaltype/InputIllegalTypeSimilarClassName.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.illegaltype;
+
+public class InputIllegalTypeSimilarClassName {
+ private TreeSet example;
+
+ private static class TreeSet {
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/modifiedcontrolvariable/InputModifiedControlVariableEnhancedForLoopVariable2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/modifiedcontrolvariable/InputModifiedControlVariableEnhancedForLoopVariable2.java
new file mode 100644
index 000000000..9c4685397
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/modifiedcontrolvariable/InputModifiedControlVariableEnhancedForLoopVariable2.java
@@ -0,0 +1,18 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.modifiedcontrolvariable;
+
+public class InputModifiedControlVariableEnhancedForLoopVariable2 {
+ void m(int[] a) {
+ for (int i = 0, j = 1; ; i++, j++) {
+ for (int k : a) {
+ }
+ }
+ }
+
+ void m2(int[] a) {
+ for (int i = 0, j = 1; ; i++, j++) {
+ for (int k : a) {
+ i++;
+ }
+ }
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/multiplestringliterals/InputMultipleStringLiteralsNoWarnings.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/multiplestringliterals/InputMultipleStringLiteralsNoWarnings.java
new file mode 100644
index 000000000..f33d30bb4
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/multiplestringliterals/InputMultipleStringLiteralsNoWarnings.java
@@ -0,0 +1,5 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.multiplestringliterals;
+
+public class InputMultipleStringLiteralsNoWarnings {
+ private final String m4 = "" + "";
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethoddeclaration/InputOverloadMethodsDeclarationOrder.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethodsdeclarationorder/InputOverloadMethodsDeclarationOrder.java
index b56dd4fcc..2aa3520db 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethoddeclaration/InputOverloadMethodsDeclarationOrder.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/overloadmethodsdeclarationorder/InputOverloadMethodsDeclarationOrder.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.coding.overloadmethoddeclaration;
+package com.puppycrawl.tools.checkstyle.checks.coding.overloadmethodsdeclarationorder;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisCaseGroup.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisCaseGroup.java
new file mode 100644
index 000000000..b32b99c58
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisCaseGroup.java
@@ -0,0 +1,48 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.requirethis;
+
+public class InputRequireThisCaseGroup {
+ private String aVariable;
+
+ public String method1(int val) {
+ switch (val) {
+ case 0:
+ String aVariable = "";
+
+ if (this.aVariable != null) {
+ aVariable = this.aVariable;
+ }
+
+ return aVariable;
+ default:
+ return null;
+ }
+ }
+
+ public String method2(int val) {
+ switch (val) {
+ case 0:
+ String aVariable = "";
+
+ if (this.aVariable != null) {
+ aVariable = this.aVariable;
+ }
+
+ return aVariable;
+ }
+ return null;
+ }
+
+ public String method3(int val) {
+ switch (val) {
+ case 0:
+ String other = "";
+
+ if (aVariable != null) {
+ other = aVariable;
+ }
+
+ return other;
+ }
+ return null;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisExtendedMethod.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisExtendedMethod.java
new file mode 100644
index 000000000..c7202c645
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisExtendedMethod.java
@@ -0,0 +1,10 @@
+package com.github.sevntu.checkstyle.checks.coding;
+
+import java.util.logging.Logger;
+
+public class InputRequireThisExtendedMethod
+{
+ public class Check {
+ private Logger log1 = Logger.getLogger(getClass().getName());
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/superclone/InputSuperCloneWithoutWarnings.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/superclone/InputSuperCloneWithoutWarnings.java
new file mode 100644
index 000000000..afc0740c3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/superclone/InputSuperCloneWithoutWarnings.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.superclone;
+
+public class InputSuperCloneWithoutWarnings {
+ @Override
+ protected final Object clone() throws CloneNotSupportedException {
+ return new InputSuperCloneWithoutWarnings();
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/unnecessaryparentheses/InputUnnecessaryParenthesesLambdas.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/unnecessaryparentheses/InputUnnecessaryParenthesesLambdas.java
new file mode 100644
index 000000000..2d901fae5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/unnecessaryparentheses/InputUnnecessaryParenthesesLambdas.java
@@ -0,0 +1,79 @@
+package com.puppycrawl.tools.checkstyle.checks.coding.unnecessaryparentheses;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.function.Function;
+
+public class InputUnnecessaryParenthesesLambdas {
+ int foo(int y) {
+ MathOperation case1 = (x) -> x + x;
+ MathOperation case2 = (x) -> { return x + x; };
+ MathOperation case3 = (int x) -> x + x;
+ MathOperation case4 = x -> x + x;
+ MathOperation2 case5 = (a, b) -> a + b;
+ MathOperation2 case6 = (int a, int b) -> a + b;
+ MathOperation2 case7 = (int a, int b) -> { return a + b; };
+ Objects.requireNonNull(null, () -> "message");
+ call((x) -> x + x);
+ new HashSet<Integer>().stream().filter((filter) -> filter > 0);
+ return y;
+ }
+
+ static <T> CheckedFunction1<T, T> identitity() {
+ return t -> t;
+ }
+
+ public interface CheckedFunction2<T1, T2, R> extends Lambda<R> {
+ R apply(T1 t1, T2 t2) throws Throwable;
+
+ default CheckedFunction1<T2, R> apply(T1 t1) {
+ return (T2 t2) -> apply(t1, t2);
+ }
+ @Override
+ default Function1<T1, CheckedFunction1<T2, R>> curried() {
+ return t1 -> t2 -> apply(t1, t2);
+ }
+ default Function1<T1, CheckedFunction1<T2, R>> curried2() {
+ return (t1) -> (t2) -> apply(t1, t2);
+ }
+ default Function1<T1, CheckedFunction1<T2, R>> curried3() {
+ return (t1) -> t2 -> apply(t1, t2);
+ }
+ default Function1<T1, CheckedFunction1<T2, R>> curried4() {
+ return t1 -> (t2) -> apply(t1, t2);
+ }
+ }
+
+ private void call(MathOperation o) {
+ o.operation(1);
+ }
+
+ interface MathOperation {
+ int operation(int a);
+ }
+
+ interface MathOperation2 {
+ int operation(int a, int b);
+ }
+
+ interface Lambda<R> extends Serializable {
+ Lambda<?> curried();
+ }
+
+ public interface Function1<T1, R> extends Lambda<R>, Function<T1, R> {
+ @Override
+ default Function1<T1, R> curried() {
+ return this;
+ }
+ }
+
+ public interface CheckedFunction1<T1, R> extends Lambda<R> {
+ R apply(T1 t1) throws Throwable;
+
+ @Override
+ default CheckedFunction1<T1, R> curried() {
+ return this;
+ }
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenEmptyStatement.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenEmptyStatement.java
index b197c15a1..357a328bb 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenEmptyStatement.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenEmptyStatement.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenEmptyStatement
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenIllegalTokens.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenIllegalTokens.java
index 00379b20f..b0e45ea85 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenIllegalTokens.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenIllegalTokens.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenIllegalTokens
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenLastTokenType.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenLastTokenType.java
new file mode 100644
index 000000000..88a850ad1
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenLastTokenType.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
+
+/**
+ * Created by valeria on 8/19/17.
+ */
+public class InputDescendantTokenLastTokenType {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenMissingSwitchDefault.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenMissingSwitchDefault.java
index 2475f95e5..1f977b1de 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenMissingSwitchDefault.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenMissingSwitchDefault.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenMissingSwitchDefault {
public void foo() {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromCatch.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromCatch.java
index e9312a1c0..8cf1f90a9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromCatch.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromCatch.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenReturnFromCatch {
public void foo() {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromFinally.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromFinally.java
index 566853d55..097f70b8a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenReturnFromFinally.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenReturnFromFinally.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenReturnFromFinally {
public void foo() {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenStringLiteralEquality.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenStringLiteralEquality.java
index 2ee908813..db67804b1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/descendanttoken/InputDescendantTokenStringLiteralEquality.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/descendanttoken/InputDescendantTokenStringLiteralEquality.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.descendanttoken;
+package com.puppycrawl.tools.checkstyle.checks.descendanttoken;
public class InputDescendantTokenStringLiteralEquality
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/innertypelast/InputInnerTypeLastClassRootClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/innertypelast/InputInnerTypeLastClassRootClass.java
new file mode 100644
index 000000000..1c2df5a0e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/innertypelast/InputInnerTypeLastClassRootClass.java
@@ -0,0 +1,18 @@
+package com.puppycrawl.tools.checkstyle.checks.design.innertypelast;
+
+public enum InputInnerTypeLastClassRootClass {
+
+ ALWAYS(Bits.YES), NEVER(Bits.NO);
+
+ private interface Bits {
+ public static final int YES = 1;
+
+ public static final int NO = 4;
+ }
+
+ private final int bits;
+
+ private InputInnerTypeLastClassRootClass(int bits) {
+ this.bits = bits;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/mutableexception/InputMutableExceptionMultipleInputs.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/mutableexception/InputMutableExceptionMultipleInputs.java
new file mode 100644
index 000000000..036f2d121
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/mutableexception/InputMutableExceptionMultipleInputs.java
@@ -0,0 +1,15 @@
+package com.puppycrawl.tools.checkstyle.checks.design.mutableexception;
+
+public class InputMutableExceptionMultipleInputs {
+
+ public class BarError extends Throwable {
+ private int errorCode;
+ }
+
+ class CustomMutableException extends java.lang.Exception {
+ int errorCode;
+ final int errorCount = 6;
+ }
+
+ private String variable;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum.java
index 3043b7b4b..a34ede93c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum.java
@@ -1,5 +1,5 @@
package com.puppycrawl.tools.checkstyle.checks.design.onetoplevelclass;
-public enum InputOneTopLevelEnum {
+public enum InputOneTopLevelClassEnum {
VALUE1, VALUE2;
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum2.java
index 5b7673bfe..5bd8ab293 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelEnum2.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassEnum2.java
@@ -1,13 +1,13 @@
package com.puppycrawl.tools.checkstyle.checks.design.onetoplevelclass;
-enum InputOneTopLevelEnum2inner1 {
+enum InputOneTopLevelClassEnum2inner1 {
VALUE1, VALUE2;
}
-public enum InputOneTopLevelEnum2 {
+public enum InputOneTopLevelClassEnum2 {
VALUE1, VALUE2;
}
-enum InputOneTopLevelEnum2inner2 {
+enum InputOneTopLevelClassEnum2inner2 {
VALUE1, VALUE2;
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface.java
index 4a2fd11f8..cbb70043a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface.java
@@ -1,5 +1,5 @@
package com.puppycrawl.tools.checkstyle.checks.design.onetoplevelclass;
-public interface InputOneTopLevelInterface {
+public interface InputOneTopLevelClassInterface {
int foo();
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface2.java
new file mode 100644
index 000000000..c4215fda4
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelClassInterface2.java
@@ -0,0 +1,13 @@
+package com.puppycrawl.tools.checkstyle.checks.design.onetoplevelclass;
+
+interface InputOneTopLevelClassInterface2inner1 {
+ int foo();
+}
+
+public interface InputOneTopLevelClassInterface2 {
+ int foo();
+}
+
+interface InputOneTopLevelClassInterface2inner2 {
+ int foo();
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface2.java
deleted file mode 100644
index ae13b97a4..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/onetoplevelclass/InputOneTopLevelInterface2.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.puppycrawl.tools.checkstyle.checks.design.onetoplevelclass;
-
-interface InputOneTopLevelInterface2inner1 {
- int foo();
-}
-
-public interface InputOneTopLevelInterface2 {
- int foo();
-}
-
-interface InputOneTopLevelInterface2inner2 {
- int foo();
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/throwscount/InputThrowsCountMwthodWithAnnotation.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/throwscount/InputThrowsCountMwthodWithAnnotation.java
new file mode 100644
index 000000000..879343553
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/throwscount/InputThrowsCountMwthodWithAnnotation.java
@@ -0,0 +1,20 @@
+package com.puppycrawl.tools.checkstyle.checks.design.throwscount;
+
+import java.awt.AWTException;
+import java.io.EOFException;
+import java.io.FileNotFoundException;
+import java.nio.file.FileAlreadyExistsException;
+import java.sql.SQLException;
+
+public class InputThrowsCountMwthodWithAnnotation extends ParentClass {
+ @Override
+ public void method() throws AWTException, SQLException, FileNotFoundException,
+ EOFException, FileAlreadyExistsException {
+ super.method();
+ }
+}
+
+class ParentClass {
+ public void method() throws AWTException, SQLException,
+ FileNotFoundException, EOFException, FileAlreadyExistsException {}
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableSameTypeName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableSameTypeName.java
index 23d77b033..43ac8aa83 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableSameTypeName.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableSameTypeName.java
@@ -1,7 +1,7 @@
package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier;
import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.InputVisibilityModifierGregorianCalendar;
-import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.InetSocketAddress;
+import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.inputs.InetSocketAddress;
public final class InputVisibilityModifierImmutableSameTypeName
{
public final java.util.GregorianCalendar calendar = null;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableStarImport.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableStarImport.java
index 4597b7476..fb7eb38b3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableStarImport.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierImmutableStarImport.java
@@ -1,7 +1,7 @@
package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier;
import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.InputVisibilityModifierImmutable;
-import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.InetSocketAddress.*;
+import com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.inputs.InetSocketAddress.*;
public final class InputVisibilityModifierImmutableStarImport
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierIsStarImport.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierIsStarImport.java
new file mode 100644
index 000000000..56a7d07ea
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InputVisibilityModifierIsStarImport.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier;
+
+import com.puppycrawl.*;
+
+public class InputVisibilityModifierIsStarImport {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InetSocketAddress.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/inputs/InetSocketAddress.java
index 85def237d..03db31333 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/InetSocketAddress.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/visibilitymodifier/inputs/InetSocketAddress.java
@@ -1,9 +1,9 @@
-package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier;
+package com.puppycrawl.tools.checkstyle.checks.design.visibilitymodifier.inputs;
// ATTENTION: we need name of this class to be without "Input" prefix to as we
// need the same name as defined at VisibilityModifierCheck.DEFAULT_IMMUTABLE_TYPES
public class InetSocketAddress
{
- class Arrays {
+ public class Arrays {
}
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParameters.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParameters.java
index 468d8cf41..4504565d3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParameters.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParameters.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.finalparameters;
+package com.puppycrawl.tools.checkstyle.checks.finalparameters;
import javax.swing.AbstractAction;
import javax.swing.Action;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersPrimitiveTypes.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersPrimitiveTypes.java
index b1ae53c7f..2d90353b1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersPrimitiveTypes.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersPrimitiveTypes.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.finalparameters;
+package com.puppycrawl.tools.checkstyle.checks.finalparameters;
public class InputFinalParametersPrimitiveTypes
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersReceiver.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersReceiver.java
index 4b4544733..a903960e8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/finalparameters/InputFinalParametersReceiver.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/finalparameters/InputFinalParametersReceiver.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.finalparameters;
+package com.puppycrawl.tools.checkstyle.checks.finalparameters;
public class InputFinalParametersReceiver {
public void foo4(InputFinalParametersReceiver this) {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderConsecutiveNewLines.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderConsecutiveNewLines.java
new file mode 100644
index 000000000..2bf5afddf
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderConsecutiveNewLines.java
@@ -0,0 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+// Test case file for checkstyle.
+/* */
+// Created: 2017
+////////////////////////////////////////////////////////////////////////////////
+package com.puppycrawl.tools.checkstyle.checks.header.regexpheader;
+
+/**
+ * @author Vivek Rao
+ */
+public class InputRegexpHeaderConsecutiveNewLines
+{
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderNewLines.header b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderNewLines.header
new file mode 100644
index 000000000..6bd25a19c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/header/regexpheader/InputRegexpHeaderNewLines.header
@@ -0,0 +1,5 @@
+^/*$
+// .*
+
+// Created: 2017
+^.*$
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstarimport/InputAvoidStarImportDefault.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstarimport/InputAvoidStarImportDefault.java
index 11bc8b758..cbb368110 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstarimport/InputAvoidStarImportDefault.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstarimport/InputAvoidStarImportDefault.java
@@ -37,9 +37,7 @@ import java.util.BitSet;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.CheckerTest;
-import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport;
import com.puppycrawl.tools.checkstyle.Definitions;
-import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.Input15Extensions;
import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest;
import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstaticimport/InputAvoidStaticImportDefault.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstaticimport/InputAvoidStaticImportDefault.java
index 7021edf3c..91754aae4 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstaticimport/InputAvoidStaticImportDefault.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/avoidstaticimport/InputAvoidStaticImportDefault.java
@@ -39,9 +39,7 @@ import java.util.BitSet;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.CheckerTest;
-import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport;
import com.puppycrawl.tools.checkstyle.Definitions;
-import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.Input15Extensions;
import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest;
import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/illegalimport/InputIllegalImportDefault.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/illegalimport/InputIllegalImportDefault.java
index a3657c23f..1d11f842d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/illegalimport/InputIllegalImportDefault.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/illegalimport/InputIllegalImportDefault.java
@@ -37,9 +37,7 @@ import java.util.BitSet;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.CheckerTest;
-import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport;
import com.puppycrawl.tools.checkstyle.Definitions;
-import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.Input15Extensions;
import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest;
import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/import-control_MODIFIED_FOR_UT.dtd b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderDtd_MODIFIED_FOR_UT.dtd
index 4a9233804..4a9233804 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/import-control_MODIFIED_FOR_UT.dtd
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderDtd_MODIFIED_FOR_UT.dtd
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderWithNewElement.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderWithNewElement.xml
index 76b80bfa1..834056549 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderWithNewElement.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderWithNewElement.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE import-control PUBLIC
"-//Puppy Crawl//DTD Import Control 1.UT//EN"
- "src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/import-control_MODIFIED_FOR_UT.dtd">
+ "src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importcontrolloader/InputImportControlLoaderDtd_MODIFIED_FOR_UT.dtd">
<import-control pkg="com">
<allow class="some.class"/>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderNoGapBetweenStaticImports.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderNoGapBetweenStaticImports.java
new file mode 100644
index 000000000..2bfdc4fdc
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderNoGapBetweenStaticImports.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.importorder;
+
+import static java.lang.Math.abs;
+import static java.lang.Math.cos; // no gap below
+import static javax.xml.transform.TransformerFactory.newInstance;//no gap below
+import static org.junit.Assert.fail;
+
+public class InputImportOrderNoGapBetweenStaticImports {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderRepetiton.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderRepetiton.java
new file mode 100644
index 000000000..78456928e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderRepetiton.java
@@ -0,0 +1,12 @@
+package com.puppycrawl.tools.checkstyle.checks.imports;
+
+import java.awt.Button;
+import java.awt.Dialog;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionEvent; //Repetitive import
+
+import javax.swing.JComponent;
+import javax.swing.JTable;
+
+public class InputImportOrderRepetiton {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderSortStaticImportsAlphabetically.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderSortStaticImportsAlphabetically.java
new file mode 100644
index 000000000..080bc1632
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderSortStaticImportsAlphabetically.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.importorder;
+
+import static org.junit.Assert.fail;
+import static javax.xml.transform.TransformerFactory.newInstance;
+import static java.lang.Math.cos;
+import static java.lang.Math.abs;
+
+public class InputImportOrderSortStaticImportsAlphabetically {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticGroupSeperated.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticGroupSeperated.java
new file mode 100644
index 000000000..dd06f8df5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticGroupSeperated.java
@@ -0,0 +1,13 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.importorder;
+
+import static java.lang.Math.abs;
+
+import static java.lang.Math.cos;;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+public class InputImportOrderStaticGroupSeperated {
+ void method() {
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticRepetition.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticRepetition.java
new file mode 100644
index 000000000..d84874879
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/importorder/InputImportOrderStaticRepetition.java
@@ -0,0 +1,12 @@
+package com.puppycrawl.tools.checkstyle.checks.imports;
+
+import static java.lang.Math.*;
+import static org.antlr.v4.runtime.CommonToken.*;
+import static org.antlr.v4.runtime.CommonToken.*; //Repetitive static import
+
+import java.util.Set;
+
+import org.junit.Test;
+
+public class InputImportOrderStaticRepetition {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputImportBug.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportBug.java
index 66a616a02..1396c17f4 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputImportBug.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportBug.java
@@ -2,11 +2,11 @@ package com.puppycrawl.tools.checkstyle.checks.imports.redundantimport;
import java.net.URL;
-public class InputImportBug {
+public class InputRedundantImportBug {
//same as a class name
private static String URL = "This is a String object";
- public InputImportBug() throws Exception {
+ public InputRedundantImportBug() throws Exception {
URL url = new URL("file://this.is.a.url.object");
}
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportCheckClearState.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportCheckClearState.java
new file mode 100644
index 000000000..16af2527b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportCheckClearState.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.redundantimport;
+
+import static java.util.Arrays.asList;
+import static java.util.Arrays.asList;
+
+import java.util.List;
+import java.util.List;
+
+public class InputRedundantImportCheckClearState {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithChecker.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithChecker.java
index 12d0c6aec..a917e4850 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithChecker.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithChecker.java
@@ -5,7 +5,7 @@
package com.puppycrawl.tools.checkstyle.checks.imports.redundantimport;
import com.puppycrawl.tools.checkstyle.checks.imports.redundantimport.*;
-import com.puppycrawl.tools.checkstyle.checks.imports.redundantimport.InputImportBug;
+import com.puppycrawl.tools.checkstyle.checks.imports.redundantimport.InputRedundantImportBug;
import java.io.*;
import java.lang.*;
import java.lang.String;
@@ -37,9 +37,7 @@ import java.util.BitSet;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.CheckerTest;
-import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport;
import com.puppycrawl.tools.checkstyle.Definitions;
-import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.Input15Extensions;
import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest;
import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithoutWarnings.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithoutWarnings.java
new file mode 100644
index 000000000..79d339326
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/redundantimport/InputRedundantImportWithoutWarnings.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.redundantimport;
+
+import static java.util.Arrays.asList;
+
+import java.util.List;
+
+public class InputRedundantImportWithoutWarnings {
+ private static final List<String> CONSTANTS = asList("a", "b");
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports.java
index 6a24b7d24..069fb2500 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports.java
@@ -36,9 +36,8 @@ import java.util.BitSet;
import com.puppycrawl.tools.checkstyle.Checker;
import com.puppycrawl.tools.checkstyle.CheckerTest;
-import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport;
import com.puppycrawl.tools.checkstyle.Definitions;
-import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.Input15Extensions;
+import com.puppycrawl.tools.checkstyle.checks.imports.unusedimports.InputUnusedImports15Extensions;
import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest;
import com.puppycrawl.tools.checkstyle.PackageNamesLoader;
import com.puppycrawl.tools.checkstyle.DefaultConfiguration;
@@ -100,7 +99,7 @@ class InputUnusedImports
/**
* First is a class with a method with arguments {@link Checker#method1(CheckerTest)}.
- * Next is a class with typed method {@link BaseFileSetCheckTestSupport#method2(Definitions, Input15Extensions)}.
+ * Next is a class with typed method {@link BaseFileSetCheckTestSupport#method2(Definitions, InputUnusedImports15Extensions)}.
*
* @param param1 with a link {@link ConfigurationLoaderTest}
* @throws PackageNamesLoader when broken
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/Input15Extensions.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports15Extensions.java
index 7a779606b..45eadb52a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/Input15Extensions.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImports15Extensions.java
@@ -7,7 +7,7 @@ package com.puppycrawl.tools.checkstyle.checks.imports.unusedimports;
}
@MyAnnotation1(name = "ABC", version = 1)
-public class Input15Extensions
+public class InputUnusedImports15Extensions
{
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsCheckClearState.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsCheckClearState.java
new file mode 100644
index 000000000..9bf18b724
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsCheckClearState.java
@@ -0,0 +1,7 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.unusedimports;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+public class InputUnusedImportsCheckClearState {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsJavadocQualifiedName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsJavadocQualifiedName.java
new file mode 100644
index 000000000..f9beada96
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsJavadocQualifiedName.java
@@ -0,0 +1,9 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.unusedimports;
+
+import java.util.Map; // OK
+import java.util.List; // VIOLATION
+
+/**
+ * Use {@link Map.Entry} in this javadoc.
+ */
+public class InputUnusedImportsJavadocQualifiedName {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportWithBlockMethodParameters.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithBlockMethodParameters.java
index e176ca131..08c295265 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportWithBlockMethodParameters.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithBlockMethodParameters.java
@@ -4,7 +4,7 @@ import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
-public class InputUnusedImportWithBlockMethodParameters {
+public class InputUnusedImportsWithBlockMethodParameters {
/**
* @see ExecutorService#invokeAll(Collection, long, TimeUnit)
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithoutWarnings.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithoutWarnings.java
new file mode 100644
index 000000000..f14f27bd5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/imports/unusedimports/InputUnusedImportsWithoutWarnings.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.checks.imports.unusedimports;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class InputUnusedImportsWithoutWarnings {
+ private static final List<String> CONSTANTS = Arrays.asList("a", "b");
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryResourcesNotStrict.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryResourcesNotStrict.java
new file mode 100644
index 000000000..639ad8381
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryResourcesNotStrict.java
@@ -0,0 +1,183 @@
+package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0
+
+import java.io.BufferedWriter; //indent:0 exp:0
+import java.io.IOException; //indent:0 exp:0
+import java.nio.charset.Charset; //indent:0 exp:0
+import java.nio.charset.MalformedInputException; //indent:0 exp:0
+import java.nio.charset.StandardCharsets; //indent:0 exp:0
+import java.nio.file.DirectoryStream; //indent:0 exp:0
+import java.nio.file.Files; //indent:0 exp:0
+import java.nio.file.Path; //indent:0 exp:0
+import java.nio.file.Paths; //indent:0 exp:0
+import java.util.zip.ZipFile; //indent:0 exp:0
+
+public final class InputIndentationTryResourcesNotStrict { //indent:0 exp:0
+
+ private InputIndentationTryResourcesNotStrict() { //indent:4 exp:4
+
+ } //indent:4 exp:4
+
+ static void fooMethod(String zipFileName) throws IOException { //indent:4 exp:4
+
+ Charset charset = StandardCharsets.US_ASCII; //indent:8 exp:8
+ Path outputFilePath = Paths.get(zipFileName); //indent:8 exp:8
+
+ try //indent:8 exp:8
+ ( //indent:12 exp:>=8
+final BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:0 exp:12 warn
+ ) { //indent:12 exp:>=8
+ ; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files. //indent:12 exp:12
+newBufferedWriter(outputFilePath, charset); //indent:0 exp:16 warn
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files. //indent:8 exp:8
+newBufferedWriter(outputFilePath, charset); //indent:0 exp:>=12 warn
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files. //indent:12 exp:12
+ newBufferedWriter(outputFilePath, charset); //indent:16 exp:16
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try { //indent:8 exp:8
+ try ( //indent:12 exp:12
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:20 exp:>=16
+ writer.flush(); //indent:16 exp:16
+ } catch (MalformedInputException e) { //indent:12 exp:12
+ //Empty //indent:16 exp:16
+ } //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ Integer.parseInt("1"); //indent:12 exp:12
+ } //indent:8 exp:8
+ try { //indent:8 exp:8
+
+ } catch (Exception e) { //indent:8 exp:8
+
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (Exception e) { //indent:8 exp:8
+
+ } //indent:8 exp:8
+ BufferedWriter writ = Files.newBufferedWriter(outputFilePath, charset); //indent:8 exp:8
+ try (BufferedWriter writer = writ) { //indent:8 exp:8
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( BufferedWriter writer = //indent:8 exp:8
+ writ) { //indent:19 exp:>=12
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = //indent:12 exp:12
+ writ) { //indent:19 exp:>=16
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = //indent:12 exp:12
+ writ) { //indent:21 exp:>=16
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:16 exp:16
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:17 exp:>=16
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:15 exp:>=16 warn
+ ) { //indent:12 exp:>=8
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ writer.close(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ writer.close(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:7 exp:8 warn
+
+
+
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:12 exp:12
+ writer.close(); //indent:15 exp:12 warn
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+
+
+
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:11 exp:12 warn
+ writer.close(); //indent:9 exp:12 warn
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+
+ BufferedWriter writer = Files. //indent:11 exp:12 warn
+ newBufferedWriter(outputFilePath, charset)) { //indent:11 exp:16 warn
+ writer.close(); //indent:13 exp:12 warn
+ } //indent:8 exp:8
+ try (BufferedWriter writer = writ //indent:7 exp:8 warn
+ ) { //indent:7 exp:>=8,12 warn
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer1 = writ; //indent:8 exp:8
+ BufferedWriter writer2 = writ; //indent:12 exp:>=12
+ BufferedWriter writer3 = writ; //indent:13 exp:>=12
+ BufferedWriter writer4 = writ; //indent:14 exp:>=12
+ BufferedWriter writer5 = writ) { //indent:15 exp:>=12
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ ; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files //indent:8 exp:8
+ .newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:>=12 warn
+ ; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files //indent:8 exp:8
+ .newBufferedWriter(outputFilePath, charset)) { //indent:13 exp:>=12
+ ; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (DirectoryStream<Path> ds = Files.newDirectoryStream(outputFilePath, //indent:8 exp:8
+ new DirectoryStream.Filter<Path>() { //indent:11 exp:>=12 warn
+ @Override //indent:16 exp:16
+ public boolean accept(Path path) { //indent:16 exp:16
+ return path.toString().contains(""); //indent:20 exp:20
+ } //indent:16 exp:16
+ })) //indent:12 exp:12
+ { //indent:8 exp:8
+ for (Path p : ds) //indent:12 exp:12
+ ; //indent:16 exp:16
+ } //indent:8 exp:8
+ } //indent:4 exp:4
+} //indent:0 exp:0
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryWithResourcesStrict.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryWithResourcesStrict.java
new file mode 100644
index 000000000..4297d2c88
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationTryWithResourcesStrict.java
@@ -0,0 +1,184 @@
+package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0
+
+import java.io.BufferedWriter; //indent:0 exp:0
+import java.io.IOException; //indent:0 exp:0
+import java.nio.charset.Charset; //indent:0 exp:0
+import java.nio.charset.MalformedInputException; //indent:0 exp:0
+import java.nio.charset.StandardCharsets; //indent:0 exp:0
+import java.nio.file.DirectoryStream; //indent:0 exp:0
+import java.nio.file.Files; //indent:0 exp:0
+import java.nio.file.Path; //indent:0 exp:0
+import java.nio.file.Paths; //indent:0 exp:0
+import java.util.zip.ZipFile; //indent:0 exp:0
+
+public final class InputIndentationTryWithResourcesStrict { //indent:0 exp:0
+
+ private InputIndentationTryWithResourcesStrict() { //indent:4 exp:4
+
+ } //indent:4 exp:4
+
+ static void fooMethod(String zipFileName) throws IOException { //indent:4 exp:4
+
+ Charset charset = StandardCharsets.US_ASCII; //indent:8 exp:8
+ Path outputFilePath = Paths.get(zipFileName); //indent:8 exp:8
+
+ try ( //indent:8 exp:8
+final BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:0 exp:12 warn
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:13 exp:8,12 warn
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files. //indent:12 exp:12
+newBufferedWriter(outputFilePath, charset); //indent:0 exp:16 warn
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:8 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files. //indent:8 exp:8
+newBufferedWriter(outputFilePath, charset); //indent:0 exp:12 warn
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files. //indent:12 exp:12
+ newBufferedWriter(outputFilePath, charset); //indent:16 exp:16
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile(zipFileName) //indent:12 exp:12
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try { //indent:8 exp:8
+ try ( //indent:12 exp:12
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:20 exp:16 warn
+ writer.flush(); //indent:16 exp:16
+ } catch (MalformedInputException e) { //indent:12 exp:8,12
+ //Empty //indent:16 exp:16
+ } //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ Integer.parseInt("1"); //indent:12 exp:12
+ } //indent:8 exp:8
+ try { //indent:8 exp:8
+
+ } catch (Exception e) { //indent:8 exp:8
+
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (Exception e) { //indent:8 exp:8
+
+ } //indent:8 exp:8
+ BufferedWriter writ = Files.newBufferedWriter(outputFilePath, charset); //indent:8 exp:8
+ try (BufferedWriter writer = writ) { //indent:8 exp:8
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( BufferedWriter writer = //indent:8 exp:8
+ writ) { //indent:19 exp:12 warn
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = //indent:12 exp:12
+ writ) { //indent:19 exp:16 warn
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = //indent:12 exp:12
+ writ) { //indent:21 exp:16 warn
+ Integer.parseInt("2"); //indent:12 exp:12
+ } catch (IOException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:16 exp:16
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:17 exp:16 warn
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset); //indent:12 exp:12
+ ZipFile zf = new ZipFile( //indent:12 exp:12
+ zipFileName) //indent:15 exp:16 warn
+ ) { //indent:12 exp:8,12
+ zf.getName(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ writer.close(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:8 exp:8
+ writer.close(); //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( //indent:7 exp:8 warn
+
+
+
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:12 exp:12
+ writer.close(); //indent:15 exp:12 warn
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+
+
+
+ BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) { //indent:11 exp:12 warn
+ writer.close(); //indent:9 exp:12 warn
+ } //indent:8 exp:8
+ try ( //indent:8 exp:8
+
+ BufferedWriter writer = Files. //indent:11 exp:12 warn
+ newBufferedWriter(outputFilePath, charset)) { //indent:11 exp:16 warn
+ writer.close(); //indent:13 exp:12 warn
+ } //indent:8 exp:8
+ try (BufferedWriter writer = writ //indent:7 exp:8 warn
+ ) { //indent:7 exp:8,12 warn
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = writ //indent:9 exp:8 warn
+ ) { //indent:12 exp:8,12
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (BufferedWriter writer = Files //indent:8 exp:8
+ .newBufferedWriter(outputFilePath, charset)//indent:13 exp:12 warn
+ ) { //indent:12 exp:8,12
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try ( BufferedWriter writer = Files //indent:8 exp:8
+ .newBufferedWriter(outputFilePath, charset)//indent:11 exp:12 warn
+ ) { //indent:12 exp:8,12
+ } catch (MalformedInputException e) { //indent:8 exp:8
+ throw e; //indent:12 exp:12
+ } //indent:8 exp:8
+ try (DirectoryStream<Path> ds = Files.newDirectoryStream(outputFilePath, //indent:8 exp:8
+ new DirectoryStream.Filter<Path>() { //indent:12 exp:12
+ @Override //indent:16 exp:16
+ public boolean accept(Path path) { //indent:16 exp:16
+ return path.toString().contains(""); //indent:20 exp:20
+ } //indent:16 exp:16
+ })) //indent:12 exp:12
+ { //indent:8 exp:8
+ for (Path p : ds) //indent:12 exp:12
+ ; //indent:16 exp:16
+ } //indent:8 exp:8
+ } //indent:4 exp:4
+} //indent:0 exp:0
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationValidTryResourcesIndent.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationValidTryResourcesIndent.java
index 56f02ead1..e2792147b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationValidTryResourcesIndent.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/indentation/indentation/InputIndentationValidTryResourcesIndent.java
@@ -25,8 +25,7 @@ class InputIndentationValidTryResourcesIndent //indent:0 exp:0
// Taken from JDK7 java.lang.Package src code. //indent:4 exp:4
private static Manifest loadManifest(String fn) { //indent:4 exp:4
try (FileInputStream fis = new FileInputStream(fn); //indent:8 exp:8
- // This should be an error //indent:4 exp:4
- JarInputStream jis = new JarInputStream(fis, false)) //indent:4 exp:4
+ JarInputStream jis = new JarInputStream(fis, false)) //indent:12 exp:12
{ //indent:8 exp:8
return jis.getManifest(); //indent:12 exp:12
} catch (IOException e) //indent:8 exp:8
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocJavadocTagsWithoutArgs.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocJavadocTagsWithoutArgs.java
new file mode 100644
index 000000000..da491d075
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocJavadocTagsWithoutArgs.java
@@ -0,0 +1,70 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;
+
+import java.io.Serializable;
+
+/**@author*/
+public class InputAbstractJavadocJavadocTagsWithoutArgs implements Serializable{
+ /**@serial*/
+ private static final long serialVersionUID = 7556448691029650757L;
+
+ /**@see*/
+ private static int field2;
+
+ /**@since*/
+ private static String field3;
+
+ /**@version*/
+ private static Object field4;
+
+ /**serialField*/
+ private static Object field5;
+
+ /**@exception*/
+ public static void method1() {
+
+ }
+
+ /**@throws*/
+ public static void method2() {
+
+ }
+
+ /**@return*/
+ public static int method3() {
+ return -1;
+ }
+
+ /**@param*/
+ public static void method4(int a) {
+
+ }
+
+ /**@customTag*/
+ public static void method5(int a) {
+
+ }
+
+ /**@deprecated*/
+ public static void method6(int a) {
+
+ }
+
+ /**@serialData*/
+ private void readObject(java.io.ObjectInputStream inputStream) {
+
+ }
+
+ /**
+ * {@link}
+ */
+ public void method7() {
+
+ }
+
+ /**
+ * {@linkplain }
+ */
+ public void method8() {
+
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNoWsBeforeDescriptionInJavadocTags.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNoWsBeforeDescriptionInJavadocTags.java
new file mode 100644
index 000000000..fabc0e483
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNoWsBeforeDescriptionInJavadocTags.java
@@ -0,0 +1,97 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;
+
+import java.io.ObjectStreamField;
+import java.io.Serializable;
+
+/**
+ * @author author-name <link rel="author license" href="/about">
+ */
+public class InputAbstractJavadocNoWsBeforeDescriptionInJavadocTags implements Serializable{
+
+ /**
+ * Parse Error from ANTLR.
+ * @serial include description
+ * @see <a
+ * href="https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#serial">
+ * oracle docs</a> Syntax: <b>@serial field-description | include | exclude</b>
+ */
+ private static final long serialVersionUID = 8669426759693842025L;
+
+ /**
+ * Parse Error from ANTLR.
+ * @serialField Fieldname-fieldtype-fielddescription
+ */
+ private static ObjectStreamField objectStreamField1;
+
+ /**
+ * Parse Error from ANTLR.
+ * @serialField Fieldname fieldtype-fielddescription
+ */
+ private static ObjectStreamField objectStreamField2;
+
+ /**
+ * @serialField Fieldname -fieldtype -fielddescription <!-- No
+ * error -->
+ */
+ private static ObjectStreamField objectStreamField3;
+
+ /**
+ * Parse Error from ANTLR.
+ * @exception RuntimeException-description
+ */
+ private static void method1() {
+
+ }
+
+ /**
+ * Parse Error from ANTLR.
+ * @throws RuntimeException-description
+ */
+ private static void method2() {
+
+ }
+
+ /**
+ * Parse Error from ANTLR.
+ *
+ * @param a-description
+ */
+ private static void method3(int a) {
+
+ }
+
+ /**
+ * @see #objectStreamField1-description
+ */
+ private static void method4() {
+
+ }
+
+ /**
+ * @customTag<description>
+ */
+ private static void method8() {
+
+ }
+
+ /**
+ * {@link #objectStreamField2-description}
+ */
+ private static void method5() {
+
+ }
+
+ /**
+ * {@linkplain #objectStreamField3-description}
+ */
+ private static void method6() {
+
+ }
+
+ /**
+ * {@customlink<description>}
+ */
+ private static void method7() {
+
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags.java
new file mode 100644
index 000000000..a2e2ec563
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags.java
@@ -0,0 +1,129 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;
+
+/**
+ * <body>
+ * <p> This class is only meant for testing. </p>
+ * <p> In html, closing all tags is not necessary.
+ * <li> neither is opening every tag <p> </li>
+ * </body>
+ *
+ * @see "https://www.w3.org/TR/html51/syntax.html#optional-start-and-end-tags"
+ */
+public class InputAbstractJavadocNonTightHtmlTags {
+ /** <p> <p> paraception </p> </p> */
+ private int field1;
+
+ /**<li> paraTags should be opened</p> list isn't nested in parse tree </li>*/
+ private int field2;
+
+ /**
+ * <p> this paragraph is closed and would be nested in javadoc tree </p>
+ * <li> this list has an <p> unclosed para, but still the list would get nested </li>
+ */
+ private int field3;
+
+ /**
+ * <li> Complete <p> nesting </p> </li>
+ * <tr> Zero </p> nesting despite `tr` is closed </tr>
+ */
+ private int field4;
+
+ /**
+ * <p> <a href="www.something.com">something</a> paragraph with `htmlTag` </p>
+ * <p> <a href="www.something.com"/> Nested paragraph with `singletonTag` </p>
+ * <li> Outer tag <li> Inner tag nested </li> not nested </li>
+ */
+ private int field5;
+
+ /**
+ * <th> !isNonTight </th>
+ * <th> th with <base/> singletonElement </th>
+ * <body> body with <br/> singletonElement </body>
+ * <colgroup><col><col><col></colgroup>
+ * <dd> dd with <hr> singletonElement </dd>
+ * <dt> dt with <img src="~/singletonElement.jpg" alt="" width="100" height="150"/>
+ * singletonElement </dt>
+ * <head> head with <img src="~/singletonElement.jpg" alt="" width="100" height="150">
+ * singletonElement </head>
+ */
+ private int field6;
+
+ /**
+ * <body> body <p> paragraph <li> list </li> </p> </body>
+ *
+ * @return <li> <li> outer list isn't nested in parse tree </li> </li>
+ */
+ int getField1() {return field1;}
+
+ /***/
+ int getField2() {return field2;} //method with empty javadoc
+
+ /**
+ * <tr> <li> list is going to be nested in the parse tree </li> </tr>
+ *
+ * @param field1 {@code <p> paraTag will not be recognized} in javadoc tree </p>
+ */
+ void setField1(int field1) {this.field1 = field1;}
+
+ /**
+ * <p>This is a setter method.
+ * And paraTag shall be nested in parse tree </p>
+ * @param field2 <p> settter
+ */
+ void setField2(int field2) {this.field2 = field2;}
+
+ /**
+ * <p> paragraph with a <br>singletonElement. <hr> And it contains another one. </p>
+ * <li> List with singletonElement
+ * <param name=mov value="~/imitation game.mp4"> <param name=allowfullscreen value=true> </li>
+ * @return <tr> tr with <base href="www.something.com"> singletonElement </tr>
+ * <tr> nonTight </th>
+ */
+ private int getField3() {return field3;}
+
+ /**
+ * @param field3 <td> td with singletonElement <br/> </td>
+ */
+ private void setField3(int field3) { this.field3 = field3;}
+
+ /**
+ * <html> <bR> <Br> <BR> <Br/> <BR/> <bR/> </html>
+ * <option> <INPut/> </option>
+ * @return <tbody> <input/> <br> </tbody>
+ */
+ private int getField4() {return field4;}
+
+ /**
+ * <thead> <br> </thead>
+ * <tfoot> <AREA ALT="alt" COORDS="100,0,200,50" HREF="/href/"> </tfoot>
+ * <p> </p>
+ * @param field4 value to which {@link #field4} is to be set to
+ */
+ private void setField4(int field4) {this.field4 = field4;}
+
+ /**
+ * <li> </li>
+ * <TR> </tr>
+ * <Td> </td>
+ * <tH> </th>
+ * <body> </body>
+ * <colGROUP> </COLgroup>
+ * <DD> </dd>
+ * <dt> </dt>
+ * <Head> </head>
+ * <HTML> </HTML>
+ * <option> </option>
+ * <tBody> </TbODY>
+ * <tHead> </ThEAD>
+ * <tFoot> </TfOOT>
+ * @param field5 value to which {@link #field5} is to be set to
+ */
+ private void setField5(int field5) {this.field5 = field5;}
+
+ /**
+ * <p> <li> <TR> <Td> <tH> <body> <colGROUP> <DD> <dt> <Head> <HTML> <option> <tBody> <tHead>
+ * <tFoot>
+ * @param field6 </p> value to which {@link #field6} is to be set to
+ */
+ private void setField6(int field6) {this.field6 = field6;}
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags2.java
new file mode 100644
index 000000000..1cf6024f4
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocNonTightHtmlTags2.java
@@ -0,0 +1,90 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;
+
+/**
+ * <body>
+ * <p> This class is only meant for testing. </p>
+ * <p> In html, closing all tags is not necessary.
+ * <li> neither is opening every tag. <p>Only the first non-tight tag is logged</li>
+ * </body>
+ *
+ * @see "https://www.w3.org/TR/html51/syntax.html#optional-start-and-end-tags"
+ */
+public class InputAbstractJavadocNonTightHtmlTags2 {
+ /** <p> <p> paraception </p> </p> */
+ private int field1;
+
+ /**<li> paraTags should be opened</p> list isn't nested in parse tree </li>*/
+ private int field2;
+
+ /**
+ * <p> this paragraph is closed and would be nested in javadoc tree </p>
+ * <li> this list has an <p> unclosed para, but still the list would get nested </li>
+ */
+ private int field3;
+
+ /**
+ * <li> Complete <p> nesting </p> </li>
+ * <tr> Zero </p> nesting despite `tr` is closed </tr>
+ */
+ private int field4;
+
+ /**
+ * <p> <a href="www.something.com">something</a> paragraph with `htmlTag` </p>
+ * <p> <a href="www.something.com"/> Nested paragraph with `singletonTag` </p>
+ * <li> Outer tag <li> Inner tag nested </li> not nested </li>
+ */
+ private int field5;
+
+ /**
+ * <body> body <p> paragraph <li> list </li> </p> </body>
+ *
+ * @return <li> <li> outer list isn't nested in parse tree </li> </li>
+ */
+ int getField1() {return field1;}
+
+ /***/
+ int getField2() {return field2;} //method with empty javadoc
+
+ /**
+ * <p>This is a setter method.
+ * And paraTag shall be nested in parse tree </p>
+ * @param field2 <p> settter
+ */
+ void setField2(int field2) {this.field2 = field2;}
+
+ /**
+ * <p> paragraph with a <br>singletonElement. <hr> And it contains another one. </p>
+ * <li> List with singletonElement
+ * <param name=mov value="~/imitation game.mp4"> <param name=allowfullscreen value=true> </li>
+ * @return <tr> tr with <base href="www.something.com"> singletonElement </tr>
+ * <tr> nonTight </th>
+ */
+ private int getField3() {return field3;}
+
+ /**
+ * @param field3 <td> td with singletonElement <br/> </td>
+ */
+ private void setField3(int field3) { this.field3 = field3;}
+
+ /**
+ * <html> <bR> <Br> <BR> <Br/> <BR/> <bR/> </html>
+ * <option> <INPut/> </option>
+ * @return <tbody> <input/> <br> </tbody>
+ */
+ private int getField4() {return field4;}
+
+ /**
+ * <thead> <br> </thead>
+ * <tfoot> <AREA ALT="alt" COORDS="100,0,200,50" HREF="/href/"> </tfoot>
+ * <p> </p>
+ * @param field4 value to which {@link #field4} is to be set to
+ */
+ private void setField4(int field4) {this.field4 = field4;}
+
+ /**
+ * <p> <li> <TR> <Td> <tH> <body> <colGROUP> <DD> <dt> <Head> <HTML> <option> <tBody> <tHead>
+ * <tFoot>
+ * @param field5 </p> value to which {@link #field5} is to be set to
+ */
+ private void setField5(int field5) {this.field5 = field5;}
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocWrongSingletonTagInJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocWrongSingletonTagInJavadoc.java
new file mode 100644
index 000000000..970c800e1
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/abstractjavadoc/InputAbstractJavadocWrongSingletonTagInJavadoc.java
@@ -0,0 +1,28 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;
+
+public class InputAbstractJavadocWrongSingletonTagInJavadoc {
+ /**
+ * </embed>
+ */
+ private int field1;
+
+ /**
+ * </keygen>
+ */
+ private int field2;
+
+ /**
+ * </SOURCE>
+ */
+ private int field3;
+
+ /**
+ * </TRACK>
+ */
+ private int field4;
+
+ /**
+ * </WBR>
+ */
+ private int field5;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderCorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderCorrect.java
index 3504c266d..3504c266d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderCorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderCorrect.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderIncorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderIncorrect.java
index 33b87b51a..33b87b51a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtClauseOrderIncorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/atclauseorder/InputAtclauseOrderIncorrect.java
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocpackage/noparentfile/package-info.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocpackage/noparentfile/package-info.java
new file mode 100644
index 000000000..f7832c2f3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocpackage/noparentfile/package-info.java
@@ -0,0 +1 @@
+package com.puppycrawl.tools.checkstyle.checks.javadoc.javadocpackage.noparentfile;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphCorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphCorrect.java
index c4dafe3f5..e47219f4e 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphCorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphCorrect.java
@@ -6,7 +6,7 @@ package com.puppycrawl.tools.checkstyle.checks.javadoc.javadocparagraph;
* <p>Some Javadoc.
*
*/
-class InputCorrectJavaDocParagraphCorrect {
+class InputJavadocParagraphCorrect {
/**
* Some Javadoc.
@@ -53,7 +53,7 @@ class InputCorrectJavaDocParagraphCorrect {
* <p>Some Javadoc.
*
*/
- class InnerInputCorrectJavaDocParagraphCheck {
+ class InnerInputJavadocParagraphCorrect {
/**
* Some Javadoc.
@@ -77,7 +77,7 @@ class InputCorrectJavaDocParagraphCorrect {
boolean emulated() {return false;}
}
- InnerInputCorrectJavaDocParagraphCheck anon = new InnerInputCorrectJavaDocParagraphCheck() {
+ InnerInputJavadocParagraphCorrect anon = new InnerInputJavadocParagraphCorrect() {
/**
* Some Javadoc.
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphIncorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphIncorrect.java
index 8ef60a4c1..42520ba49 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavaDocParagraphIncorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadocparagraph/InputJavadocParagraphIncorrect.java
@@ -8,7 +8,7 @@ package com.puppycrawl.tools.checkstyle.checks.javadoc.javadocparagraph;
* /^ WARN/ Some Javadoc.<p> //WARN
*
*/
-class InputJavaDocParagraphIncorrect {
+class InputJavadocParagraphIncorrect {
/**
* Some Javadoc.<P> //WARN
@@ -33,7 +33,7 @@ class InputJavaDocParagraphIncorrect {
* <p> //WARN
* <p><p> //WARN
* <p>/^WARN/ Some Javadoc.<p>*/ //WARN
- class InnerInputCorrectJavaDocParagraphCheck {
+ class InnerInputJavadocParagraphIncorrect {
/**
* Some Javadoc./WARN/<p> //WARN
@@ -55,7 +55,7 @@ class InputJavaDocParagraphIncorrect {
boolean emulated() {return false;}
}
- InnerInputCorrectJavaDocParagraphCheck anon = new InnerInputCorrectJavaDocParagraphCheck() {
+ InnerInputJavadocParagraphIncorrect anon = new InnerInputJavadocParagraphIncorrect() {
/**
* <p>Some Javadoc. //WARN
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadoctagcontinuationindentation/InputJavadocTagContinuationIndentation.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadoctagcontinuationindentation/InputJavadocTagContinuationIndentation.java
index a43c20756..27d5e6f37 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadoctagcontinuationindentation/InputJavadocTagContinuationIndentation.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/javadoctagcontinuationindentation/InputJavadocTagContinuationIndentation.java
@@ -324,7 +324,7 @@ enum Foo1 {}
* L.
*
* @author max
- * @see {@link com.puppycrawl.tools.checkstyle.AllChecksPresentOnAvailableChecksPageTest
+ * @customTag {@link com.puppycrawl.tools.checkstyle.AllChecksPresentOnAvailableChecksPageTest
* some description} // no warning, as this is just inline tag description
*/
interface FooIn1 {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/nonemptyatclausedescription/InputNonEmptyAtclauseDescription.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/nonemptyatclausedescription/InputNonEmptyAtclauseDescription.java
index ee7880239..bf3346d00 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/nonemptyatclausedescription/InputNonEmptyAtclauseDescription.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/nonemptyatclausedescription/InputNonEmptyAtclauseDescription.java
@@ -75,7 +75,7 @@ class InputNonEmptyAtclauseDescription
* @param a
* @param b
* @param c
- * @return
+ * @deprecated
* @throws Exception
* @deprecated
*/
@@ -89,7 +89,7 @@ class InputNonEmptyAtclauseDescription
* @param a
* @param b
* @param c
- * @return
+ * @deprecated
* @throws Exception
*/
public int foo4(String a, int b, double c) throws Exception
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocCorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocCorrect.java
index f4e6f9f30..c855ae607 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocCorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocCorrect.java
@@ -50,6 +50,36 @@ class InputSummaryJavadocCorrect {
void foo10() {}
/**
+ * {@inheritDoc}mm
+ */
+ void foo9a() {}
+
+ /**
+ * {@inheritDoc}mm.
+ */
+ void foo11() {}
+
+ /**
+ * {@inheritDoc} M m m m
+ */
+ void foo12() {}
+
+ /**
+ * {@inheritDoc} M m m m.
+ */
+ void foo13() {}
+
+ /**
+ * mm. {@inheritDoc}
+ */
+ void foo14() {}
+
+ /**
+ * M m m m. {@inheritDoc}
+ */
+ void foo15() {}
+
+ /**
* This is summary java doc.
* <a href="mailto:vlad@htmlbook.ru"/>
*/
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocIncorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocIncorrect.java
index 4f5175241..84f8b9adf 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocIncorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocIncorrect.java
@@ -119,11 +119,6 @@ class InputSummaryJavadocIncorrect {
void foo7() {}
/**
- * {@inheritDoc}mm
- */
- void foo9() {}
-
- /**
* {@link #setBounds(int,int,int,int)}
*/
void foo8() {}
@@ -133,4 +128,9 @@ class InputSummaryJavadocIncorrect {
*/
void foo10() {}
};
+
+ /**
+ * M m m m {@inheritDoc}
+ */
+ void foo7() {}
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputPeriodAtEnd.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocPeriodAtEnd.java
index 2e86f946f..ca4cf505a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputPeriodAtEnd.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/javadoc/summaryjavadoc/InputSummaryJavadocPeriodAtEnd.java
@@ -1,7 +1,7 @@
package com.puppycrawl.tools.checkstyle.checks.javadoc.summaryjavadoc;
-public class InputPeriodAtEnd {
+public class InputSummaryJavadocPeriodAtEnd {
/**
* JAXB 1.0 only default validation event handler
*/
@@ -47,4 +47,14 @@ public class InputPeriodAtEnd {
public void foo5(){
}
+
+ /**
+ * <p>Sentence without period</p>
+ *
+ * <p> this is a <br>
+ * paragraph.</p>
+ */
+ public void foo6() {
+
+ }
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesAllIgnored.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesAllIgnored.java
index 3221c311f..a94052450 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesAllIgnored.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesAllIgnored.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.c.CClass;
public class InputClassDataAbstractionCouplingExcludedPackagesAllIgnored { // total: ok
public AAClass aa = new AAClass(); // ok
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesCommonPackage.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesCommonPackage.java
index cfed1a652..9f05852d9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesCommonPackage.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesCommonPackage.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.c.CClass;
public class InputClassDataAbstractionCouplingExcludedPackagesCommonPackage { // total: ok
public AAClass aa = new AAClass(); // ok
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesDirectPackages.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesDirectPackages.java
index 4fc3ca739..35f20a321 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesDirectPackages.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/InputClassDataAbstractionCouplingExcludedPackagesDirectPackages.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.c.CClass;
public class InputClassDataAbstractionCouplingExcludedPackagesDirectPackages { // total: 2 violations
public AAClass aa = new AAClass(); // violation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/aa/AAClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/aa/AAClass.java
new file mode 100644
index 000000000..1398980c8
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/aa/AAClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.aa;
+
+public class AAClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/ab/ABClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/ab/ABClass.java
new file mode 100644
index 000000000..252f5d298
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/a/ab/ABClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.a.ab;
+
+public class ABClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/b/BClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/b/BClass.java
new file mode 100644
index 000000000..a9a003696
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/b/BClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.b;
+
+public class BClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/c/CClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/c/CClass.java
new file mode 100644
index 000000000..f08948b15
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classdataabstractioncoupling/inputs/c/CClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classdataabstractioncoupling.inputs.c;
+
+public class CClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexity.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexity.java
index ff435d5fa..ff5a33894 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexity.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexity.java
@@ -41,3 +41,9 @@ class InputThrows {
new java.lang.ref.ReferenceQueue<Integer>();
}
}
+
+class InputMultiDimensionalArray {
+ public Object[][] get() {
+ return new Object[][]{};
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesAllIgnored.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesAllIgnored.java
index 40f3a385f..b3ace98da 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesAllIgnored.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesAllIgnored.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.c.CClass;
public class InputClassFanOutComplexityExcludedPackagesAllIgnored { // total: ok
public AAClass aa; // ok
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesCommonPackage.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesCommonPackage.java
index 10b1f6785..aba6e83c8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesCommonPackage.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesCommonPackage.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.c.CClass;
public class InputClassFanOutComplexityExcludedPackagesCommonPackage { // total: 2 violations
public AAClass aa; // violation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesDirectPackages.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesDirectPackages.java
index 1d6733866..91f71cad7 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesDirectPackages.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityExcludedPackagesDirectPackages.java
@@ -1,9 +1,9 @@
package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa.AAClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab.ABClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b.BClass;
-import com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c.CClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.aa.AAClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.ab.ABClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.b.BClass;
+import com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.c.CClass;
public class InputClassFanOutComplexityExcludedPackagesDirectPackages { // total: 2 violations
public AAClass aa; // violation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityMultiDimensionalArray.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityMultiDimensionalArray.java
new file mode 100644
index 000000000..5c8c026fb
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/InputClassFanOutComplexityMultiDimensionalArray.java
@@ -0,0 +1,7 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity;
+
+public class InputClassFanOutComplexityMultiDimensionalArray {
+ public Object[][] get() {
+ return new Object[][]{};
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/aa/AAClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/aa/AAClass.java
new file mode 100644
index 000000000..a02f51728
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/aa/AAClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.aa;
+
+public class AAClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/ab/ABClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/ab/ABClass.java
new file mode 100644
index 000000000..335d82b6a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/a/ab/ABClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.a.ab;
+
+public class ABClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/b/BClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/b/BClass.java
new file mode 100644
index 000000000..cd7bfa94a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/b/BClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.b;
+
+public class BClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/c/CClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/c/CClass.java
new file mode 100644
index 000000000..f49c95852
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/classfanoutcomplexity/inputs/c/CClass.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.checks.metrics.classfanoutcomplexity.inputs.c;
+
+public class CClass {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/aa/AAClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/aa/AAClass.java
deleted file mode 100644
index 7e07ece8b..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/aa/AAClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.aa;
-
-public class AAClass {
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/ab/ABClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/ab/ABClass.java
deleted file mode 100644
index f965291fb..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/a/ab/ABClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.puppycrawl.tools.checkstyle.checks.metrics.inputs.a.ab;
-
-public class ABClass {
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/b/BClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/b/BClass.java
deleted file mode 100644
index 4700d37a3..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/b/BClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.puppycrawl.tools.checkstyle.checks.metrics.inputs.b;
-
-public class BClass {
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/c/CClass.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/c/CClass.java
deleted file mode 100644
index 6f24ceddb..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/metrics/inputs/c/CClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.puppycrawl.tools.checkstyle.checks.metrics.inputs.c;
-
-public class CClass {
-}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/modifier/redundantmodifier/InputRedundantModifierAnnotationOnEnumConstructor.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/modifier/redundantmodifier/InputRedundantModifierAnnotationOnEnumConstructor.java
new file mode 100644
index 000000000..162a81dcd
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/modifier/redundantmodifier/InputRedundantModifierAnnotationOnEnumConstructor.java
@@ -0,0 +1,16 @@
+package com.puppycrawl.tools.checkstyle.checks.modifier.redundantmodifier;
+
+public enum InputRedundantModifierAnnotationOnEnumConstructor {
+ ;
+
+ @SuppressWarnings("checkstyle:name")
+ InputRedundantModifierAnnotationOnEnumConstructor() {
+ }
+}
+enum InputRedundantModifierAnnotationOnEnumConstructor2 {
+ ;
+
+ @SuppressWarnings("checkstyle:name")
+ private InputRedundantModifierAnnotationOnEnumConstructor2() {
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java
index d7a1756a4..d888a7c70 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameAbstractMultisetSetCount.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.naming.abbrevationaswordinname;
+package com.puppycrawl.tools.checkstyle.checks.naming.abbreviationaswordinname;
public abstract class InputAbbreviationAsWordInNameAbstractMultisetSetCount<E> {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java
index e769e0421..f80ea9710 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameOverridableMethod.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.naming.abbrevationaswordinname;
+package com.puppycrawl.tools.checkstyle.checks.naming.abbreviationaswordinname;
import org.junit.Before;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameReceiver.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameReceiver.java
index 756fb4f43..28c9ddb82 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameReceiver.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameReceiver.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.naming.abbrevationaswordinname;
+package com.puppycrawl.tools.checkstyle.checks.naming.abbreviationaswordinname;
public class InputAbbreviationAsWordInNameReceiver {
public void foo4(InputAbbreviationAsWordInNameReceiver this) {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameType.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType.java
index fa5a3ab8f..8519b2967 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbrevationaswordinname/InputAbbreviationAsWordInNameType.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/abbreviationaswordinname/InputAbbreviationAsWordInNameType.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.naming.abbrevationaswordinname;
+package com.puppycrawl.tools.checkstyle.checks.naming.abbreviationaswordinname;
abstract class IIIInputAbstractClassName {
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputAccessModifier.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameAccessModifier.java
index 0fa58b8d2..242c34025 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputAccessModifier.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameAccessModifier.java
@@ -1,8 +1,8 @@
package com.puppycrawl.tools.checkstyle.checks.naming.parametername;
-public class InputAccessModifier {
+public class InputParameterNameAccessModifier {
- public InputAccessModifier(int pubconstr) {}
+ public InputParameterNameAccessModifier(int pubconstr) {}
public void v1(int h) {
new Object () {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputOverrideAnnotation.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameOverrideAnnotation.java
index 3e7a91fce..65b6f5537 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputOverrideAnnotation.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/parametername/InputParameterNameOverrideAnnotation.java
@@ -1,6 +1,6 @@
package com.puppycrawl.tools.checkstyle.checks.naming.parametername;
-public class InputOverrideAnnotation {
+public class InputParameterNameOverrideAnnotation {
@Override
public boolean equals(Object o) {
@@ -23,9 +23,9 @@ public class InputOverrideAnnotation {
private int field;
private java.util.Set<String> packageNames;
- InputOverrideAnnotation() {} // No NPE here!
+ InputParameterNameOverrideAnnotation() {} // No NPE here!
- InputOverrideAnnotation(int field, java.util.Set<String> packageNames) {} // No NPE here!
+ InputParameterNameOverrideAnnotation(int field, java.util.Set<String> packageNames) {} // No NPE here!
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrAtEndOfFile.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCr.java
index 8c097b1b0..93a56b99f 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrAtEndOfFile.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCr.java
@@ -1 +1 @@
-//////////////////////////////////////////////////////////////////////////////// // Test case file for checkstyle. // Created: 2015 //////////////////////////////////////////////////////////////////////////////// package com.puppycrawl.tools.checkstyle.checks; /** * Test case for detection of an existing CR newline at EOF, using the * NewlineAtEndOfFileCheck. * @author Martin Steiger **/ public interface InputNewlineCrAtEndOfFile { /** Test with ending with CR newline */ } \ No newline at end of file
+//////////////////////////////////////////////////////////////////////////////// // Test case file for checkstyle. // Created: 2015 //////////////////////////////////////////////////////////////////////////////// package com.puppycrawl.tools.checkstyle.checks; /** * Test case for detection of an existing CR newline at EOF, using the * NewlineAtEndOfFileCheck. * @author Martin Steiger **/ public interface InputNewlineAtEndOfFileCr { /** Test with ending with CR newline */ } \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrlfAtEndOfFile.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCrlf.java
index fd93ac691..ed80f200a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineCrlfAtEndOfFile.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileCrlf.java
@@ -2,13 +2,13 @@
// Test case file for checkstyle.
// Created: 2015
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.newlineatendoffile;
+package com.puppycrawl.tools.checkstyle.checks.newlineatendoffile;
/**
* Test case for detection of an existing CRLF newline at EOF, using the
* NewlineAtEndOfFileCheck.
* @author Martin Steiger
**/
-public interface InputNewlineCrlfAtEndOfFile
+public interface InputNewlineAtEndOfFileCrlf
{
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputEmptyFile.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileEmptyFile.txt
index e69de29bb..e69de29bb 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputEmptyFile.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileEmptyFile.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineLfAtEndOfFile.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileLf.java
index bc8a9f8ce..115d0fc8c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNewlineLfAtEndOfFile.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileLf.java
@@ -2,13 +2,13 @@
// Test case file for checkstyle.
// Created: 2015
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.newlineatendoffile;
+package com.puppycrawl.tools.checkstyle.checks.newlineatendoffile;
/**
* Test case for detection of an existing LF newline at EOF, using the
* NewlineAtEndOfFileCheck.
* @author Martin Steiger
**/
-public interface InputNewlineLfAtEndOfFile
+public interface InputNewlineAtEndOfFileLf
{
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNewlineAtEnd.txt
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNewlineAtEnd.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNoNewlineAtEndOfFile.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNoNewline.java
index dbcb78f92..5a3327ecd 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/newlineatendoffile/InputNoNewlineAtEndOfFile.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/newlineatendoffile/InputNewlineAtEndOfFileNoNewline.java
@@ -2,13 +2,13 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.newlineatendoffile;
+package com.puppycrawl.tools.checkstyle.checks.newlineatendoffile;
/**
* Test case for detection of missing newlines at EOF, using the
* NewlineAtEndOfFileCheck.
* @author Christopher Lenz
**/
-public interface InputNoNewlineAtEndOfFile
+public interface InputNewlineAtEndOfFileNoNewline
{
} \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename1.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename1.java
index c6ff0b966..c30a04622 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename1.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename1.java
@@ -1,5 +1,5 @@
// someexamples of 1.5 extensions
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
public class InputOuterTypeFilename1 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename15Extensions.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename15Extensions.java
index 7f367f265..ab9f09f1c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename15Extensions.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename15Extensions.java
@@ -1,5 +1,5 @@
// someexamples of 1.5 extensions
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
@interface MyAnnotation1 {
String name();
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename2.java
index 5e018530b..54d427933 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename2.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename2.java
@@ -1,5 +1,5 @@
// someexamples of 1.5 extensions
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
public class InputOuterTypeFilename2 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename3.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename3.java
index 844c62595..a8503fbcd 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename3.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename3.java
@@ -1,5 +1,5 @@
// someexamples of 1.5 extensions
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
class InputOuterTypeFilename3 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename5.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename5.java
index 2b15f81c2..2c4cf17bd 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilename5.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilename5.java
@@ -1,5 +1,5 @@
// someexamples of 1.5 extensions
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
class InputOuterTypeFilenameCheckWrongName2 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameCheckPublic.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameCheckPublic.java
new file mode 100644
index 000000000..5626b921e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameCheckPublic.java
@@ -0,0 +1,12 @@
+// someexamples of 1.5 extensions
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
+
+class UnicClassName {
+
+}
+
+public class InputOuterTypeFilenameCheckPublic {
+
+
+}
+
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilenameIllegalTokens.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameIllegalTokens.java
index 76bc70442..26728b831 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/outertypefilename/InputOuterTypeFilenameIllegalTokens.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/outertypefilename/InputOuterTypeFilenameIllegalTokens.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.outertypefilename;
+package com.puppycrawl.tools.checkstyle.checks.outertypefilename;
public class InputOuterTypeFilenameIllegalTokens
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/regexponfilename/package-info.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/regexponfilename/package-info.java
new file mode 100644
index 000000000..221822606
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/regexponfilename/package-info.java
@@ -0,0 +1 @@
+package com.puppycrawl.tools.checkstyle.checks.regexp.regexponfilename;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLongImportStatements.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLineLengthLongImportStatements.java
index 79585b29f..2897d5bc9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLongImportStatements.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/linelength/InputLineLengthLongImportStatements.java
@@ -3,7 +3,7 @@ package com.puppycrawl.tools.checkstyle.checks.sizes.linelength;
import com.puppycrawl.tools.checkstyle.grammars.comments.InputFullOfSinglelineComments;
import static com.puppycrawl.tools.checkstyle.grammars.comments.InputFullOfSinglelineComments.main;
-public class InputLongImportStatements {
+public class InputLineLengthLongImportStatements {
@Override
public String toString() {
return "This is very long line that should be logged because it is not import";
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodcount/InputMethodCount7.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodcount/InputMethodCount7.java
new file mode 100644
index 000000000..aa7930b26
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodcount/InputMethodCount7.java
@@ -0,0 +1,25 @@
+public class InputMethodCount7 {
+ void method1() {
+ }
+
+ void method2() {
+ }
+
+ enum InnerEnum {
+ ;
+
+ public static void test1() {
+ Runnable r = (new Runnable() {
+ public void run() {
+ run2();
+ }
+
+ private void run2() {
+ }
+ });
+ }
+
+ public static void test2() {
+ }
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodlength/InputMethodLengthComments.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodlength/InputMethodLengthComments.java
new file mode 100644
index 000000000..8fbcc0e1d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/sizes/methodlength/InputMethodLengthComments.java
@@ -0,0 +1,27 @@
+package com.puppycrawl.tools.checkstyle.checks.sizes.methodlength;
+
+import com.puppycrawl.tools.checkstyle.api.DetailAST;
+import com.puppycrawl.tools.checkstyle.api.TokenTypes;
+
+public class InputMethodLengthComments {
+ public void visitToken(DetailAST ast) {
+
+ final DetailAST openingBrace = ast.findFirstToken(TokenTypes.SLIST);
+
+ if (openingBrace != null) {
+ final DetailAST closingBrace =
+ openingBrace.findFirstToken(TokenTypes.RCURLY);
+ }
+
+ }
+
+ public DetailAST visit(DetailAST ast) {
+ final DetailAST openingBrace = ast.findFirstToken(TokenTypes.SLIST);
+ DetailAST closingBrace = null;
+
+ if (openingBrace != null) {
+ closingBrace = openingBrace.findFirstToken(TokenTypes.RCURLY);
+ }
+ return closingBrace;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder.java
index 8e34d5481..b83e1b2a2 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.suppresswarnings;
+package com.puppycrawl.tools.checkstyle.checks.suppresswarningsholder;
public class InputSuppressWarningsHolder {
static final String UNUSED = "unused";
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder2.java
index 72897d066..023c76fb0 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder2.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder2.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.suppresswarnings;
+package com.puppycrawl.tools.checkstyle.checks.suppresswarningsholder;
public class InputSuppressWarningsHolder2
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder3.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder3.java
index b01109221..ca7a027d9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder3.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder3.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.suppresswarnings;
+package com.puppycrawl.tools.checkstyle.checks.suppresswarningsholder;
public class InputSuppressWarningsHolder3 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder4.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder4.java
index 09204330d..e84e70656 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder4.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder4.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.suppresswarnings;
+package com.puppycrawl.tools.checkstyle.checks.suppresswarningsholder;
public class InputSuppressWarningsHolder4 {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder5.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder5.java
index 2f0ebcf15..bdf134927 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/suppresswarnings/InputSuppressWarningsHolder5.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/suppresswarningsholder/InputSuppressWarningsHolder5.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.suppresswarnings;
+package com.puppycrawl.tools.checkstyle.checks.suppresswarningsholder;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/todocomment/InputTodoCommentSimple.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/todocomment/InputTodoCommentSimple.java
index 111cc4d0f..7982ac4d0 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/todocomment/InputTodoCommentSimple.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/todocomment/InputTodoCommentSimple.java
@@ -3,7 +3,7 @@
// Created: Feb-2001
// Ignore error
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.todocomment;
+package com.puppycrawl.tools.checkstyle.checks.todocomment;
import java.io.*;
/**
* Contains simple mistakes:
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/trailingcomment/InputTrailingComment.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/trailingcomment/InputTrailingComment.java
index 55b01001c..a7882dbef 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/trailingcomment/InputTrailingComment.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/trailingcomment/InputTrailingComment.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.checks.misc.trailingcomment;
+package com.puppycrawl.tools.checkstyle.checks.trailingcomment;
public class InputTrailingComment {
int i; // don't use trailing comments :)
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.translations b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels.translations
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.translations
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels.translations
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.translations b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_de.translations
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.translations
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_de.translations
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.translations b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_es.translations
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.translations
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_es.translations
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.translations b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_fr_CA_UNIX.translations
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_ja.translations b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.translations
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/ButtonLabels_ja.translations
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_fr_CA_UNIX.translations
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_ja.translations
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/ButtonLabels_ja.translations
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors.properties
new file mode 100644
index 000000000..074b0afab
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors.properties
@@ -0,0 +1,2 @@
+someKey=Some key
+anotherKey=one more
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors_de.properties
index 9bc87ab8d..9bc87ab8d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_de.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslationCheckFireErrors_de.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-dev.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslation_de.txt
index 9a7ae0711..9a7ae0711 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-dev.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/InputTranslation_de.txt
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_de.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_es.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_de.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/MyLabelsI18_es.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_de.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles.translation b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_es.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles.translation
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/MyLabelsI18_es.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckLinux.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckLinux.xml
new file mode 100644
index 000000000..34a16cbbe
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckLinux.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<checkstyle version="8.3-SNAPSHOT">
+<file name="path_to_file/InputTranslationCheckFireErrors.properties">
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors_de.properties">
+</file>
+<file name="path_to_file">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors.properties">
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors_de.properties">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+</checkstyle>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckMacOS.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckMacOS.xml
new file mode 100644
index 000000000..865791fde
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckMacOS.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<checkstyle version="8.3-SNAPSHOT">
+<file name="path_to_file/InputTranslationCheckFireErrors.properties">
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors_de.properties">
+</file>
+<file name="path_to_file">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors_de.properties">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+<file name="path_to_file/InputTranslationCheckFireErrors.properties">
+</file>
+</checkstyle>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckWindows.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckWindows.xml
new file mode 100644
index 000000000..443bba39b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/OutputTranslationCheckWindows.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<checkstyle version="8.3-SNAPSHOT">
+<file name="path_to_file\InputTranslationCheckFireErrors.properties">
+</file>
+<file name="path_to_file\InputTranslationCheckFireErrors_de.properties">
+</file>
+<file name="path_to_file">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+<file name="path_to_file\InputTranslationCheckFireErrors.properties">
+</file>
+<file name="path_to_file\InputTranslationCheckFireErrors_de.properties">
+<error line="0" severity="error" message="%s" source="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
+</file>
+</checkstyle>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_de.translation b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles.translation
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_de.translation
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles.translation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_es.translation b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_de.translation
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_es.translation
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_de.translation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_fr.translation b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_es.translation
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_fr.translation
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_es.translation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_ja.translation b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_fr.translation
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/PageTitles_ja.translation
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_fr.translation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_ja.translation
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/PageTitles_ja.translation
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-dev.properties
index 9a7ae0711..9a7ae0711 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test_de.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-dev.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-stage.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-stage.properties
index a82290c28..a82290c28 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/app-stage.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/app-stage.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation.properties
index c2499856b..c2499856b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation_fr.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation_fr.properties
index bb6e9fb38..bb6e9fb38 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages-translation_fr.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages-translation_fr.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_es_US.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_es_US.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_fr_CA_UNIX.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_es_US.properties
index 8b1378917..8b1378917 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_home_fr_CA_UNIX.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_es_US.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_fr_CA_UNIX.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_fr_CA_UNIX.properties
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_home_fr_CA_UNIX.properties
@@ -0,0 +1 @@
+
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test.properties
index a82290c28..a82290c28 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_test.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test_de.properties
new file mode 100644
index 000000000..9a7ae0711
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_test_de.properties
@@ -0,0 +1,12 @@
+# input file for TranslationCheck
+
+# a key that is available in all translations
+hello=Hallo
+
+# whitespace at end of key should be trimmed before comparing.
+# the german translation does not contain whitespace, no error should
+# be reported here
+cancel=Abbrechen
+
+# a key that is missing in german translation
+#only.english=only english
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation.properties
index c2499856b..c2499856b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_de.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_de.properties
new file mode 100644
index 000000000..9bc87ab8d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_de.properties
@@ -0,0 +1 @@
+someKey=einige Schlüssel
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_ja.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_ja.properties
index dd01ae7df..dd01ae7df 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/translation/messages_translation_ja.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/translation/messages_translation_ja.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain.java
index 4f5efa013..a1422256d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.uncommentedmain;
+package com.puppycrawl.tools.checkstyle.checks.uncommentedmain;
/**
* Test case for UncommentedMainCheck
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain2.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain2.java
index 9ffb2792e..2b0f96b46 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain2.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain2.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.uncommentedmain;
+package com.puppycrawl.tools.checkstyle.checks.uncommentedmain;
public class InputUncommentedMain2
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain3.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain3.java
index 7da0bb43c..cc72d4de9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain3.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain3.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.uncommentedmain;
+package com.puppycrawl.tools.checkstyle.checks.uncommentedmain;
class oneMoreClass {
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain4.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain4.java
index e2ed74999..70528e075 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uncommentedmain/InputUncommentedMain4.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain4.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.uncommentedmain;
+package com.puppycrawl.tools.checkstyle.checks.uncommentedmain;
class InputUncommentedMainTest4
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain5.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain5.java
new file mode 100644
index 000000000..f617d0e81
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uncommentedmain/InputUncommentedMain5.java
@@ -0,0 +1,30 @@
+package com.puppycrawl.tools.checkstyle.checks.uncommentedmain;
+
+public class InputUncommentedMain5
+{
+ public static void main(String[] args)
+ {
+ System.identityHashCode("InputUncommentedMain.main()");
+ }
+}
+
+class PC {
+
+ // uncommented main with depth 2
+ public static void main(String[] args)
+ {
+ System.identityHashCode("PC.main()");
+ }
+
+ //lets go deeper
+ private class PC2 {
+
+ // uncommented main with depth 3
+ public void main(String[] args)
+ {
+ System.identityHashCode("PC.main()");
+ }
+
+
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uniqueproperties/InputUniqueProperties.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.properties
index 6e921e9b2..6e921e9b2 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/uniqueproperties/InputUniqueProperties.properties
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.txt
new file mode 100644
index 000000000..120bc85f8
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniqueProperties.txt
@@ -0,0 +1,2 @@
+1=val
+1=foo
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithDuplicates.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithDuplicates.properties
new file mode 100644
index 000000000..36b0d8461
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithDuplicates.properties
@@ -0,0 +1,3 @@
+host=localhost
+key=value1
+key=value2 \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithoutErrors.properties b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithoutErrors.properties
new file mode 100644
index 000000000..48580bfcc
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/uniqueproperties/InputUniquePropertiesWithoutErrors.properties
@@ -0,0 +1,2 @@
+key1=value1
+key2=value2
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/upperell/InputUpperEllSemantic.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/upperell/InputUpperEllSemantic.java
index 737febb6f..b8360d33d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/misc/upperell/InputUpperEllSemantic.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/upperell/InputUpperEllSemantic.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
// Created: 2001
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.checks.misc.upperell;
+package com.puppycrawl.tools.checkstyle.checks.upperell;
import java.awt.*;
import java.io.ByteArrayOutputStream;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPrePreviousLineIsEmpty.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPrePreviousLineIsEmpty.java
new file mode 100644
index 000000000..a80435c96
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPrePreviousLineIsEmpty.java
@@ -0,0 +1,6 @@
+
+
+package com.puppycrawl.tools.checkstyle.checks.whitespace.emptylineseparator;
+
+public class InputEmptyLineSeparatorPrePreviousLineIsEmpty {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPreviousLineEmptiness.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPreviousLineEmptiness.java
new file mode 100644
index 000000000..d8ab51dd0
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/emptylineseparator/InputEmptyLineSeparatorPreviousLineEmptiness.java
@@ -0,0 +1,34 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.emptylineseparator;
+
+public class InputEmptyLineSeparatorPreviousLineEmptiness {
+ private static final int MULTIPLICATOR;
+
+ private int base;
+
+ static {
+ MULTIPLICATOR = 5;
+
+
+ }
+
+ {
+
+
+ base = 33;
+ }
+
+ public InputEmptyLineSeparatorPreviousLineEmptiness(int base) {
+
+
+ this.base = base;
+ }
+
+ public InputEmptyLineSeparatorPreviousLineEmptiness() {
+ }
+
+ public static int increment(int value) {
+
+
+ return value * MULTIPLICATOR + 1;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceAtStartOfTheLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceAtStartOfTheLine.java
new file mode 100644
index 000000000..466a0f813
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceAtStartOfTheLine.java
@@ -0,0 +1,15 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.genericwhitespace;
+
+import java.util.Collections;
+
+class InputGenericWhitespaceAtStartOfTheLine {
+
+ public String getConstructor(Class<?>... parameterTypes)
+ {
+ Collections.<Object
+ >emptySet();
+ Collections.
+ <Object>emptySet();
+ return "pitest makes me cry";
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceNested.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceNested.java
new file mode 100644
index 000000000..79fd3f7e0
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/genericwhitespace/InputGenericWhitespaceNested.java
@@ -0,0 +1,12 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.genericwhitespace;
+
+public class InputGenericWhitespaceNested {
+ interface IntEnum { /*inner enum*/}
+
+ interface NumberEnum<T> { /*inner enum*/}
+
+ static class IntEnumValue implements IntEnum, NumberEnum<Integer> {}
+
+ static class IntEnumValueType<E extends Enum<E
+>& IntEnum & NumberEnum<E>> {}
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfter.java
index ac31e2e42..4cdd50621 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfter.java
@@ -286,4 +286,9 @@ class SpecialCasesInForLoop
public static void testNoWhitespaceBeforeEllipses(String ... args) {
}
+ @ interface BAD{}
+ @ interface BAD2{}
+ @
+ interface BAD3{}
+ @interface Ok{}
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations.java
index e1fdeef74..9ba53befb 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations.java
@@ -43,4 +43,15 @@ public class InputNoWhitespaceAfterArrayDeclarations
private long getLongMultArray(int someParam, String value) [][][] { //Incorrect
return null;
}
+ int aa = new int[]{1}[0];//Correct
+ int bb = new int[]{1} [0];//Incorrect
+ int aaa = new int[][]{{1},{2}}[0][0];//Correct
+ int bbb = new int [][]{{1},{2}}[0][0];//Incorrect
+ int ccc = new int[] []{{1},{2}}[0][0];//Incorrect
+ int ddd = new int[][]{{1},{2}} [0][0];//Incorrect
+ int eee = new int[][]{{1},{2}}[0] [0];//Incorrect
+ int in1 = new int[][]{{1},{2}}[ 0][0];//Correct
+ int in2 = new int[][]{{1},{2}}[0 ][0];//Correct
+ int in3 = new int[][]{{1},{2}}[0][ 0];//Correct
+ int in4 = new int[][]{{1},{2}}[0][0 ];//Correct
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations3.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations3.java
new file mode 100644
index 000000000..7ed823aa3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespaceafter/InputNoWhitespaceAfterArrayDeclarations3.java
@@ -0,0 +1,16 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+public class InputNoWhitespaceAfterArrayDeclarations3
+{
+ public void testWithAnnotationInMidle1(final char @AnnotationAfterTest [] a) {}//Correct
+ public void testWithAnnotationInMidle2(final char@AnnotationAfterTest [] a) {}//Correct
+ public void testWithAnnotationInMidle3(final char @AnnotationAfterTest[] a) {}//Correct
+ public void testWithAnnotationInMidle4(final char@AnnotationAfterTest[]a) {}//Correct
+
+ @Target(ElementType.TYPE_USE)
+ @interface AnnotationAfterTest {
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeAtStartOfTheLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeAtStartOfTheLine.java
new file mode 100644
index 000000000..f79da888a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeAtStartOfTheLine.java
@@ -0,0 +1,16 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace
+.nowhitespacebefore;
+
+import java.util.function.Supplier;
+
+public class InputNoWhitespaceBeforeAtStartOfTheLine {
+ public static class A {
+ private A() {
+ }
+ }
+
+ public <V> void methodName(V value) {
+ Supplier<?> t =
+A ::new;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeEmptyForLoop.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeEmptyForLoop.java
new file mode 100644
index 000000000..ff240c905
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/nowhitespacebefore/InputNoWhitespaceBeforeEmptyForLoop.java
@@ -0,0 +1,22 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespacebefore;
+
+public class InputNoWhitespaceBeforeEmptyForLoop {
+
+ public static void f() {
+ for (; ; ) { // OK
+ break;
+ }
+ for (int x = 0; ; ) { // OK
+ break;
+ }
+ for (int x = 0 ; ; ) { // VIOLATION
+ break;
+ }
+ for (int x = 0; x < 10; ) { // OK
+ break;
+ }
+ for (int x = 0; x < 10 ; ) { // VIOLATION
+ break;
+ }
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadStartOfTheLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadStartOfTheLine.java
new file mode 100644
index 000000000..7ebcd6e49
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadStartOfTheLine.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.parenpad;
+
+public class InputParenPadStartOfTheLine {
+public String checkSmth( String
+a) {
+ return a + 1;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadTryWithResources.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadTryWithResources.java
new file mode 100644
index 000000000..b45f2f4a3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/parenpad/InputParenPadTryWithResources.java
@@ -0,0 +1,12 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.parenpad;
+
+class InputParenPadTryWithResources {
+ private void tryWithResources() throws Exception {
+ try (AutoCloseable a = null) {} // ok
+ try (AutoCloseable a = null; AutoCloseable b = null) {} // ok
+ try (AutoCloseable a = null; AutoCloseable b = null; ) {} // ok
+ try (AutoCloseable a = null; AutoCloseable b = null; ) {} // ok
+ try (AutoCloseable a = null ) {} // warning
+ try (AutoCloseable a = null; AutoCloseable b = null ) {} // warning
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorChildNodes.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorChildNodes.java
new file mode 100644
index 000000000..3afd53f2b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorChildNodes.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.singlespaceseparator;
+
+public class InputSingleSpaceSeparatorChildNodes {
+ int j = 0;
+ int i = 1 + j;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceErrors.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorErrors.java
index b789b5170..015197fa9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceErrors.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorErrors.java
@@ -3,7 +3,7 @@ package com.puppycrawl. tools.checkstyle.checks.whitespace.singlespaceseparat
import java.util.List;
import java.util.Vector;
-public class InputSingleSpaceErrors {
+public class InputSingleSpaceSeparatorErrors {
int number; //violation
int i = 99 ;
{
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorMinColumnNo.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorMinColumnNo.java
new file mode 100644
index 000000000..7239ae0b3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorMinColumnNo.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.singlespaceseparator;
+
+public class InputSingleSpaceSeparatorMinColumnNo {
+ int
+j = 0;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorStartOfTheLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorStartOfTheLine.java
new file mode 100644
index 000000000..9d990a86a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/singlespaceseparator/InputSingleSpaceSeparatorStartOfTheLine.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.singlespaceseparator;
+
+public class InputSingleSpaceSeparatorStartOfTheLine {
+ int
+ i = 0;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputAllowEmptyTypesAndNonEmptyClasses.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundAllowEmptyTypesAndNonEmptyClasses.java
index b6b5ed63b..8a63dd289 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputAllowEmptyTypesAndNonEmptyClasses.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundAllowEmptyTypesAndNonEmptyClasses.java
@@ -3,7 +3,7 @@ package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
import java.util.function.Function;
import java.util.function.Supplier;
-public class InputAllowEmptyTypesAndNonEmptyClasses{
+public class InputWhitespaceAroundAllowEmptyTypesAndNonEmptyClasses{
private Object object;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputBraces.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundBraces.java
index f52aa6a43..c1f411d63 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputBraces.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundBraces.java
@@ -4,7 +4,7 @@
////////////////////////////////////////////////////////////////////////////////
package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
-class InputBraces
+class InputWhitespaceAroundBraces
{
/** @return helper func **/
boolean condition()
@@ -108,7 +108,7 @@ class InputBraces
}
/** Empty constructor block. **/
- public InputBraces() {}
+ public InputWhitespaceAroundBraces() {}
/** Empty method block. **/
public void emptyImplementation() {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputGenerics.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundGenerics.java
index 22aa290f6..8d4190188 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputGenerics.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundGenerics.java
@@ -3,7 +3,7 @@ package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
import java.util.Collection;
import java.util.Map;
-public class InputGenerics<A, B extends Collection<?>, C extends D&E, F extends Collection<? extends InputGenerics[]>>
+public class InputWhitespaceAroundGenerics<A, B extends Collection<?>, C extends D&E, F extends Collection<? extends InputWhitespaceAroundGenerics[]>>
{
}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundStartOfTheLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundStartOfTheLine.java
new file mode 100644
index 000000000..0833d9ee5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundStartOfTheLine.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
+
+public class InputWhitespaceAroundStartOfTheLine {
+ public void checkSmth(
+){
+ final int SOMETHING = 1;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java
new file mode 100644
index 000000000..1334dfd7a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java
@@ -0,0 +1,16 @@
+////////////////////////////////////////////////////////////////////////////////
+// Test case file for checkstyle.
+// Created: 2017
+////////////////////////////////////////////////////////////////////////////////
+package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
+
+class InputWhitespaceAroundVarargs
+{
+ public static void main0(String... args) { }
+ public static void main1(String ...args) { }
+ public static void main2(String...args) { }
+ public static void main3(String ... args) { }
+ public void varargs(int...arr) { }
+ public void doubleValue(int a, int...b) { }
+
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_checker_ignore.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCheckerIgnoreSeverity.xml
index 68a90e9f3..68a90e9f3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_checker_ignore.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCheckerIgnoreSeverity.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/checkstyle_checks.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderChecks.xml
index fdb592c40..fdb592c40 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/checkstyle_checks.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderChecks.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/custom_messages.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCustomMessages.xml
index a30a73cf1..a30a73cf1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/custom_messages.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderCustomMessages.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/empty_configuration.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderEmpty.xml
index 102876622..102876622 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/empty_configuration.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderEmpty.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/subdir/including.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderExternalEntity.xml
index eb621ee67..6b7b6894b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/subdir/including.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderExternalEntity.xml
@@ -3,7 +3,7 @@
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.1//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_1.dtd" [
- <!ENTITY includedConfig SYSTEM "../included.xml">
+ <!ENTITY includedConfig SYSTEM "InputConfigurationLoaderIncludeFile.xml">
]>
<module name="Checker">
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/included.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderIncludeFile.xml
index 11a9f072d..11a9f072d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/included.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderIncludeFile.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_name.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigName.xml
index a405b169c..a405b169c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_name.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigName.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_parent.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigParent.xml
index e77109bb5..e77109bb5 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_config_parent.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingConfigParent.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_name.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyName.xml
index 69f3f2c6f..69f3f2c6f 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_name.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyName.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_value.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyValue.xml
index 69bafffbd..69bafffbd 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/missing_property_value.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderMissingPropertyValue.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_ignore.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderModuleIgnoreSeverity.xml
index 3bc4d9a5e..3bc4d9a5e 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_with_ignore.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderModuleIgnoreSeverity.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_nonexisting_property.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderNonexistingProperty.xml
index 95bb8a3f1..95bb8a3f1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/config_nonexisting_property.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/InputConfigurationLoaderNonexistingProperty.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/including.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/subdir/InputConfigurationLoaderExternalEntitySubDir.xml
index 7e5068457..44112f609 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/configs/including.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/configurationloader/subdir/InputConfigurationLoaderExternalEntitySubDir.xml
@@ -3,7 +3,7 @@
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.1//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_1.dtd" [
- <!ENTITY includedConfig SYSTEM "included.xml">
+ <!ENTITY includedConfig SYSTEM "../InputConfigurationLoaderIncludeFile.xml">
]>
<module name="Checker">
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputJavadocComment.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterJavadocComment.txt
index 5b4d7a252..b0655f7a8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedInputJavadocComment.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterJavadocComment.txt
@@ -1,10 +1,10 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
| `--PARAGRAPH -> PARAGRAPH [0:0]
-| |--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| | |--OPEN -> < [0:0]
+| |--P_TAG_START -> P_TAG_START [0:0]
+| | |--START -> < [0:0]
| | |--P_HTML_TAG_NAME -> p [0:1]
-| | `--CLOSE -> > [0:2]
+| | `--END -> > [0:2]
| |--NEWLINE -> \r\n [0:3]
| |--TEXT -> My [1:0]
| |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [1:3]
@@ -14,15 +14,15 @@ JAVADOC -> JAVADOC [0:0]
| | |--TEXT -> Class [1:10]
| | `--JAVADOC_INLINE_TAG_END -> } [1:16]
| |--NEWLINE -> \r\n [1:17]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [2:0]
-| |--OPEN -> < [2:0]
+| `--P_TAG_END -> P_TAG_END [2:0]
+| |--START -> < [2:0]
| |--SLASH -> / [2:1]
| |--P_HTML_TAG_NAME -> p [2:2]
-| `--CLOSE -> > [2:3]
+| `--END -> > [2:3]
|--NEWLINE -> \r\n [2:4]
|--JAVADOC_TAG -> JAVADOC_TAG [3:0]
| |--SEE_LITERAL -> @see [3:0]
| |--WS -> [3:4]
| `--REFERENCE -> REFERENCE [3:5]
-| `--PACKAGE -> never [3:5]
+| `--PACKAGE_CLASS -> never [3:5]
`--EOF -> <EOF> [3:10]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedNoUnnecessaryTextInJavadocAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.txt
index c9205bbc9..82a714931 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/expectedNoUnnecessaryTextInJavadocAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/ExpectedDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.txt
@@ -3,10 +3,10 @@ JAVADOC -> JAVADOC [0:0]
|--TEXT -> [0:1]
|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
| `--PARAGRAPH -> PARAGRAPH [0:2]
-| |--P_TAG_OPEN -> P_TAG_OPEN [0:2]
-| | |--OPEN -> < [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
| | |--P_HTML_TAG_NAME -> p [0:3]
-| | `--CLOSE -> > [0:4]
+| | `--END -> > [0:4]
| |--NEWLINE -> \r\n [0:5]
| |--LEADING_ASTERISK -> * [1:0]
| |--TEXT -> My [1:1]
@@ -19,11 +19,11 @@ JAVADOC -> JAVADOC [0:0]
| |--NEWLINE -> \r\n [1:19]
| |--LEADING_ASTERISK -> * [2:0]
| |--TEXT -> [2:1]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [2:2]
-| |--OPEN -> < [2:2]
+| `--P_TAG_END -> P_TAG_END [2:2]
+| |--START -> < [2:2]
| |--SLASH -> / [2:3]
| |--P_HTML_TAG_NAME -> p [2:4]
-| `--CLOSE -> > [2:5]
+| `--END -> > [2:5]
|--NEWLINE -> \r\n [2:6]
|--LEADING_ASTERISK -> * [3:0]
|--WS -> [3:1]
@@ -31,5 +31,5 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [3:2]
| |--WS -> [3:6]
| `--REFERENCE -> REFERENCE [3:7]
-| `--PACKAGE -> something [3:7]
+| `--PACKAGE_CLASS -> something [3:7]
`--EOF -> <EOF> [3:16]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterHtmlTagCloseBeforeTagOpen.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterHtmlTagCloseBeforeTagOpen.javadoc
new file mode 100644
index 000000000..70e190be8
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterHtmlTagCloseBeforeTagOpen.javadoc
@@ -0,0 +1 @@
+* </tag> <tag> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocComment.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocComment.javadoc
index 0f8616750..0f8616750 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocComment.javadoc
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocComment.javadoc
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocWithError.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocWithError.javadoc
index f5319130c..f5319130c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputJavadocWithError.javadoc
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterJavadocWithError.javadoc
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputNoUnnecessaryTextInJavadocAst.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.javadoc
index 9fc3c1fb1..9fc3c1fb1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/astprinter/InputNoUnnecessaryTextInJavadocAst.javadoc
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoUnnecessaryTextInJavadocAst.javadoc
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoViableAltException.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoViableAltException.javadoc
new file mode 100644
index 000000000..624cb929d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterNoViableAltException.javadoc
@@ -0,0 +1 @@
+* @see <<p> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterOmittedStartTagForHtmlElement.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterOmittedStartTagForHtmlElement.javadoc
new file mode 100644
index 000000000..aa984faef
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterOmittedStartTagForHtmlElement.javadoc
@@ -0,0 +1 @@
+* <a href="http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/tips0243.html">IBM website</code> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterUnescapedJavaCodeWithGenericsInJavadoc.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterUnescapedJavaCodeWithGenericsInJavadoc.javadoc
new file mode 100644
index 000000000..f786d83d6
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterUnescapedJavaCodeWithGenericsInJavadoc.javadoc
@@ -0,0 +1,41 @@
+/**
+ @Test
+ public void someTestMethod() {
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ Issue #4390: Javadoc comments containing unescaped Java code with
+ generic types leads to enormous parsing times
+ <Issue> <#4390:> <javadoc> <comments> <containing> <unescaped> <java> <code> <with>
+ <generic> <types> <leads> <to> <enormous> <parsing> <times>
+
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+
+ List<Foo> x = makeAList();
+ List<Foo> x = makeAList();
+ Issue #4390: Javadoc comments containing unescaped Java code with
+ generic types leads to enormous parsing times
+ <parsing> <Issue> <#4390:> <javadoc> <comments> <containing> <unescaped> <java> <code> <with>
+ <generic> <types> <leads> <to> <enormous> <parsing>
+ </parsing> </enormous> </to> </leads> </types> </generic> </with> </code> </java>
+ </unescaped> </containing> </comments> </javadoc> </Issue>
+ }
+**/
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterWrongHtmlTagOrder.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterWrongHtmlTagOrder.javadoc
new file mode 100644
index 000000000..781ea678f
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/detailnodetreestringprinter/InputDetailNodeTreeStringPrinterWrongHtmlTagOrder.javadoc
@@ -0,0 +1 @@
+* <tag1> <tag2> </tag1> </tag2> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletCorrect.java b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletCorrect.java
index 38eef0578..ab7de5c2e 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletCorrect.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletCorrect.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.doclets;
+package com.puppycrawl.tools.checkstyle.doclets.tokentypesdoclet;
import com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletEmptyJavadoc.java b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletEmptyJavadoc.java
index 871035159..a5f6e0c33 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletEmptyJavadoc.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletEmptyJavadoc.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.doclets;
+package com.puppycrawl.tools.checkstyle.doclets.tokentypesdoclet;
import com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletJavadocParseError.java b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletJavadocParseError.java
new file mode 100644
index 000000000..2b1b417a2
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletJavadocParseError.java
@@ -0,0 +1,22 @@
+package com.puppycrawl.tools.checkstyle.doclets.tokentypesdoclet;
+
+public final class InputTokenTypesDocletJavadocParseError {
+
+ private InputTokenTypesDocletJavadocParseError() {
+ }
+
+ /**
+ * The <code>+</code> (unary plus) operator.
+ **/
+ public static final int CONSTANT1 = 1;
+
+ /**
+ * The {@code ++} (postfix increment) operator.
+ */
+ public static final int CONSTANT2 = 2;
+
+ /**
+ * Here you can see sentence without html or javadoc tags.
+ **/
+ public static final int CONSTANT3 = 3;
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletNotConstants.java b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletNotConstants.java
index 8e8b5d116..1d8b2b331 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/InputTokenTypesDocletNotConstants.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/doclets/tokentypesdoclet/InputTokenTypesDocletNotConstants.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle.doclets;
+package com.puppycrawl.tools.checkstyle.doclets.tokentypesdoclet;
import com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressionCommentFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilter.java
index 94214fe50..a87a63114 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressionCommentFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilter.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppressioncommentfilter;
/**
* Test input for using comments to suppress errors.
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithCommentFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilterSuppressById.java
index 748d1574e..36609bb44 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithCommentFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressioncommentfilter/InputSuppressionCommentFilterSuppressById.java
@@ -1,6 +1,6 @@
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppressioncommentfilter;
-public class InputSuppressByIdWithCommentFilter {
+public class InputSuppressionCommentFilterSuppressById {
//CSOFF ignore (reason)
private int A1;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_invalid_file.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterInvalidFile.xml
index 66a15c408..66a15c408 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_invalid_file.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterInvalidFile.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_none.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterNone.xml
index 21712522d..21712522d 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_none.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionfilter/InputSuppressionFilterNone.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_bad_int.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderBadInt.xml
index e86ce97d8..e86ce97d8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_bad_int.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderBadInt.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_id.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderId.xml
index 4c27e66fa..4c27e66fa 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_id.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderId.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderInvalidFile.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderInvalidFile.xml
new file mode 100644
index 000000000..66a15c408
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderInvalidFile.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1.dtd">
+<suppressions>
+ <suppress files="a[l" checks="abc"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_multiple.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderMultiple.xml
index 283d5505a..283d5505a 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_multiple.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderMultiple.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheck.xml
index cde8a76a6..cde8a76a6 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheck.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check_and_id.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheckAndId.xml
index 2e205a9ac..2e205a9ac 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_check_and_id.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoCheckAndId.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_file.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoFile.xml
index b7561e077..b7561e077 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_no_file.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNoFile.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNone.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNone.xml
new file mode 100644
index 000000000..21712522d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderNone.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_0.dtd">
+<suppressions>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_with_id.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderWithId.xml
index ac0825888..ac0825888 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressions_with_id.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderWithId.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathCorrect.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathCorrect.xml
new file mode 100644
index 000000000..d1e284a4e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathCorrect.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="file1" id="id1" checks="test" query="/CLASS_DEF"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathId.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathId.xml
new file mode 100644
index 000000000..397033132
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathId.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="file1" id="777"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathInvalidFile.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathInvalidFile.xml
new file mode 100644
index 000000000..447d1b738
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathInvalidFile.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="a[l" checks="abc"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathNoCheckAndId.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathNoCheckAndId.xml
new file mode 100644
index 000000000..0510e7c94
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionsloader/InputSuppressionsLoaderXpathNoCheckAndId.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="file1"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilter.java
new file mode 100644
index 000000000..c68757a26
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilter.java
@@ -0,0 +1,4 @@
+package com.puppycrawl.tools.checkstyle.filters.suppressionxpathfilter;
+
+public class InputSuppressionXpathFilter {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterIdAndQuery.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterIdAndQuery.xml
new file mode 100644
index 000000000..58f07d187
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterIdAndQuery.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="file1" id="777" query="/CLASS_DEF"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterInvalidFile.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterInvalidFile.xml
new file mode 100644
index 000000000..447d1b738
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterInvalidFile.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions Xpath Experimental 1.1//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_1_xpath_experimental.dtd">
+<suppressions>
+ <suppress-xpath files="a[l" checks="abc"/>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterNone.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterNone.xml
new file mode 100644
index 000000000..21712522d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppressionxpathfilter/InputSuppressionXpathFilterNone.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_0.dtd">
+<suppressions>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWarningsFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilter.java
index 57a8cb652..e26982223 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWarningsFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilter.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppresswarningsfilter;
/**
* Test input for using comments to suppress errors.
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithWarningsFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilterById.java
index f889466e7..8cbc0c3f3 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithWarningsFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswarningsfilter/InputSuppressWarningsFilterById.java
@@ -1,6 +1,6 @@
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppresswarningsfilter;
-public class InputSuppressByIdWithWarningsFilter {
+public class InputSuppressWarningsFilterById {
@SuppressWarnings("checkstyle:ignore")
private int A1 = 1;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWithNearbyCommentFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilter.java
index 3cc4a98cb..b7e086359 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressWithNearbyCommentFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilter.java
@@ -2,7 +2,7 @@
// Test case file for checkstyle.
////////////////////////////////////////////////////////////////////////////////
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppresswithnearbycommentfilter;
/**
* Test input for using comments to suppress errors.
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithNearbyCommentFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilterById.java
index c05766775..91cca11fd 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/InputSuppressByIdWithNearbyCommentFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/suppresswithnearbycommentfilter/InputSuppressWithNearbyCommentFilterById.java
@@ -1,6 +1,6 @@
-package com.puppycrawl.tools.checkstyle.filters;
+package com.puppycrawl.tools.checkstyle.filters.suppresswithnearbycommentfilter;
-public class InputSuppressByIdWithNearbyCommentFilter {
+public class InputSuppressWithNearbyCommentFilterById {
private int A1; // @cs-: ignore (reason)
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/filters/xpathfilter/InputXpathFilterSuppressByXpath.java b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/xpathfilter/InputXpathFilterSuppressByXpath.java
new file mode 100644
index 000000000..4a97ef032
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/filters/xpathfilter/InputXpathFilterSuppressByXpath.java
@@ -0,0 +1,18 @@
+package com.puppycrawl.tools.checkstyle.filters.xpathfilter;
+
+public class InputXpathFilterSuppressByXpath {
+ private int countTokens() {
+ double pi = 3.14;
+ return 123;
+ }
+
+ public String getName() {
+ int someVariable = 123;
+ return "InputSuppressByXpathThree";
+ }
+
+ public int sum(int a, int b) {
+ String someVariable = "Hello World";
+ return a + b;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementEmbed.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementEmbed.javadoc
new file mode 100644
index 000000000..dd2b0b237
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementEmbed.javadoc
@@ -0,0 +1,42 @@
+* <p> <embed> </p>
+* <li> <embed> </li>
+* <tr> <embed> </tr>
+* <td> <embed> </td>
+* <th> <embed> </th>
+* <body> <embed> </body>
+* <colgroup> <embed> </colgroup>
+* <dd> <embed> </dd>
+* <dt> <embed> </dt>
+* <head> <embed> </head>
+* <html> <embed> </html>
+* <option> <embed> </option>
+* <tbody> <embed> </tbody>
+* <thead> <embed> </thead>
+* <tfoot> <embed> </tfoot>
+
+* <p> <embed/> </p>
+* <li> <embed/> </li>
+* <tr> <embed/> </tr>
+* <td> <embed/> </td>
+* <th> <embed/> </th>
+* <body> <embed/> </body>
+* <colgroup> <embed/> </colgroup>
+* <dd> <embed/> </dd>
+* <dt> <embed/> </dt>
+* <head> <embed/> </head>
+* <html> <embed/> </html>
+* <option> <embed/> </option>
+* <tbody> <embed/> </tbody>
+* <thead> <embed/> </thead>
+* <tfoot> <embed/> </tfoot>
+
+* <embed>
+* <embed/>
+* <embed attr="something">
+* <embed attr="something"/>
+* <embed attr="something" attr2="someotherthing">
+* <embed attr="something" attr2="someotherthing"/>
+* <embed attr="something"
+* attr2="someotherting">
+* <embed attr="something"
+* attr2="someotherting"/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementKeygen.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementKeygen.javadoc
new file mode 100644
index 000000000..5fdbb3943
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementKeygen.javadoc
@@ -0,0 +1,42 @@
+* <p> <keygen> </p>
+* <li> <keygen> </li>
+* <tr> <keygen> </tr>
+* <td> <keygen> </td>
+* <th> <keygen> </th>
+* <body> <keygen> </body>
+* <colgroup> <keygen> </colgroup>
+* <dd> <keygen> </dd>
+* <dt> <keygen> </dt>
+* <head> <keygen> </head>
+* <html> <keygen> </html>
+* <option> <keygen> </option>
+* <tbody> <keygen> </tbody>
+* <thead> <keygen> </thead>
+* <tfoot> <keygen> </tfoot>
+
+* <p> <keygen/> </p>
+* <li> <keygen/> </li>
+* <tr> <keygen/> </tr>
+* <td> <keygen/> </td>
+* <th> <keygen/> </th>
+* <body> <keygen/> </body>
+* <colgroup> <keygen/> </colgroup>
+* <dd> <keygen/> </dd>
+* <dt> <keygen/> </dt>
+* <head> <keygen/> </head>
+* <html> <keygen/> </html>
+* <option> <keygen/> </option>
+* <tbody> <keygen/> </tbody>
+* <thead> <keygen/> </thead>
+* <tfoot> <keygen/> </tfoot>
+
+* <keygen>
+* <keygen/>
+* <keygen attr="something">
+* <keygen attr="something"/>
+* <keygen attr="something" attr2="someotherthing">
+* <keygen attr="something" attr2="someotherthing"/>
+* <keygen attr="something"
+* attr2="someotherting">
+* <keygen attr="something"
+* attr2="someotherting"/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementSource.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementSource.javadoc
new file mode 100644
index 000000000..607b8d61d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementSource.javadoc
@@ -0,0 +1,42 @@
+* <p> <source> </p>
+* <li> <source> </li>
+* <tr> <source> </tr>
+* <td> <source> </td>
+* <th> <source> </th>
+* <body> <source> </body>
+* <colgroup> <source> </colgroup>
+* <dd> <source> </dd>
+* <dt> <source> </dt>
+* <head> <source> </head>
+* <html> <source> </html>
+* <option> <source> </option>
+* <tbody> <source> </tbody>
+* <thead> <source> </thead>
+* <tfoot> <source> </tfoot>
+
+* <p> <source/> </p>
+* <li> <source/> </li>
+* <tr> <source/> </tr>
+* <td> <source/> </td>
+* <th> <source/> </th>
+* <body> <source/> </body>
+* <colgroup> <source/> </colgroup>
+* <dd> <source/> </dd>
+* <dt> <source/> </dt>
+* <head> <source/> </head>
+* <html> <source/> </html>
+* <option> <source/> </option>
+* <tbody> <source/> </tbody>
+* <thead> <source/> </thead>
+* <tfoot> <source/> </tfoot>
+
+* <source>
+* <source/>
+* <source attr="something">
+* <source attr="something"/>
+* <source attr="something" attr2="someotherthing">
+* <source attr="something" attr2="someotherthing"/>
+* <source attr="something"
+* attr2="someotherting">
+* <source attr="something"
+* attr2="someotherting"/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementTrack.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementTrack.javadoc
new file mode 100644
index 000000000..f6852570b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementTrack.javadoc
@@ -0,0 +1,42 @@
+* <p> <track> </p>
+* <li> <track> </li>
+* <tr> <track> </tr>
+* <td> <track> </td>
+* <th> <track> </th>
+* <body> <track> </body>
+* <colgroup> <track> </colgroup>
+* <dd> <track> </dd>
+* <dt> <track> </dt>
+* <head> <track> </head>
+* <html> <track> </html>
+* <option> <track> </option>
+* <tbody> <track> </tbody>
+* <thead> <track> </thead>
+* <tfoot> <track> </tfoot>
+
+* <p> <track/> </p>
+* <li> <track/> </li>
+* <tr> <track/> </tr>
+* <td> <track/> </td>
+* <th> <track/> </th>
+* <body> <track/> </body>
+* <colgroup> <track/> </colgroup>
+* <dd> <track/> </dd>
+* <dt> <track/> </dt>
+* <head> <track/> </head>
+* <html> <track/> </html>
+* <option> <track/> </option>
+* <tbody> <track/> </tbody>
+* <thead> <track/> </thead>
+* <tfoot> <track/> </tfoot>
+
+* <track>
+* <track/>
+* <track attr="something">
+* <track attr="something"/>
+* <track attr="something" attr2="someotherthing">
+* <track attr="something" attr2="someotherthing"/>
+* <track attr="something"
+* attr2="someotherting">
+* <track attr="something"
+* attr2="someotherting"/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementWbr.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementWbr.javadoc
new file mode 100644
index 000000000..40479ab1b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputHtmlVoidElementWbr.javadoc
@@ -0,0 +1,42 @@
+* <p> <wbr> </p>
+* <li> <wbr> </li>
+* <tr> <wbr> </tr>
+* <td> <wbr> </td>
+* <th> <wbr> </th>
+* <body> <wbr> </body>
+* <colgroup> <wbr> </colgroup>
+* <dd> <wbr> </dd>
+* <dt> <wbr> </dt>
+* <head> <wbr> </head>
+* <html> <wbr> </html>
+* <option> <wbr> </option>
+* <tbody> <wbr> </tbody>
+* <thead> <wbr> </thead>
+* <tfoot> <wbr> </tfoot>
+
+* <p> <wbr/> </p>
+* <li> <wbr/> </li>
+* <tr> <wbr/> </tr>
+* <td> <wbr/> </td>
+* <th> <wbr/> </th>
+* <body> <wbr/> </body>
+* <colgroup> <wbr/> </colgroup>
+* <dd> <wbr/> </dd>
+* <dt> <wbr/> </dt>
+* <head> <wbr/> </head>
+* <html> <wbr/> </html>
+* <option> <wbr/> </option>
+* <tbody> <wbr/> </tbody>
+* <thead> <wbr/> </thead>
+* <tfoot> <wbr/> </tfoot>
+
+* <wbr>
+* <wbr/>
+* <wbr attr="something">
+* <wbr attr="something"/>
+* <wbr attr="something" attr2="someotherthing">
+* <wbr attr="something" attr2="someotherthing"/>
+* <wbr attr="something"
+* attr2="someotherting">
+* <wbr attr="something"
+* attr2="someotherting"/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputNestingWithSingletonElement.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputNestingWithSingletonElement.javadoc
new file mode 100644
index 000000000..278c935a1
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputNestingWithSingletonElement.javadoc
@@ -0,0 +1,19 @@
+* <p> paragraph with a <br>singletonElement. <hr> And it contains another one. </p>
+* <li> List with singletonElement
+* <param name=movie value="~/imitation game.mp4"> <param name=allowfullscreen value=true> </li>
+*
+* <tr> tr with <base href="www.something.com"> singletonElement </tr>
+* <td> td with singletonElement <br/> </td>
+* <th> th with <base/> singletonElement </th>
+* <body> body with <br/> singletonElement </body>
+* <colgroup><col><col><col></colgroup>
+* <dd> dd with <hr> singletonElement </dd>
+* <dt> dt with <img src="~/singletonElement.jpg" alt="" width="100" height="150"/> singletonElement </dt>
+* <head> head with <img src="~/singletonElement.jpg" alt="" width="100" height="150">
+* singletonElement </head>
+*
+* <html> <bR> <Br> <BR> <Br/> <BR/> <bR/> </html>
+* <option> <INPut/> </option>
+* <tbody> <input/> <br> </tbody>
+* <thead> <br> </thead>
+* <tfoot> <AREA ALT="alt" COORDS="100,0,200,50" HREF="/href/"> </tfoot> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputParagraph.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputParagraph.javadoc
new file mode 100644
index 000000000..d0a5f60fe
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputParagraph.javadoc
@@ -0,0 +1,44 @@
+* <p> <li> </li> </p>
+* <P> <li> </p>
+* <p> </li> </P>
+* <p> <tr> </tr> </p>
+* <P> <tr> </p>
+* <p> </tr> </P>
+* <p> <td> </td> </p>
+* <P> <td> </p>
+* <p> </td> </P>
+* <p> <th> </th> </p>
+* <P> <th> </p>
+* <p> </th> </P>
+* <p> <body> </body> </p>
+* <P> <body> </p>
+* <p> </body> </P>
+* <p> <colgroup> </colgroup> </p>
+* <P> <colgroup> </p>
+* <p> </colgroup> </P>
+* <p> <dd> </dd> </p>
+* <P> <dd> </p>
+* <p> </dd> </P>
+* <p> <dt> </dt> </p>
+* <P> <dt> </p>
+* <p> </dt> </P>
+* <p> <head> </head> </p>
+* <P> <head> </p>
+* <p> </head> </P>
+* <p> <html> </html> </p>
+* <P> <html> </p>
+* <p> </html> </P>
+* <p> <option> </option> </p>
+* <P> <option> </p>
+* <p> </option> </P>
+* <p> <tbody> </tbody> </p>
+* <P> <tbody> </p>
+* <p> </tbody> </P>
+* <p> <tfoot> </tfoot> </p>
+* <P> <tfoot> </p>
+* <p> </tfoot> </P>
+* <p style="color:red"
+*
+* > <!--HTML COMMENT--> </p
+*
+* > \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputVoidElements.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputVoidElements.javadoc
new file mode 100644
index 000000000..de03eaef5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/InputVoidElements.javadoc
@@ -0,0 +1,29 @@
+<area>
+<base>
+<basefont>
+<br>
+<col>
+<frame>
+<hr>
+<img>
+<input>
+<isindex>
+<link>
+<meta>
+<param>
+<embed>
+
+<area/>
+<base/>
+<basefont/>
+<br/>
+<col/>
+<frame/>
+<hr/>
+<img/>
+<input/>
+<isindex/>
+<link/>
+<meta/>
+<param/>
+<embed/> \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedAttributeValueWithoutQuotesAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedAttributeValueWithoutQuotesAst.txt
index bc40f1837..5ed8e1344 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedAttributeValueWithoutQuotesAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedAttributeValueWithoutQuotesAst.txt
@@ -1,21 +1,21 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
| `--HTML_TAG -> HTML_TAG [0:0]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [0:0]
-| | |--OPEN -> < [0:0]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [0:0]
+| | |--START -> < [0:0]
| | |--HTML_TAG_NAME -> a [0:1]
| | |--WS -> [0:2]
| | |--ATTRIBUTE -> ATTRIBUTE [0:3]
| | | |--HTML_TAG_NAME -> href [0:3]
| | | |--EQUALS -> = [0:7]
| | | `--ATTR_VALUE -> http://www.ietf.org/rfc/rfc3758.txt [0:8]
-| | `--CLOSE -> > [0:44]
+| | `--END -> > [0:44]
| |--TEXT -> RFC 3758 [0:45]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [0:53]
-| |--OPEN -> < [0:53]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [0:53]
+| |--START -> < [0:53]
| |--SLASH -> / [0:54]
| |--HTML_TAG_NAME -> a [0:55]
-| `--CLOSE -> > [0:56]
+| `--END -> > [0:56]
|--TEXT -> . [0:57]
|--NEWLINE -> \r\n [0:58]
`--EOF -> <EOF> [1:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedClosedOtherTagAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedClosedOtherTagAst.txt
index f693fd9e8..b94f057b0 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedClosedOtherTagAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedClosedOtherTagAst.txt
@@ -1,15 +1,15 @@
JAVADOC -> JAVADOC [0:0]
|--TEXT -> [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:1]
-| `--DD_TAG_OPEN -> DD_TAG_OPEN [0:1]
-| |--OPEN -> < [0:1]
+| `--DD_TAG_START -> DD_TAG_START [0:1]
+| |--START -> < [0:1]
| |--DD_HTML_TAG_NAME -> dd [0:2]
-| `--CLOSE -> > [0:4]
+| `--END -> > [0:4]
|--HTML_ELEMENT -> HTML_ELEMENT [0:5]
-| `--DT_TAG_CLOSE -> DT_TAG_CLOSE [0:5]
-| |--OPEN -> < [0:5]
+| `--DT_TAG_END -> DT_TAG_END [0:5]
+| |--START -> < [0:5]
| |--SLASH -> / [0:6]
| |--DT_HTML_TAG_NAME -> dt [0:7]
-| `--CLOSE -> > [0:9]
+| `--END -> > [0:9]
|--NEWLINE -> \r\n [0:10]
`--EOF -> <EOF> [1:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedCommentsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedCommentsAst.txt
index a9445f0cc..6df07dbef 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedCommentsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedCommentsAst.txt
@@ -11,14 +11,14 @@ JAVADOC -> JAVADOC [0:0]
|--TEXT -> [1:16]
|--HTML_ELEMENT -> HTML_ELEMENT [1:17]
| `--HTML_TAG -> HTML_TAG [1:17]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [1:17]
-| | |--OPEN -> < [1:17]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [1:17]
+| | |--START -> < [1:17]
| | |--HTML_TAG_NAME -> b [1:18]
-| | `--CLOSE -> > [1:19]
+| | `--END -> > [1:19]
| |--TEXT -> String [1:20]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [1:26]
-| |--OPEN -> < [1:26]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [1:26]
+| |--START -> < [1:26]
| |--SLASH -> / [1:27]
| |--HTML_TAG_NAME -> b [1:28]
-| `--CLOSE -> > [1:29]
+| `--END -> > [1:29]
`--EOF -> <EOF> [1:30]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlTagsInParagraphAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlTagsInParagraphAst.txt
index df65ff289..fcd480ee1 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlTagsInParagraphAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlTagsInParagraphAst.txt
@@ -4,45 +4,45 @@ JAVADOC -> JAVADOC [0:0]
|--TEXT -> [1:2]
|--HTML_ELEMENT -> HTML_ELEMENT [1:3]
| `--PARAGRAPH -> PARAGRAPH [1:3]
-| |--P_TAG_OPEN -> P_TAG_OPEN [1:3]
-| | |--OPEN -> < [1:3]
+| |--P_TAG_START -> P_TAG_START [1:3]
+| | |--START -> < [1:3]
| | |--P_HTML_TAG_NAME -> p [1:4]
-| | `--CLOSE -> > [1:5]
+| | `--END -> > [1:5]
| |--NEWLINE -> \r\n [1:6]
| |--LEADING_ASTERISK -> * [2:0]
| |--TEXT -> [2:2]
| |--HTML_TAG -> HTML_TAG [2:3]
-| | |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [2:3]
-| | | |--OPEN -> < [2:3]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [2:3]
+| | | |--START -> < [2:3]
| | | |--HTML_TAG_NAME -> b [2:4]
-| | | `--CLOSE -> > [2:5]
+| | | `--END -> > [2:5]
| | |--TEXT -> Description [2:6]
-| | `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [2:17]
-| | |--OPEN -> < [2:17]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [2:17]
+| | |--START -> < [2:17]
| | |--SLASH -> / [2:18]
| | |--HTML_TAG_NAME -> b [2:19]
-| | `--CLOSE -> > [2:20]
+| | `--END -> > [2:20]
| |--TEXT -> [2:21]
| |--HTML_TAG -> HTML_TAG [2:22]
-| | |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [2:22]
-| | | |--OPEN -> < [2:22]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [2:22]
+| | | |--START -> < [2:22]
| | | |--HTML_TAG_NAME -> i [2:23]
-| | | `--CLOSE -> > [2:24]
+| | | `--END -> > [2:24]
| | |--TEXT -> of [2:25]
-| | `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [2:27]
-| | |--OPEN -> < [2:27]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [2:27]
+| | |--START -> < [2:27]
| | |--SLASH -> / [2:28]
| | |--HTML_TAG_NAME -> i [2:29]
-| | `--CLOSE -> > [2:30]
+| | `--END -> > [2:30]
| |--TEXT -> my class. [2:31]
| |--NEWLINE -> \r\n [2:41]
| |--LEADING_ASTERISK -> * [3:0]
| |--TEXT -> [3:2]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [3:3]
-| |--OPEN -> < [3:3]
+| `--P_TAG_END -> P_TAG_END [3:3]
+| |--START -> < [3:3]
| |--SLASH -> / [3:4]
| |--P_HTML_TAG_NAME -> p [3:5]
-| `--CLOSE -> > [3:6]
+| `--END -> > [3:6]
|--NEWLINE -> \r\n [3:7]
|--LEADING_ASTERISK -> * [4:0]
|--TEXT -> Another line of text [4:2]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementEmbedAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementEmbedAst.txt
new file mode 100644
index 000000000..725e35b6c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementEmbedAst.txt
@@ -0,0 +1,761 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:6]
+| | `--EMBED_TAG -> EMBED_TAG [0:6]
+| | |--START -> < [0:6]
+| | |--EMBED_HTML_TAG_NAME -> embed [0:7]
+| | `--END -> > [0:12]
+| |--TEXT -> [0:13]
+| `--P_TAG_END -> P_TAG_END [0:14]
+| |--START -> < [0:14]
+| |--SLASH -> / [0:15]
+| |--P_HTML_TAG_NAME -> p [0:16]
+| `--END -> > [0:17]
+|--NEWLINE -> \n [0:18]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> [1:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:7]
+| | `--EMBED_TAG -> EMBED_TAG [1:7]
+| | |--START -> < [1:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [1:8]
+| | `--END -> > [1:13]
+| |--TEXT -> [1:14]
+| `--LI_TAG_END -> LI_TAG_END [1:15]
+| |--START -> < [1:15]
+| |--SLASH -> / [1:16]
+| |--LI_HTML_TAG_NAME -> li [1:17]
+| `--END -> > [1:19]
+|--NEWLINE -> \n [1:20]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--TR -> TR [2:2]
+| |--TR_TAG_START -> TR_TAG_START [2:2]
+| | |--START -> < [2:2]
+| | |--TR_HTML_TAG_NAME -> tr [2:3]
+| | `--END -> > [2:5]
+| |--TEXT -> [2:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:7]
+| | `--EMBED_TAG -> EMBED_TAG [2:7]
+| | |--START -> < [2:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [2:8]
+| | `--END -> > [2:13]
+| |--TEXT -> [2:14]
+| `--TR_TAG_END -> TR_TAG_END [2:15]
+| |--START -> < [2:15]
+| |--SLASH -> / [2:16]
+| |--TR_HTML_TAG_NAME -> tr [2:17]
+| `--END -> > [2:19]
+|--NEWLINE -> \n [2:20]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--TD -> TD [3:2]
+| |--TD_TAG_START -> TD_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--TD_HTML_TAG_NAME -> td [3:3]
+| | `--END -> > [3:5]
+| |--TEXT -> [3:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:7]
+| | `--EMBED_TAG -> EMBED_TAG [3:7]
+| | |--START -> < [3:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [3:8]
+| | `--END -> > [3:13]
+| |--TEXT -> [3:14]
+| `--TD_TAG_END -> TD_TAG_END [3:15]
+| |--START -> < [3:15]
+| |--SLASH -> / [3:16]
+| |--TD_HTML_TAG_NAME -> td [3:17]
+| `--END -> > [3:19]
+|--NEWLINE -> \n [3:20]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TH -> TH [4:2]
+| |--TH_TAG_START -> TH_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TH_HTML_TAG_NAME -> th [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:7]
+| | `--EMBED_TAG -> EMBED_TAG [4:7]
+| | |--START -> < [4:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [4:8]
+| | `--END -> > [4:13]
+| |--TEXT -> [4:14]
+| `--TH_TAG_END -> TH_TAG_END [4:15]
+| |--START -> < [4:15]
+| |--SLASH -> / [4:16]
+| |--TH_HTML_TAG_NAME -> th [4:17]
+| `--END -> > [4:19]
+|--NEWLINE -> \n [4:20]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--BODY -> BODY [5:2]
+| |--BODY_TAG_START -> BODY_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--BODY_HTML_TAG_NAME -> body [5:3]
+| | `--END -> > [5:7]
+| |--TEXT -> [5:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:9]
+| | `--EMBED_TAG -> EMBED_TAG [5:9]
+| | |--START -> < [5:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [5:10]
+| | `--END -> > [5:15]
+| |--TEXT -> [5:16]
+| `--BODY_TAG_END -> BODY_TAG_END [5:17]
+| |--START -> < [5:17]
+| |--SLASH -> / [5:18]
+| |--BODY_HTML_TAG_NAME -> body [5:19]
+| `--END -> > [5:23]
+|--NEWLINE -> \n [5:24]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--COLGROUP -> COLGROUP [6:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [6:3]
+| | `--END -> > [6:11]
+| |--TEXT -> [6:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:13]
+| | `--EMBED_TAG -> EMBED_TAG [6:13]
+| | |--START -> < [6:13]
+| | |--EMBED_HTML_TAG_NAME -> embed [6:14]
+| | `--END -> > [6:19]
+| |--TEXT -> [6:20]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [6:21]
+| |--START -> < [6:21]
+| |--SLASH -> / [6:22]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [6:23]
+| `--END -> > [6:31]
+|--NEWLINE -> \n [6:32]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--DD -> DD [7:2]
+| |--DD_TAG_START -> DD_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--DD_HTML_TAG_NAME -> dd [7:3]
+| | `--END -> > [7:5]
+| |--TEXT -> [7:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:7]
+| | `--EMBED_TAG -> EMBED_TAG [7:7]
+| | |--START -> < [7:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [7:8]
+| | `--END -> > [7:13]
+| |--TEXT -> [7:14]
+| `--DD_TAG_END -> DD_TAG_END [7:15]
+| |--START -> < [7:15]
+| |--SLASH -> / [7:16]
+| |--DD_HTML_TAG_NAME -> dd [7:17]
+| `--END -> > [7:19]
+|--NEWLINE -> \n [7:20]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--DT -> DT [8:2]
+| |--DT_TAG_START -> DT_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--DT_HTML_TAG_NAME -> dt [8:3]
+| | `--END -> > [8:5]
+| |--TEXT -> [8:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:7]
+| | `--EMBED_TAG -> EMBED_TAG [8:7]
+| | |--START -> < [8:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [8:8]
+| | `--END -> > [8:13]
+| |--TEXT -> [8:14]
+| `--DT_TAG_END -> DT_TAG_END [8:15]
+| |--START -> < [8:15]
+| |--SLASH -> / [8:16]
+| |--DT_HTML_TAG_NAME -> dt [8:17]
+| `--END -> > [8:19]
+|--NEWLINE -> \n [8:20]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--HEAD -> HEAD [9:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--HEAD_HTML_TAG_NAME -> head [9:3]
+| | `--END -> > [9:7]
+| |--TEXT -> [9:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:9]
+| | `--EMBED_TAG -> EMBED_TAG [9:9]
+| | |--START -> < [9:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [9:10]
+| | `--END -> > [9:15]
+| |--TEXT -> [9:16]
+| `--HEAD_TAG_END -> HEAD_TAG_END [9:17]
+| |--START -> < [9:17]
+| |--SLASH -> / [9:18]
+| |--HEAD_HTML_TAG_NAME -> head [9:19]
+| `--END -> > [9:23]
+|--NEWLINE -> \n [9:24]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--HTML -> HTML [10:2]
+| |--HTML_TAG_START -> HTML_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--HTML_HTML_TAG_NAME -> html [10:3]
+| | `--END -> > [10:7]
+| |--TEXT -> [10:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:9]
+| | `--EMBED_TAG -> EMBED_TAG [10:9]
+| | |--START -> < [10:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [10:10]
+| | `--END -> > [10:15]
+| |--TEXT -> [10:16]
+| `--HTML_TAG_END -> HTML_TAG_END [10:17]
+| |--START -> < [10:17]
+| |--SLASH -> / [10:18]
+| |--HTML_HTML_TAG_NAME -> html [10:19]
+| `--END -> > [10:23]
+|--NEWLINE -> \n [10:24]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--OPTION -> OPTION [11:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--OPTION_HTML_TAG_NAME -> option [11:3]
+| | `--END -> > [11:9]
+| |--TEXT -> [11:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:11]
+| | `--EMBED_TAG -> EMBED_TAG [11:11]
+| | |--START -> < [11:11]
+| | |--EMBED_HTML_TAG_NAME -> embed [11:12]
+| | `--END -> > [11:17]
+| |--TEXT -> [11:18]
+| `--OPTION_TAG_END -> OPTION_TAG_END [11:19]
+| |--START -> < [11:19]
+| |--SLASH -> / [11:20]
+| |--OPTION_HTML_TAG_NAME -> option [11:21]
+| `--END -> > [11:27]
+|--NEWLINE -> \n [11:28]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--TBODY -> TBODY [12:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [12:3]
+| | `--END -> > [12:8]
+| |--TEXT -> [12:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:10]
+| | `--EMBED_TAG -> EMBED_TAG [12:10]
+| | |--START -> < [12:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [12:11]
+| | `--END -> > [12:16]
+| |--TEXT -> [12:17]
+| `--TBODY_TAG_END -> TBODY_TAG_END [12:18]
+| |--START -> < [12:18]
+| |--SLASH -> / [12:19]
+| |--TBODY_HTML_TAG_NAME -> tbody [12:20]
+| `--END -> > [12:25]
+|--NEWLINE -> \n [12:26]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--THEAD -> THEAD [13:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [13:3]
+| | `--END -> > [13:8]
+| |--TEXT -> [13:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:10]
+| | `--EMBED_TAG -> EMBED_TAG [13:10]
+| | |--START -> < [13:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [13:11]
+| | `--END -> > [13:16]
+| |--TEXT -> [13:17]
+| `--THEAD_TAG_END -> THEAD_TAG_END [13:18]
+| |--START -> < [13:18]
+| |--SLASH -> / [13:19]
+| |--THEAD_HTML_TAG_NAME -> thead [13:20]
+| `--END -> > [13:25]
+|--NEWLINE -> \n [13:26]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--TFOOT -> TFOOT [14:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [14:3]
+| | `--END -> > [14:8]
+| |--TEXT -> [14:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:10]
+| | `--EMBED_TAG -> EMBED_TAG [14:10]
+| | |--START -> < [14:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [14:11]
+| | `--END -> > [14:16]
+| |--TEXT -> [14:17]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [14:18]
+| |--START -> < [14:18]
+| |--SLASH -> / [14:19]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [14:20]
+| `--END -> > [14:25]
+|--NEWLINE -> \n [14:26]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> p [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:6]
+| | `--EMBED_TAG -> EMBED_TAG [16:6]
+| | |--START -> < [16:6]
+| | |--EMBED_HTML_TAG_NAME -> embed [16:7]
+| | `--SLASH_END -> /> [16:12]
+| |--TEXT -> [16:14]
+| `--P_TAG_END -> P_TAG_END [16:15]
+| |--START -> < [16:15]
+| |--SLASH -> / [16:16]
+| |--P_HTML_TAG_NAME -> p [16:17]
+| `--END -> > [16:18]
+|--NEWLINE -> \n [16:19]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--LI -> LI [17:2]
+| |--LI_TAG_START -> LI_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--LI_HTML_TAG_NAME -> li [17:3]
+| | `--END -> > [17:5]
+| |--TEXT -> [17:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:7]
+| | `--EMBED_TAG -> EMBED_TAG [17:7]
+| | |--START -> < [17:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [17:8]
+| | `--SLASH_END -> /> [17:13]
+| |--TEXT -> [17:15]
+| `--LI_TAG_END -> LI_TAG_END [17:16]
+| |--START -> < [17:16]
+| |--SLASH -> / [17:17]
+| |--LI_HTML_TAG_NAME -> li [17:18]
+| `--END -> > [17:20]
+|--NEWLINE -> \n [17:21]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TR -> TR [18:2]
+| |--TR_TAG_START -> TR_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TR_HTML_TAG_NAME -> tr [18:3]
+| | `--END -> > [18:5]
+| |--TEXT -> [18:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:7]
+| | `--EMBED_TAG -> EMBED_TAG [18:7]
+| | |--START -> < [18:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [18:8]
+| | `--SLASH_END -> /> [18:13]
+| |--TEXT -> [18:15]
+| `--TR_TAG_END -> TR_TAG_END [18:16]
+| |--START -> < [18:16]
+| |--SLASH -> / [18:17]
+| |--TR_HTML_TAG_NAME -> tr [18:18]
+| `--END -> > [18:20]
+|--NEWLINE -> \n [18:21]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--TD -> TD [19:2]
+| |--TD_TAG_START -> TD_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--TD_HTML_TAG_NAME -> td [19:3]
+| | `--END -> > [19:5]
+| |--TEXT -> [19:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:7]
+| | `--EMBED_TAG -> EMBED_TAG [19:7]
+| | |--START -> < [19:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [19:8]
+| | `--SLASH_END -> /> [19:13]
+| |--TEXT -> [19:15]
+| `--TD_TAG_END -> TD_TAG_END [19:16]
+| |--START -> < [19:16]
+| |--SLASH -> / [19:17]
+| |--TD_HTML_TAG_NAME -> td [19:18]
+| `--END -> > [19:20]
+|--NEWLINE -> \n [19:21]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--TH -> TH [20:2]
+| |--TH_TAG_START -> TH_TAG_START [20:2]
+| | |--START -> < [20:2]
+| | |--TH_HTML_TAG_NAME -> th [20:3]
+| | `--END -> > [20:5]
+| |--TEXT -> [20:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:7]
+| | `--EMBED_TAG -> EMBED_TAG [20:7]
+| | |--START -> < [20:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [20:8]
+| | `--SLASH_END -> /> [20:13]
+| |--TEXT -> [20:15]
+| `--TH_TAG_END -> TH_TAG_END [20:16]
+| |--START -> < [20:16]
+| |--SLASH -> / [20:17]
+| |--TH_HTML_TAG_NAME -> th [20:18]
+| `--END -> > [20:20]
+|--NEWLINE -> \n [20:21]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--BODY -> BODY [21:2]
+| |--BODY_TAG_START -> BODY_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--BODY_HTML_TAG_NAME -> body [21:3]
+| | `--END -> > [21:7]
+| |--TEXT -> [21:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:9]
+| | `--EMBED_TAG -> EMBED_TAG [21:9]
+| | |--START -> < [21:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [21:10]
+| | `--SLASH_END -> /> [21:15]
+| |--TEXT -> [21:17]
+| `--BODY_TAG_END -> BODY_TAG_END [21:18]
+| |--START -> < [21:18]
+| |--SLASH -> / [21:19]
+| |--BODY_HTML_TAG_NAME -> body [21:20]
+| `--END -> > [21:24]
+|--NEWLINE -> \n [21:25]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--COLGROUP -> COLGROUP [22:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [22:3]
+| | `--END -> > [22:11]
+| |--TEXT -> [22:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:13]
+| | `--EMBED_TAG -> EMBED_TAG [22:13]
+| | |--START -> < [22:13]
+| | |--EMBED_HTML_TAG_NAME -> embed [22:14]
+| | `--SLASH_END -> /> [22:19]
+| |--TEXT -> [22:21]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [22:22]
+| |--START -> < [22:22]
+| |--SLASH -> / [22:23]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [22:24]
+| `--END -> > [22:32]
+|--NEWLINE -> \n [22:33]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--DD -> DD [23:2]
+| |--DD_TAG_START -> DD_TAG_START [23:2]
+| | |--START -> < [23:2]
+| | |--DD_HTML_TAG_NAME -> dd [23:3]
+| | `--END -> > [23:5]
+| |--TEXT -> [23:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:7]
+| | `--EMBED_TAG -> EMBED_TAG [23:7]
+| | |--START -> < [23:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [23:8]
+| | `--SLASH_END -> /> [23:13]
+| |--TEXT -> [23:15]
+| `--DD_TAG_END -> DD_TAG_END [23:16]
+| |--START -> < [23:16]
+| |--SLASH -> / [23:17]
+| |--DD_HTML_TAG_NAME -> dd [23:18]
+| `--END -> > [23:20]
+|--NEWLINE -> \n [23:21]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--DT -> DT [24:2]
+| |--DT_TAG_START -> DT_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--DT_HTML_TAG_NAME -> dt [24:3]
+| | `--END -> > [24:5]
+| |--TEXT -> [24:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:7]
+| | `--EMBED_TAG -> EMBED_TAG [24:7]
+| | |--START -> < [24:7]
+| | |--EMBED_HTML_TAG_NAME -> embed [24:8]
+| | `--SLASH_END -> /> [24:13]
+| |--TEXT -> [24:15]
+| `--DT_TAG_END -> DT_TAG_END [24:16]
+| |--START -> < [24:16]
+| |--SLASH -> / [24:17]
+| |--DT_HTML_TAG_NAME -> dt [24:18]
+| `--END -> > [24:20]
+|--NEWLINE -> \n [24:21]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--HEAD -> HEAD [25:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--HEAD_HTML_TAG_NAME -> head [25:3]
+| | `--END -> > [25:7]
+| |--TEXT -> [25:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:9]
+| | `--EMBED_TAG -> EMBED_TAG [25:9]
+| | |--START -> < [25:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [25:10]
+| | `--SLASH_END -> /> [25:15]
+| |--TEXT -> [25:17]
+| `--HEAD_TAG_END -> HEAD_TAG_END [25:18]
+| |--START -> < [25:18]
+| |--SLASH -> / [25:19]
+| |--HEAD_HTML_TAG_NAME -> head [25:20]
+| `--END -> > [25:24]
+|--NEWLINE -> \n [25:25]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--HTML -> HTML [26:2]
+| |--HTML_TAG_START -> HTML_TAG_START [26:2]
+| | |--START -> < [26:2]
+| | |--HTML_HTML_TAG_NAME -> html [26:3]
+| | `--END -> > [26:7]
+| |--TEXT -> [26:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:9]
+| | `--EMBED_TAG -> EMBED_TAG [26:9]
+| | |--START -> < [26:9]
+| | |--EMBED_HTML_TAG_NAME -> embed [26:10]
+| | `--SLASH_END -> /> [26:15]
+| |--TEXT -> [26:17]
+| `--HTML_TAG_END -> HTML_TAG_END [26:18]
+| |--START -> < [26:18]
+| |--SLASH -> / [26:19]
+| |--HTML_HTML_TAG_NAME -> html [26:20]
+| `--END -> > [26:24]
+|--NEWLINE -> \n [26:25]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--OPTION -> OPTION [27:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--OPTION_HTML_TAG_NAME -> option [27:3]
+| | `--END -> > [27:9]
+| |--TEXT -> [27:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:11]
+| | `--EMBED_TAG -> EMBED_TAG [27:11]
+| | |--START -> < [27:11]
+| | |--EMBED_HTML_TAG_NAME -> embed [27:12]
+| | `--SLASH_END -> /> [27:17]
+| |--TEXT -> [27:19]
+| `--OPTION_TAG_END -> OPTION_TAG_END [27:20]
+| |--START -> < [27:20]
+| |--SLASH -> / [27:21]
+| |--OPTION_HTML_TAG_NAME -> option [27:22]
+| `--END -> > [27:28]
+|--NEWLINE -> \n [27:29]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--TBODY -> TBODY [28:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [28:3]
+| | `--END -> > [28:8]
+| |--TEXT -> [28:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:10]
+| | `--EMBED_TAG -> EMBED_TAG [28:10]
+| | |--START -> < [28:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [28:11]
+| | `--SLASH_END -> /> [28:16]
+| |--TEXT -> [28:18]
+| `--TBODY_TAG_END -> TBODY_TAG_END [28:19]
+| |--START -> < [28:19]
+| |--SLASH -> / [28:20]
+| |--TBODY_HTML_TAG_NAME -> tbody [28:21]
+| `--END -> > [28:26]
+|--NEWLINE -> \n [28:27]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--THEAD -> THEAD [29:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [29:2]
+| | |--START -> < [29:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [29:3]
+| | `--END -> > [29:8]
+| |--TEXT -> [29:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [29:10]
+| | `--EMBED_TAG -> EMBED_TAG [29:10]
+| | |--START -> < [29:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [29:11]
+| | `--SLASH_END -> /> [29:16]
+| |--TEXT -> [29:18]
+| `--THEAD_TAG_END -> THEAD_TAG_END [29:19]
+| |--START -> < [29:19]
+| |--SLASH -> / [29:20]
+| |--THEAD_HTML_TAG_NAME -> thead [29:21]
+| `--END -> > [29:26]
+|--NEWLINE -> \n [29:27]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--TFOOT -> TFOOT [30:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [30:3]
+| | `--END -> > [30:8]
+| |--TEXT -> [30:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [30:10]
+| | `--EMBED_TAG -> EMBED_TAG [30:10]
+| | |--START -> < [30:10]
+| | |--EMBED_HTML_TAG_NAME -> embed [30:11]
+| | `--SLASH_END -> /> [30:16]
+| |--TEXT -> [30:18]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [30:19]
+| |--START -> < [30:19]
+| |--SLASH -> / [30:20]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [30:21]
+| `--END -> > [30:26]
+|--NEWLINE -> \n [30:27]
+|--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [32:2]
+| `--EMBED_TAG -> EMBED_TAG [32:2]
+| |--START -> < [32:2]
+| |--EMBED_HTML_TAG_NAME -> embed [32:3]
+| `--END -> > [32:8]
+|--NEWLINE -> \n [32:9]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [33:2]
+| `--EMBED_TAG -> EMBED_TAG [33:2]
+| |--START -> < [33:2]
+| |--EMBED_HTML_TAG_NAME -> embed [33:3]
+| `--SLASH_END -> /> [33:8]
+|--NEWLINE -> \n [33:10]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [34:2]
+| `--EMBED_TAG -> EMBED_TAG [34:2]
+| |--START -> < [34:2]
+| |--EMBED_HTML_TAG_NAME -> embed [34:3]
+| |--WS -> [34:8]
+| |--ATTRIBUTE -> ATTRIBUTE [34:9]
+| | |--HTML_TAG_NAME -> attr [34:9]
+| | |--EQUALS -> = [34:13]
+| | `--ATTR_VALUE -> "something" [34:14]
+| `--END -> > [34:26]
+|--NEWLINE -> \n [34:27]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [35:2]
+| `--EMBED_TAG -> EMBED_TAG [35:2]
+| |--START -> < [35:2]
+| |--EMBED_HTML_TAG_NAME -> embed [35:3]
+| |--WS -> [35:8]
+| |--ATTRIBUTE -> ATTRIBUTE [35:9]
+| | |--HTML_TAG_NAME -> attr [35:9]
+| | |--EQUALS -> = [35:13]
+| | `--ATTR_VALUE -> "something" [35:14]
+| `--SLASH_END -> /> [35:26]
+|--NEWLINE -> \n [35:28]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [36:2]
+| `--EMBED_TAG -> EMBED_TAG [36:2]
+| |--START -> < [36:2]
+| |--EMBED_HTML_TAG_NAME -> embed [36:3]
+| |--WS -> [36:8]
+| |--ATTRIBUTE -> ATTRIBUTE [36:9]
+| | |--HTML_TAG_NAME -> attr [36:9]
+| | |--EQUALS -> = [36:13]
+| | `--ATTR_VALUE -> "something" [36:14]
+| |--WS -> [36:26]
+| |--ATTRIBUTE -> ATTRIBUTE [36:27]
+| | |--HTML_TAG_NAME -> attr2 [36:27]
+| | |--EQUALS -> = [36:32]
+| | `--ATTR_VALUE -> "someotherthing" [36:33]
+| `--END -> > [36:50]
+|--NEWLINE -> \n [36:51]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [37:2]
+| `--EMBED_TAG -> EMBED_TAG [37:2]
+| |--START -> < [37:2]
+| |--EMBED_HTML_TAG_NAME -> embed [37:3]
+| |--WS -> [37:8]
+| |--ATTRIBUTE -> ATTRIBUTE [37:9]
+| | |--HTML_TAG_NAME -> attr [37:9]
+| | |--EQUALS -> = [37:13]
+| | `--ATTR_VALUE -> "something" [37:14]
+| |--WS -> [37:26]
+| |--ATTRIBUTE -> ATTRIBUTE [37:27]
+| | |--HTML_TAG_NAME -> attr2 [37:27]
+| | |--EQUALS -> = [37:32]
+| | `--ATTR_VALUE -> "someotherthing" [37:33]
+| `--SLASH_END -> /> [37:50]
+|--NEWLINE -> \n [37:52]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [38:2]
+| `--EMBED_TAG -> EMBED_TAG [38:2]
+| |--START -> < [38:2]
+| |--EMBED_HTML_TAG_NAME -> embed [38:3]
+| |--WS -> [38:8]
+| |--ATTRIBUTE -> ATTRIBUTE [38:9]
+| | |--HTML_TAG_NAME -> attr [38:9]
+| | |--EQUALS -> = [38:13]
+| | `--ATTR_VALUE -> "something" [38:14]
+| |--WS -> [38:26]
+| |--NEWLINE -> \n [38:27]
+| |--LEADING_ASTERISK -> * [39:0]
+| |--WS -> [39:1]
+| |--ATTRIBUTE -> ATTRIBUTE [39:2]
+| | |--HTML_TAG_NAME -> attr2 [39:2]
+| | |--EQUALS -> = [39:7]
+| | `--ATTR_VALUE -> "someotherting" [39:8]
+| `--END -> > [39:24]
+|--NEWLINE -> \n [39:25]
+|--LEADING_ASTERISK -> * [40:0]
+|--TEXT -> [40:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [40:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [40:2]
+| `--EMBED_TAG -> EMBED_TAG [40:2]
+| |--START -> < [40:2]
+| |--EMBED_HTML_TAG_NAME -> embed [40:3]
+| |--WS -> [40:8]
+| |--ATTRIBUTE -> ATTRIBUTE [40:9]
+| | |--HTML_TAG_NAME -> attr [40:9]
+| | |--EQUALS -> = [40:13]
+| | `--ATTR_VALUE -> "something" [40:14]
+| |--WS -> [40:26]
+| |--NEWLINE -> \n [40:27]
+| |--LEADING_ASTERISK -> * [41:0]
+| |--WS -> [41:1]
+| |--ATTRIBUTE -> ATTRIBUTE [41:2]
+| | |--HTML_TAG_NAME -> attr2 [41:2]
+| | |--EQUALS -> = [41:7]
+| | `--ATTR_VALUE -> "someotherting" [41:8]
+| `--SLASH_END -> /> [41:24]
+`--EOF -> <EOF> [41:26]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementKeygenAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementKeygenAst.txt
new file mode 100644
index 000000000..962a4a0f6
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementKeygenAst.txt
@@ -0,0 +1,761 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:6]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [0:6]
+| | |--START -> < [0:6]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [0:7]
+| | `--END -> > [0:13]
+| |--TEXT -> [0:14]
+| `--P_TAG_END -> P_TAG_END [0:15]
+| |--START -> < [0:15]
+| |--SLASH -> / [0:16]
+| |--P_HTML_TAG_NAME -> p [0:17]
+| `--END -> > [0:18]
+|--NEWLINE -> \n [0:19]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> [1:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [1:7]
+| | |--START -> < [1:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [1:8]
+| | `--END -> > [1:14]
+| |--TEXT -> [1:15]
+| `--LI_TAG_END -> LI_TAG_END [1:16]
+| |--START -> < [1:16]
+| |--SLASH -> / [1:17]
+| |--LI_HTML_TAG_NAME -> li [1:18]
+| `--END -> > [1:20]
+|--NEWLINE -> \n [1:21]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--TR -> TR [2:2]
+| |--TR_TAG_START -> TR_TAG_START [2:2]
+| | |--START -> < [2:2]
+| | |--TR_HTML_TAG_NAME -> tr [2:3]
+| | `--END -> > [2:5]
+| |--TEXT -> [2:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [2:7]
+| | |--START -> < [2:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [2:8]
+| | `--END -> > [2:14]
+| |--TEXT -> [2:15]
+| `--TR_TAG_END -> TR_TAG_END [2:16]
+| |--START -> < [2:16]
+| |--SLASH -> / [2:17]
+| |--TR_HTML_TAG_NAME -> tr [2:18]
+| `--END -> > [2:20]
+|--NEWLINE -> \n [2:21]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--TD -> TD [3:2]
+| |--TD_TAG_START -> TD_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--TD_HTML_TAG_NAME -> td [3:3]
+| | `--END -> > [3:5]
+| |--TEXT -> [3:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [3:7]
+| | |--START -> < [3:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [3:8]
+| | `--END -> > [3:14]
+| |--TEXT -> [3:15]
+| `--TD_TAG_END -> TD_TAG_END [3:16]
+| |--START -> < [3:16]
+| |--SLASH -> / [3:17]
+| |--TD_HTML_TAG_NAME -> td [3:18]
+| `--END -> > [3:20]
+|--NEWLINE -> \n [3:21]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TH -> TH [4:2]
+| |--TH_TAG_START -> TH_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TH_HTML_TAG_NAME -> th [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [4:7]
+| | |--START -> < [4:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [4:8]
+| | `--END -> > [4:14]
+| |--TEXT -> [4:15]
+| `--TH_TAG_END -> TH_TAG_END [4:16]
+| |--START -> < [4:16]
+| |--SLASH -> / [4:17]
+| |--TH_HTML_TAG_NAME -> th [4:18]
+| `--END -> > [4:20]
+|--NEWLINE -> \n [4:21]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--BODY -> BODY [5:2]
+| |--BODY_TAG_START -> BODY_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--BODY_HTML_TAG_NAME -> body [5:3]
+| | `--END -> > [5:7]
+| |--TEXT -> [5:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [5:9]
+| | |--START -> < [5:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [5:10]
+| | `--END -> > [5:16]
+| |--TEXT -> [5:17]
+| `--BODY_TAG_END -> BODY_TAG_END [5:18]
+| |--START -> < [5:18]
+| |--SLASH -> / [5:19]
+| |--BODY_HTML_TAG_NAME -> body [5:20]
+| `--END -> > [5:24]
+|--NEWLINE -> \n [5:25]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--COLGROUP -> COLGROUP [6:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [6:3]
+| | `--END -> > [6:11]
+| |--TEXT -> [6:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:13]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [6:13]
+| | |--START -> < [6:13]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [6:14]
+| | `--END -> > [6:20]
+| |--TEXT -> [6:21]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [6:22]
+| |--START -> < [6:22]
+| |--SLASH -> / [6:23]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [6:24]
+| `--END -> > [6:32]
+|--NEWLINE -> \n [6:33]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--DD -> DD [7:2]
+| |--DD_TAG_START -> DD_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--DD_HTML_TAG_NAME -> dd [7:3]
+| | `--END -> > [7:5]
+| |--TEXT -> [7:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [7:7]
+| | |--START -> < [7:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [7:8]
+| | `--END -> > [7:14]
+| |--TEXT -> [7:15]
+| `--DD_TAG_END -> DD_TAG_END [7:16]
+| |--START -> < [7:16]
+| |--SLASH -> / [7:17]
+| |--DD_HTML_TAG_NAME -> dd [7:18]
+| `--END -> > [7:20]
+|--NEWLINE -> \n [7:21]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--DT -> DT [8:2]
+| |--DT_TAG_START -> DT_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--DT_HTML_TAG_NAME -> dt [8:3]
+| | `--END -> > [8:5]
+| |--TEXT -> [8:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [8:7]
+| | |--START -> < [8:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [8:8]
+| | `--END -> > [8:14]
+| |--TEXT -> [8:15]
+| `--DT_TAG_END -> DT_TAG_END [8:16]
+| |--START -> < [8:16]
+| |--SLASH -> / [8:17]
+| |--DT_HTML_TAG_NAME -> dt [8:18]
+| `--END -> > [8:20]
+|--NEWLINE -> \n [8:21]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--HEAD -> HEAD [9:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--HEAD_HTML_TAG_NAME -> head [9:3]
+| | `--END -> > [9:7]
+| |--TEXT -> [9:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [9:9]
+| | |--START -> < [9:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [9:10]
+| | `--END -> > [9:16]
+| |--TEXT -> [9:17]
+| `--HEAD_TAG_END -> HEAD_TAG_END [9:18]
+| |--START -> < [9:18]
+| |--SLASH -> / [9:19]
+| |--HEAD_HTML_TAG_NAME -> head [9:20]
+| `--END -> > [9:24]
+|--NEWLINE -> \n [9:25]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--HTML -> HTML [10:2]
+| |--HTML_TAG_START -> HTML_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--HTML_HTML_TAG_NAME -> html [10:3]
+| | `--END -> > [10:7]
+| |--TEXT -> [10:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [10:9]
+| | |--START -> < [10:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [10:10]
+| | `--END -> > [10:16]
+| |--TEXT -> [10:17]
+| `--HTML_TAG_END -> HTML_TAG_END [10:18]
+| |--START -> < [10:18]
+| |--SLASH -> / [10:19]
+| |--HTML_HTML_TAG_NAME -> html [10:20]
+| `--END -> > [10:24]
+|--NEWLINE -> \n [10:25]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--OPTION -> OPTION [11:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--OPTION_HTML_TAG_NAME -> option [11:3]
+| | `--END -> > [11:9]
+| |--TEXT -> [11:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:11]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [11:11]
+| | |--START -> < [11:11]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [11:12]
+| | `--END -> > [11:18]
+| |--TEXT -> [11:19]
+| `--OPTION_TAG_END -> OPTION_TAG_END [11:20]
+| |--START -> < [11:20]
+| |--SLASH -> / [11:21]
+| |--OPTION_HTML_TAG_NAME -> option [11:22]
+| `--END -> > [11:28]
+|--NEWLINE -> \n [11:29]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--TBODY -> TBODY [12:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [12:3]
+| | `--END -> > [12:8]
+| |--TEXT -> [12:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [12:10]
+| | |--START -> < [12:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [12:11]
+| | `--END -> > [12:17]
+| |--TEXT -> [12:18]
+| `--TBODY_TAG_END -> TBODY_TAG_END [12:19]
+| |--START -> < [12:19]
+| |--SLASH -> / [12:20]
+| |--TBODY_HTML_TAG_NAME -> tbody [12:21]
+| `--END -> > [12:26]
+|--NEWLINE -> \n [12:27]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--THEAD -> THEAD [13:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [13:3]
+| | `--END -> > [13:8]
+| |--TEXT -> [13:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [13:10]
+| | |--START -> < [13:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [13:11]
+| | `--END -> > [13:17]
+| |--TEXT -> [13:18]
+| `--THEAD_TAG_END -> THEAD_TAG_END [13:19]
+| |--START -> < [13:19]
+| |--SLASH -> / [13:20]
+| |--THEAD_HTML_TAG_NAME -> thead [13:21]
+| `--END -> > [13:26]
+|--NEWLINE -> \n [13:27]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--TFOOT -> TFOOT [14:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [14:3]
+| | `--END -> > [14:8]
+| |--TEXT -> [14:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [14:10]
+| | |--START -> < [14:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [14:11]
+| | `--END -> > [14:17]
+| |--TEXT -> [14:18]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [14:19]
+| |--START -> < [14:19]
+| |--SLASH -> / [14:20]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [14:21]
+| `--END -> > [14:26]
+|--NEWLINE -> \n [14:27]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> p [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:6]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [16:6]
+| | |--START -> < [16:6]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [16:7]
+| | `--SLASH_END -> /> [16:13]
+| |--TEXT -> [16:15]
+| `--P_TAG_END -> P_TAG_END [16:16]
+| |--START -> < [16:16]
+| |--SLASH -> / [16:17]
+| |--P_HTML_TAG_NAME -> p [16:18]
+| `--END -> > [16:19]
+|--NEWLINE -> \n [16:20]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--LI -> LI [17:2]
+| |--LI_TAG_START -> LI_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--LI_HTML_TAG_NAME -> li [17:3]
+| | `--END -> > [17:5]
+| |--TEXT -> [17:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [17:7]
+| | |--START -> < [17:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [17:8]
+| | `--SLASH_END -> /> [17:14]
+| |--TEXT -> [17:16]
+| `--LI_TAG_END -> LI_TAG_END [17:17]
+| |--START -> < [17:17]
+| |--SLASH -> / [17:18]
+| |--LI_HTML_TAG_NAME -> li [17:19]
+| `--END -> > [17:21]
+|--NEWLINE -> \n [17:22]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TR -> TR [18:2]
+| |--TR_TAG_START -> TR_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TR_HTML_TAG_NAME -> tr [18:3]
+| | `--END -> > [18:5]
+| |--TEXT -> [18:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [18:7]
+| | |--START -> < [18:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [18:8]
+| | `--SLASH_END -> /> [18:14]
+| |--TEXT -> [18:16]
+| `--TR_TAG_END -> TR_TAG_END [18:17]
+| |--START -> < [18:17]
+| |--SLASH -> / [18:18]
+| |--TR_HTML_TAG_NAME -> tr [18:19]
+| `--END -> > [18:21]
+|--NEWLINE -> \n [18:22]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--TD -> TD [19:2]
+| |--TD_TAG_START -> TD_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--TD_HTML_TAG_NAME -> td [19:3]
+| | `--END -> > [19:5]
+| |--TEXT -> [19:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [19:7]
+| | |--START -> < [19:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [19:8]
+| | `--SLASH_END -> /> [19:14]
+| |--TEXT -> [19:16]
+| `--TD_TAG_END -> TD_TAG_END [19:17]
+| |--START -> < [19:17]
+| |--SLASH -> / [19:18]
+| |--TD_HTML_TAG_NAME -> td [19:19]
+| `--END -> > [19:21]
+|--NEWLINE -> \n [19:22]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--TH -> TH [20:2]
+| |--TH_TAG_START -> TH_TAG_START [20:2]
+| | |--START -> < [20:2]
+| | |--TH_HTML_TAG_NAME -> th [20:3]
+| | `--END -> > [20:5]
+| |--TEXT -> [20:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [20:7]
+| | |--START -> < [20:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [20:8]
+| | `--SLASH_END -> /> [20:14]
+| |--TEXT -> [20:16]
+| `--TH_TAG_END -> TH_TAG_END [20:17]
+| |--START -> < [20:17]
+| |--SLASH -> / [20:18]
+| |--TH_HTML_TAG_NAME -> th [20:19]
+| `--END -> > [20:21]
+|--NEWLINE -> \n [20:22]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--BODY -> BODY [21:2]
+| |--BODY_TAG_START -> BODY_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--BODY_HTML_TAG_NAME -> body [21:3]
+| | `--END -> > [21:7]
+| |--TEXT -> [21:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [21:9]
+| | |--START -> < [21:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [21:10]
+| | `--SLASH_END -> /> [21:16]
+| |--TEXT -> [21:18]
+| `--BODY_TAG_END -> BODY_TAG_END [21:19]
+| |--START -> < [21:19]
+| |--SLASH -> / [21:20]
+| |--BODY_HTML_TAG_NAME -> body [21:21]
+| `--END -> > [21:25]
+|--NEWLINE -> \n [21:26]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--COLGROUP -> COLGROUP [22:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [22:3]
+| | `--END -> > [22:11]
+| |--TEXT -> [22:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:13]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [22:13]
+| | |--START -> < [22:13]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [22:14]
+| | `--SLASH_END -> /> [22:20]
+| |--TEXT -> [22:22]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [22:23]
+| |--START -> < [22:23]
+| |--SLASH -> / [22:24]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [22:25]
+| `--END -> > [22:33]
+|--NEWLINE -> \n [22:34]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--DD -> DD [23:2]
+| |--DD_TAG_START -> DD_TAG_START [23:2]
+| | |--START -> < [23:2]
+| | |--DD_HTML_TAG_NAME -> dd [23:3]
+| | `--END -> > [23:5]
+| |--TEXT -> [23:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [23:7]
+| | |--START -> < [23:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [23:8]
+| | `--SLASH_END -> /> [23:14]
+| |--TEXT -> [23:16]
+| `--DD_TAG_END -> DD_TAG_END [23:17]
+| |--START -> < [23:17]
+| |--SLASH -> / [23:18]
+| |--DD_HTML_TAG_NAME -> dd [23:19]
+| `--END -> > [23:21]
+|--NEWLINE -> \n [23:22]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--DT -> DT [24:2]
+| |--DT_TAG_START -> DT_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--DT_HTML_TAG_NAME -> dt [24:3]
+| | `--END -> > [24:5]
+| |--TEXT -> [24:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:7]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [24:7]
+| | |--START -> < [24:7]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [24:8]
+| | `--SLASH_END -> /> [24:14]
+| |--TEXT -> [24:16]
+| `--DT_TAG_END -> DT_TAG_END [24:17]
+| |--START -> < [24:17]
+| |--SLASH -> / [24:18]
+| |--DT_HTML_TAG_NAME -> dt [24:19]
+| `--END -> > [24:21]
+|--NEWLINE -> \n [24:22]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--HEAD -> HEAD [25:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--HEAD_HTML_TAG_NAME -> head [25:3]
+| | `--END -> > [25:7]
+| |--TEXT -> [25:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [25:9]
+| | |--START -> < [25:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [25:10]
+| | `--SLASH_END -> /> [25:16]
+| |--TEXT -> [25:18]
+| `--HEAD_TAG_END -> HEAD_TAG_END [25:19]
+| |--START -> < [25:19]
+| |--SLASH -> / [25:20]
+| |--HEAD_HTML_TAG_NAME -> head [25:21]
+| `--END -> > [25:25]
+|--NEWLINE -> \n [25:26]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--HTML -> HTML [26:2]
+| |--HTML_TAG_START -> HTML_TAG_START [26:2]
+| | |--START -> < [26:2]
+| | |--HTML_HTML_TAG_NAME -> html [26:3]
+| | `--END -> > [26:7]
+| |--TEXT -> [26:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:9]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [26:9]
+| | |--START -> < [26:9]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [26:10]
+| | `--SLASH_END -> /> [26:16]
+| |--TEXT -> [26:18]
+| `--HTML_TAG_END -> HTML_TAG_END [26:19]
+| |--START -> < [26:19]
+| |--SLASH -> / [26:20]
+| |--HTML_HTML_TAG_NAME -> html [26:21]
+| `--END -> > [26:25]
+|--NEWLINE -> \n [26:26]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--OPTION -> OPTION [27:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--OPTION_HTML_TAG_NAME -> option [27:3]
+| | `--END -> > [27:9]
+| |--TEXT -> [27:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:11]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [27:11]
+| | |--START -> < [27:11]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [27:12]
+| | `--SLASH_END -> /> [27:18]
+| |--TEXT -> [27:20]
+| `--OPTION_TAG_END -> OPTION_TAG_END [27:21]
+| |--START -> < [27:21]
+| |--SLASH -> / [27:22]
+| |--OPTION_HTML_TAG_NAME -> option [27:23]
+| `--END -> > [27:29]
+|--NEWLINE -> \n [27:30]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--TBODY -> TBODY [28:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [28:3]
+| | `--END -> > [28:8]
+| |--TEXT -> [28:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [28:10]
+| | |--START -> < [28:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [28:11]
+| | `--SLASH_END -> /> [28:17]
+| |--TEXT -> [28:19]
+| `--TBODY_TAG_END -> TBODY_TAG_END [28:20]
+| |--START -> < [28:20]
+| |--SLASH -> / [28:21]
+| |--TBODY_HTML_TAG_NAME -> tbody [28:22]
+| `--END -> > [28:27]
+|--NEWLINE -> \n [28:28]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--THEAD -> THEAD [29:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [29:2]
+| | |--START -> < [29:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [29:3]
+| | `--END -> > [29:8]
+| |--TEXT -> [29:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [29:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [29:10]
+| | |--START -> < [29:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [29:11]
+| | `--SLASH_END -> /> [29:17]
+| |--TEXT -> [29:19]
+| `--THEAD_TAG_END -> THEAD_TAG_END [29:20]
+| |--START -> < [29:20]
+| |--SLASH -> / [29:21]
+| |--THEAD_HTML_TAG_NAME -> thead [29:22]
+| `--END -> > [29:27]
+|--NEWLINE -> \n [29:28]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--TFOOT -> TFOOT [30:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [30:3]
+| | `--END -> > [30:8]
+| |--TEXT -> [30:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [30:10]
+| | `--KEYGEN_TAG -> KEYGEN_TAG [30:10]
+| | |--START -> < [30:10]
+| | |--KEYGEN_HTML_TAG_NAME -> keygen [30:11]
+| | `--SLASH_END -> /> [30:17]
+| |--TEXT -> [30:19]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [30:20]
+| |--START -> < [30:20]
+| |--SLASH -> / [30:21]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [30:22]
+| `--END -> > [30:27]
+|--NEWLINE -> \n [30:28]
+|--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [32:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [32:2]
+| |--START -> < [32:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [32:3]
+| `--END -> > [32:9]
+|--NEWLINE -> \n [32:10]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [33:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [33:2]
+| |--START -> < [33:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [33:3]
+| `--SLASH_END -> /> [33:9]
+|--NEWLINE -> \n [33:11]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [34:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [34:2]
+| |--START -> < [34:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [34:3]
+| |--WS -> [34:9]
+| |--ATTRIBUTE -> ATTRIBUTE [34:10]
+| | |--HTML_TAG_NAME -> attr [34:10]
+| | |--EQUALS -> = [34:14]
+| | `--ATTR_VALUE -> "something" [34:15]
+| `--END -> > [34:27]
+|--NEWLINE -> \n [34:28]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [35:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [35:2]
+| |--START -> < [35:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [35:3]
+| |--WS -> [35:9]
+| |--ATTRIBUTE -> ATTRIBUTE [35:10]
+| | |--HTML_TAG_NAME -> attr [35:10]
+| | |--EQUALS -> = [35:14]
+| | `--ATTR_VALUE -> "something" [35:15]
+| `--SLASH_END -> /> [35:27]
+|--NEWLINE -> \n [35:29]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [36:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [36:2]
+| |--START -> < [36:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [36:3]
+| |--WS -> [36:9]
+| |--ATTRIBUTE -> ATTRIBUTE [36:10]
+| | |--HTML_TAG_NAME -> attr [36:10]
+| | |--EQUALS -> = [36:14]
+| | `--ATTR_VALUE -> "something" [36:15]
+| |--WS -> [36:27]
+| |--ATTRIBUTE -> ATTRIBUTE [36:28]
+| | |--HTML_TAG_NAME -> attr2 [36:28]
+| | |--EQUALS -> = [36:33]
+| | `--ATTR_VALUE -> "someotherthing" [36:34]
+| `--END -> > [36:51]
+|--NEWLINE -> \n [36:52]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [37:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [37:2]
+| |--START -> < [37:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [37:3]
+| |--WS -> [37:9]
+| |--ATTRIBUTE -> ATTRIBUTE [37:10]
+| | |--HTML_TAG_NAME -> attr [37:10]
+| | |--EQUALS -> = [37:14]
+| | `--ATTR_VALUE -> "something" [37:15]
+| |--WS -> [37:27]
+| |--ATTRIBUTE -> ATTRIBUTE [37:28]
+| | |--HTML_TAG_NAME -> attr2 [37:28]
+| | |--EQUALS -> = [37:33]
+| | `--ATTR_VALUE -> "someotherthing" [37:34]
+| `--SLASH_END -> /> [37:51]
+|--NEWLINE -> \n [37:53]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [38:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [38:2]
+| |--START -> < [38:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [38:3]
+| |--WS -> [38:9]
+| |--ATTRIBUTE -> ATTRIBUTE [38:10]
+| | |--HTML_TAG_NAME -> attr [38:10]
+| | |--EQUALS -> = [38:14]
+| | `--ATTR_VALUE -> "something" [38:15]
+| |--WS -> [38:27]
+| |--NEWLINE -> \n [38:28]
+| |--LEADING_ASTERISK -> * [39:0]
+| |--WS -> [39:1]
+| |--ATTRIBUTE -> ATTRIBUTE [39:2]
+| | |--HTML_TAG_NAME -> attr2 [39:2]
+| | |--EQUALS -> = [39:7]
+| | `--ATTR_VALUE -> "someotherting" [39:8]
+| `--END -> > [39:24]
+|--NEWLINE -> \n [39:25]
+|--LEADING_ASTERISK -> * [40:0]
+|--TEXT -> [40:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [40:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [40:2]
+| `--KEYGEN_TAG -> KEYGEN_TAG [40:2]
+| |--START -> < [40:2]
+| |--KEYGEN_HTML_TAG_NAME -> keygen [40:3]
+| |--WS -> [40:9]
+| |--ATTRIBUTE -> ATTRIBUTE [40:10]
+| | |--HTML_TAG_NAME -> attr [40:10]
+| | |--EQUALS -> = [40:14]
+| | `--ATTR_VALUE -> "something" [40:15]
+| |--WS -> [40:27]
+| |--NEWLINE -> \n [40:28]
+| |--LEADING_ASTERISK -> * [41:0]
+| |--WS -> [41:1]
+| |--ATTRIBUTE -> ATTRIBUTE [41:2]
+| | |--HTML_TAG_NAME -> attr2 [41:2]
+| | |--EQUALS -> = [41:7]
+| | `--ATTR_VALUE -> "someotherting" [41:8]
+| `--SLASH_END -> /> [41:24]
+`--EOF -> <EOF> [41:26]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementSourceAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementSourceAst.txt
new file mode 100644
index 000000000..10c9fd8da
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementSourceAst.txt
@@ -0,0 +1,761 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:6]
+| | `--SOURCE_TAG -> SOURCE_TAG [0:6]
+| | |--START -> < [0:6]
+| | |--SOURCE_HTML_TAG_NAME -> source [0:7]
+| | `--END -> > [0:13]
+| |--TEXT -> [0:14]
+| `--P_TAG_END -> P_TAG_END [0:15]
+| |--START -> < [0:15]
+| |--SLASH -> / [0:16]
+| |--P_HTML_TAG_NAME -> p [0:17]
+| `--END -> > [0:18]
+|--NEWLINE -> \n [0:19]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> [1:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [1:7]
+| | |--START -> < [1:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [1:8]
+| | `--END -> > [1:14]
+| |--TEXT -> [1:15]
+| `--LI_TAG_END -> LI_TAG_END [1:16]
+| |--START -> < [1:16]
+| |--SLASH -> / [1:17]
+| |--LI_HTML_TAG_NAME -> li [1:18]
+| `--END -> > [1:20]
+|--NEWLINE -> \n [1:21]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--TR -> TR [2:2]
+| |--TR_TAG_START -> TR_TAG_START [2:2]
+| | |--START -> < [2:2]
+| | |--TR_HTML_TAG_NAME -> tr [2:3]
+| | `--END -> > [2:5]
+| |--TEXT -> [2:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [2:7]
+| | |--START -> < [2:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [2:8]
+| | `--END -> > [2:14]
+| |--TEXT -> [2:15]
+| `--TR_TAG_END -> TR_TAG_END [2:16]
+| |--START -> < [2:16]
+| |--SLASH -> / [2:17]
+| |--TR_HTML_TAG_NAME -> tr [2:18]
+| `--END -> > [2:20]
+|--NEWLINE -> \n [2:21]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--TD -> TD [3:2]
+| |--TD_TAG_START -> TD_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--TD_HTML_TAG_NAME -> td [3:3]
+| | `--END -> > [3:5]
+| |--TEXT -> [3:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [3:7]
+| | |--START -> < [3:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [3:8]
+| | `--END -> > [3:14]
+| |--TEXT -> [3:15]
+| `--TD_TAG_END -> TD_TAG_END [3:16]
+| |--START -> < [3:16]
+| |--SLASH -> / [3:17]
+| |--TD_HTML_TAG_NAME -> td [3:18]
+| `--END -> > [3:20]
+|--NEWLINE -> \n [3:21]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TH -> TH [4:2]
+| |--TH_TAG_START -> TH_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TH_HTML_TAG_NAME -> th [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [4:7]
+| | |--START -> < [4:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [4:8]
+| | `--END -> > [4:14]
+| |--TEXT -> [4:15]
+| `--TH_TAG_END -> TH_TAG_END [4:16]
+| |--START -> < [4:16]
+| |--SLASH -> / [4:17]
+| |--TH_HTML_TAG_NAME -> th [4:18]
+| `--END -> > [4:20]
+|--NEWLINE -> \n [4:21]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--BODY -> BODY [5:2]
+| |--BODY_TAG_START -> BODY_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--BODY_HTML_TAG_NAME -> body [5:3]
+| | `--END -> > [5:7]
+| |--TEXT -> [5:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [5:9]
+| | |--START -> < [5:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [5:10]
+| | `--END -> > [5:16]
+| |--TEXT -> [5:17]
+| `--BODY_TAG_END -> BODY_TAG_END [5:18]
+| |--START -> < [5:18]
+| |--SLASH -> / [5:19]
+| |--BODY_HTML_TAG_NAME -> body [5:20]
+| `--END -> > [5:24]
+|--NEWLINE -> \n [5:25]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--COLGROUP -> COLGROUP [6:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [6:3]
+| | `--END -> > [6:11]
+| |--TEXT -> [6:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:13]
+| | `--SOURCE_TAG -> SOURCE_TAG [6:13]
+| | |--START -> < [6:13]
+| | |--SOURCE_HTML_TAG_NAME -> source [6:14]
+| | `--END -> > [6:20]
+| |--TEXT -> [6:21]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [6:22]
+| |--START -> < [6:22]
+| |--SLASH -> / [6:23]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [6:24]
+| `--END -> > [6:32]
+|--NEWLINE -> \n [6:33]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--DD -> DD [7:2]
+| |--DD_TAG_START -> DD_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--DD_HTML_TAG_NAME -> dd [7:3]
+| | `--END -> > [7:5]
+| |--TEXT -> [7:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [7:7]
+| | |--START -> < [7:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [7:8]
+| | `--END -> > [7:14]
+| |--TEXT -> [7:15]
+| `--DD_TAG_END -> DD_TAG_END [7:16]
+| |--START -> < [7:16]
+| |--SLASH -> / [7:17]
+| |--DD_HTML_TAG_NAME -> dd [7:18]
+| `--END -> > [7:20]
+|--NEWLINE -> \n [7:21]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--DT -> DT [8:2]
+| |--DT_TAG_START -> DT_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--DT_HTML_TAG_NAME -> dt [8:3]
+| | `--END -> > [8:5]
+| |--TEXT -> [8:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [8:7]
+| | |--START -> < [8:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [8:8]
+| | `--END -> > [8:14]
+| |--TEXT -> [8:15]
+| `--DT_TAG_END -> DT_TAG_END [8:16]
+| |--START -> < [8:16]
+| |--SLASH -> / [8:17]
+| |--DT_HTML_TAG_NAME -> dt [8:18]
+| `--END -> > [8:20]
+|--NEWLINE -> \n [8:21]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--HEAD -> HEAD [9:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--HEAD_HTML_TAG_NAME -> head [9:3]
+| | `--END -> > [9:7]
+| |--TEXT -> [9:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [9:9]
+| | |--START -> < [9:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [9:10]
+| | `--END -> > [9:16]
+| |--TEXT -> [9:17]
+| `--HEAD_TAG_END -> HEAD_TAG_END [9:18]
+| |--START -> < [9:18]
+| |--SLASH -> / [9:19]
+| |--HEAD_HTML_TAG_NAME -> head [9:20]
+| `--END -> > [9:24]
+|--NEWLINE -> \n [9:25]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--HTML -> HTML [10:2]
+| |--HTML_TAG_START -> HTML_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--HTML_HTML_TAG_NAME -> html [10:3]
+| | `--END -> > [10:7]
+| |--TEXT -> [10:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [10:9]
+| | |--START -> < [10:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [10:10]
+| | `--END -> > [10:16]
+| |--TEXT -> [10:17]
+| `--HTML_TAG_END -> HTML_TAG_END [10:18]
+| |--START -> < [10:18]
+| |--SLASH -> / [10:19]
+| |--HTML_HTML_TAG_NAME -> html [10:20]
+| `--END -> > [10:24]
+|--NEWLINE -> \n [10:25]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--OPTION -> OPTION [11:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--OPTION_HTML_TAG_NAME -> option [11:3]
+| | `--END -> > [11:9]
+| |--TEXT -> [11:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:11]
+| | `--SOURCE_TAG -> SOURCE_TAG [11:11]
+| | |--START -> < [11:11]
+| | |--SOURCE_HTML_TAG_NAME -> source [11:12]
+| | `--END -> > [11:18]
+| |--TEXT -> [11:19]
+| `--OPTION_TAG_END -> OPTION_TAG_END [11:20]
+| |--START -> < [11:20]
+| |--SLASH -> / [11:21]
+| |--OPTION_HTML_TAG_NAME -> option [11:22]
+| `--END -> > [11:28]
+|--NEWLINE -> \n [11:29]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--TBODY -> TBODY [12:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [12:3]
+| | `--END -> > [12:8]
+| |--TEXT -> [12:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [12:10]
+| | |--START -> < [12:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [12:11]
+| | `--END -> > [12:17]
+| |--TEXT -> [12:18]
+| `--TBODY_TAG_END -> TBODY_TAG_END [12:19]
+| |--START -> < [12:19]
+| |--SLASH -> / [12:20]
+| |--TBODY_HTML_TAG_NAME -> tbody [12:21]
+| `--END -> > [12:26]
+|--NEWLINE -> \n [12:27]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--THEAD -> THEAD [13:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [13:3]
+| | `--END -> > [13:8]
+| |--TEXT -> [13:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [13:10]
+| | |--START -> < [13:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [13:11]
+| | `--END -> > [13:17]
+| |--TEXT -> [13:18]
+| `--THEAD_TAG_END -> THEAD_TAG_END [13:19]
+| |--START -> < [13:19]
+| |--SLASH -> / [13:20]
+| |--THEAD_HTML_TAG_NAME -> thead [13:21]
+| `--END -> > [13:26]
+|--NEWLINE -> \n [13:27]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--TFOOT -> TFOOT [14:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [14:3]
+| | `--END -> > [14:8]
+| |--TEXT -> [14:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [14:10]
+| | |--START -> < [14:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [14:11]
+| | `--END -> > [14:17]
+| |--TEXT -> [14:18]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [14:19]
+| |--START -> < [14:19]
+| |--SLASH -> / [14:20]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [14:21]
+| `--END -> > [14:26]
+|--NEWLINE -> \n [14:27]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> p [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:6]
+| | `--SOURCE_TAG -> SOURCE_TAG [16:6]
+| | |--START -> < [16:6]
+| | |--SOURCE_HTML_TAG_NAME -> source [16:7]
+| | `--SLASH_END -> /> [16:13]
+| |--TEXT -> [16:15]
+| `--P_TAG_END -> P_TAG_END [16:16]
+| |--START -> < [16:16]
+| |--SLASH -> / [16:17]
+| |--P_HTML_TAG_NAME -> p [16:18]
+| `--END -> > [16:19]
+|--NEWLINE -> \n [16:20]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--LI -> LI [17:2]
+| |--LI_TAG_START -> LI_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--LI_HTML_TAG_NAME -> li [17:3]
+| | `--END -> > [17:5]
+| |--TEXT -> [17:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [17:7]
+| | |--START -> < [17:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [17:8]
+| | `--SLASH_END -> /> [17:14]
+| |--TEXT -> [17:16]
+| `--LI_TAG_END -> LI_TAG_END [17:17]
+| |--START -> < [17:17]
+| |--SLASH -> / [17:18]
+| |--LI_HTML_TAG_NAME -> li [17:19]
+| `--END -> > [17:21]
+|--NEWLINE -> \n [17:22]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TR -> TR [18:2]
+| |--TR_TAG_START -> TR_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TR_HTML_TAG_NAME -> tr [18:3]
+| | `--END -> > [18:5]
+| |--TEXT -> [18:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [18:7]
+| | |--START -> < [18:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [18:8]
+| | `--SLASH_END -> /> [18:14]
+| |--TEXT -> [18:16]
+| `--TR_TAG_END -> TR_TAG_END [18:17]
+| |--START -> < [18:17]
+| |--SLASH -> / [18:18]
+| |--TR_HTML_TAG_NAME -> tr [18:19]
+| `--END -> > [18:21]
+|--NEWLINE -> \n [18:22]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--TD -> TD [19:2]
+| |--TD_TAG_START -> TD_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--TD_HTML_TAG_NAME -> td [19:3]
+| | `--END -> > [19:5]
+| |--TEXT -> [19:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [19:7]
+| | |--START -> < [19:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [19:8]
+| | `--SLASH_END -> /> [19:14]
+| |--TEXT -> [19:16]
+| `--TD_TAG_END -> TD_TAG_END [19:17]
+| |--START -> < [19:17]
+| |--SLASH -> / [19:18]
+| |--TD_HTML_TAG_NAME -> td [19:19]
+| `--END -> > [19:21]
+|--NEWLINE -> \n [19:22]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--TH -> TH [20:2]
+| |--TH_TAG_START -> TH_TAG_START [20:2]
+| | |--START -> < [20:2]
+| | |--TH_HTML_TAG_NAME -> th [20:3]
+| | `--END -> > [20:5]
+| |--TEXT -> [20:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [20:7]
+| | |--START -> < [20:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [20:8]
+| | `--SLASH_END -> /> [20:14]
+| |--TEXT -> [20:16]
+| `--TH_TAG_END -> TH_TAG_END [20:17]
+| |--START -> < [20:17]
+| |--SLASH -> / [20:18]
+| |--TH_HTML_TAG_NAME -> th [20:19]
+| `--END -> > [20:21]
+|--NEWLINE -> \n [20:22]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--BODY -> BODY [21:2]
+| |--BODY_TAG_START -> BODY_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--BODY_HTML_TAG_NAME -> body [21:3]
+| | `--END -> > [21:7]
+| |--TEXT -> [21:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [21:9]
+| | |--START -> < [21:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [21:10]
+| | `--SLASH_END -> /> [21:16]
+| |--TEXT -> [21:18]
+| `--BODY_TAG_END -> BODY_TAG_END [21:19]
+| |--START -> < [21:19]
+| |--SLASH -> / [21:20]
+| |--BODY_HTML_TAG_NAME -> body [21:21]
+| `--END -> > [21:25]
+|--NEWLINE -> \n [21:26]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--COLGROUP -> COLGROUP [22:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [22:3]
+| | `--END -> > [22:11]
+| |--TEXT -> [22:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:13]
+| | `--SOURCE_TAG -> SOURCE_TAG [22:13]
+| | |--START -> < [22:13]
+| | |--SOURCE_HTML_TAG_NAME -> source [22:14]
+| | `--SLASH_END -> /> [22:20]
+| |--TEXT -> [22:22]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [22:23]
+| |--START -> < [22:23]
+| |--SLASH -> / [22:24]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [22:25]
+| `--END -> > [22:33]
+|--NEWLINE -> \n [22:34]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--DD -> DD [23:2]
+| |--DD_TAG_START -> DD_TAG_START [23:2]
+| | |--START -> < [23:2]
+| | |--DD_HTML_TAG_NAME -> dd [23:3]
+| | `--END -> > [23:5]
+| |--TEXT -> [23:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [23:7]
+| | |--START -> < [23:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [23:8]
+| | `--SLASH_END -> /> [23:14]
+| |--TEXT -> [23:16]
+| `--DD_TAG_END -> DD_TAG_END [23:17]
+| |--START -> < [23:17]
+| |--SLASH -> / [23:18]
+| |--DD_HTML_TAG_NAME -> dd [23:19]
+| `--END -> > [23:21]
+|--NEWLINE -> \n [23:22]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--DT -> DT [24:2]
+| |--DT_TAG_START -> DT_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--DT_HTML_TAG_NAME -> dt [24:3]
+| | `--END -> > [24:5]
+| |--TEXT -> [24:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:7]
+| | `--SOURCE_TAG -> SOURCE_TAG [24:7]
+| | |--START -> < [24:7]
+| | |--SOURCE_HTML_TAG_NAME -> source [24:8]
+| | `--SLASH_END -> /> [24:14]
+| |--TEXT -> [24:16]
+| `--DT_TAG_END -> DT_TAG_END [24:17]
+| |--START -> < [24:17]
+| |--SLASH -> / [24:18]
+| |--DT_HTML_TAG_NAME -> dt [24:19]
+| `--END -> > [24:21]
+|--NEWLINE -> \n [24:22]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--HEAD -> HEAD [25:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--HEAD_HTML_TAG_NAME -> head [25:3]
+| | `--END -> > [25:7]
+| |--TEXT -> [25:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [25:9]
+| | |--START -> < [25:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [25:10]
+| | `--SLASH_END -> /> [25:16]
+| |--TEXT -> [25:18]
+| `--HEAD_TAG_END -> HEAD_TAG_END [25:19]
+| |--START -> < [25:19]
+| |--SLASH -> / [25:20]
+| |--HEAD_HTML_TAG_NAME -> head [25:21]
+| `--END -> > [25:25]
+|--NEWLINE -> \n [25:26]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--HTML -> HTML [26:2]
+| |--HTML_TAG_START -> HTML_TAG_START [26:2]
+| | |--START -> < [26:2]
+| | |--HTML_HTML_TAG_NAME -> html [26:3]
+| | `--END -> > [26:7]
+| |--TEXT -> [26:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:9]
+| | `--SOURCE_TAG -> SOURCE_TAG [26:9]
+| | |--START -> < [26:9]
+| | |--SOURCE_HTML_TAG_NAME -> source [26:10]
+| | `--SLASH_END -> /> [26:16]
+| |--TEXT -> [26:18]
+| `--HTML_TAG_END -> HTML_TAG_END [26:19]
+| |--START -> < [26:19]
+| |--SLASH -> / [26:20]
+| |--HTML_HTML_TAG_NAME -> html [26:21]
+| `--END -> > [26:25]
+|--NEWLINE -> \n [26:26]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--OPTION -> OPTION [27:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--OPTION_HTML_TAG_NAME -> option [27:3]
+| | `--END -> > [27:9]
+| |--TEXT -> [27:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:11]
+| | `--SOURCE_TAG -> SOURCE_TAG [27:11]
+| | |--START -> < [27:11]
+| | |--SOURCE_HTML_TAG_NAME -> source [27:12]
+| | `--SLASH_END -> /> [27:18]
+| |--TEXT -> [27:20]
+| `--OPTION_TAG_END -> OPTION_TAG_END [27:21]
+| |--START -> < [27:21]
+| |--SLASH -> / [27:22]
+| |--OPTION_HTML_TAG_NAME -> option [27:23]
+| `--END -> > [27:29]
+|--NEWLINE -> \n [27:30]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--TBODY -> TBODY [28:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [28:3]
+| | `--END -> > [28:8]
+| |--TEXT -> [28:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [28:10]
+| | |--START -> < [28:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [28:11]
+| | `--SLASH_END -> /> [28:17]
+| |--TEXT -> [28:19]
+| `--TBODY_TAG_END -> TBODY_TAG_END [28:20]
+| |--START -> < [28:20]
+| |--SLASH -> / [28:21]
+| |--TBODY_HTML_TAG_NAME -> tbody [28:22]
+| `--END -> > [28:27]
+|--NEWLINE -> \n [28:28]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--THEAD -> THEAD [29:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [29:2]
+| | |--START -> < [29:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [29:3]
+| | `--END -> > [29:8]
+| |--TEXT -> [29:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [29:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [29:10]
+| | |--START -> < [29:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [29:11]
+| | `--SLASH_END -> /> [29:17]
+| |--TEXT -> [29:19]
+| `--THEAD_TAG_END -> THEAD_TAG_END [29:20]
+| |--START -> < [29:20]
+| |--SLASH -> / [29:21]
+| |--THEAD_HTML_TAG_NAME -> thead [29:22]
+| `--END -> > [29:27]
+|--NEWLINE -> \n [29:28]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--TFOOT -> TFOOT [30:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [30:3]
+| | `--END -> > [30:8]
+| |--TEXT -> [30:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [30:10]
+| | `--SOURCE_TAG -> SOURCE_TAG [30:10]
+| | |--START -> < [30:10]
+| | |--SOURCE_HTML_TAG_NAME -> source [30:11]
+| | `--SLASH_END -> /> [30:17]
+| |--TEXT -> [30:19]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [30:20]
+| |--START -> < [30:20]
+| |--SLASH -> / [30:21]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [30:22]
+| `--END -> > [30:27]
+|--NEWLINE -> \n [30:28]
+|--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [32:2]
+| `--SOURCE_TAG -> SOURCE_TAG [32:2]
+| |--START -> < [32:2]
+| |--SOURCE_HTML_TAG_NAME -> source [32:3]
+| `--END -> > [32:9]
+|--NEWLINE -> \n [32:10]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [33:2]
+| `--SOURCE_TAG -> SOURCE_TAG [33:2]
+| |--START -> < [33:2]
+| |--SOURCE_HTML_TAG_NAME -> source [33:3]
+| `--SLASH_END -> /> [33:9]
+|--NEWLINE -> \n [33:11]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [34:2]
+| `--SOURCE_TAG -> SOURCE_TAG [34:2]
+| |--START -> < [34:2]
+| |--SOURCE_HTML_TAG_NAME -> source [34:3]
+| |--WS -> [34:9]
+| |--ATTRIBUTE -> ATTRIBUTE [34:10]
+| | |--HTML_TAG_NAME -> attr [34:10]
+| | |--EQUALS -> = [34:14]
+| | `--ATTR_VALUE -> "something" [34:15]
+| `--END -> > [34:27]
+|--NEWLINE -> \n [34:28]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [35:2]
+| `--SOURCE_TAG -> SOURCE_TAG [35:2]
+| |--START -> < [35:2]
+| |--SOURCE_HTML_TAG_NAME -> source [35:3]
+| |--WS -> [35:9]
+| |--ATTRIBUTE -> ATTRIBUTE [35:10]
+| | |--HTML_TAG_NAME -> attr [35:10]
+| | |--EQUALS -> = [35:14]
+| | `--ATTR_VALUE -> "something" [35:15]
+| `--SLASH_END -> /> [35:27]
+|--NEWLINE -> \n [35:29]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [36:2]
+| `--SOURCE_TAG -> SOURCE_TAG [36:2]
+| |--START -> < [36:2]
+| |--SOURCE_HTML_TAG_NAME -> source [36:3]
+| |--WS -> [36:9]
+| |--ATTRIBUTE -> ATTRIBUTE [36:10]
+| | |--HTML_TAG_NAME -> attr [36:10]
+| | |--EQUALS -> = [36:14]
+| | `--ATTR_VALUE -> "something" [36:15]
+| |--WS -> [36:27]
+| |--ATTRIBUTE -> ATTRIBUTE [36:28]
+| | |--HTML_TAG_NAME -> attr2 [36:28]
+| | |--EQUALS -> = [36:33]
+| | `--ATTR_VALUE -> "someotherthing" [36:34]
+| `--END -> > [36:51]
+|--NEWLINE -> \n [36:52]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [37:2]
+| `--SOURCE_TAG -> SOURCE_TAG [37:2]
+| |--START -> < [37:2]
+| |--SOURCE_HTML_TAG_NAME -> source [37:3]
+| |--WS -> [37:9]
+| |--ATTRIBUTE -> ATTRIBUTE [37:10]
+| | |--HTML_TAG_NAME -> attr [37:10]
+| | |--EQUALS -> = [37:14]
+| | `--ATTR_VALUE -> "something" [37:15]
+| |--WS -> [37:27]
+| |--ATTRIBUTE -> ATTRIBUTE [37:28]
+| | |--HTML_TAG_NAME -> attr2 [37:28]
+| | |--EQUALS -> = [37:33]
+| | `--ATTR_VALUE -> "someotherthing" [37:34]
+| `--SLASH_END -> /> [37:51]
+|--NEWLINE -> \n [37:53]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [38:2]
+| `--SOURCE_TAG -> SOURCE_TAG [38:2]
+| |--START -> < [38:2]
+| |--SOURCE_HTML_TAG_NAME -> source [38:3]
+| |--WS -> [38:9]
+| |--ATTRIBUTE -> ATTRIBUTE [38:10]
+| | |--HTML_TAG_NAME -> attr [38:10]
+| | |--EQUALS -> = [38:14]
+| | `--ATTR_VALUE -> "something" [38:15]
+| |--WS -> [38:27]
+| |--NEWLINE -> \n [38:28]
+| |--LEADING_ASTERISK -> * [39:0]
+| |--WS -> [39:1]
+| |--ATTRIBUTE -> ATTRIBUTE [39:2]
+| | |--HTML_TAG_NAME -> attr2 [39:2]
+| | |--EQUALS -> = [39:7]
+| | `--ATTR_VALUE -> "someotherting" [39:8]
+| `--END -> > [39:24]
+|--NEWLINE -> \n [39:25]
+|--LEADING_ASTERISK -> * [40:0]
+|--TEXT -> [40:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [40:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [40:2]
+| `--SOURCE_TAG -> SOURCE_TAG [40:2]
+| |--START -> < [40:2]
+| |--SOURCE_HTML_TAG_NAME -> source [40:3]
+| |--WS -> [40:9]
+| |--ATTRIBUTE -> ATTRIBUTE [40:10]
+| | |--HTML_TAG_NAME -> attr [40:10]
+| | |--EQUALS -> = [40:14]
+| | `--ATTR_VALUE -> "something" [40:15]
+| |--WS -> [40:27]
+| |--NEWLINE -> \n [40:28]
+| |--LEADING_ASTERISK -> * [41:0]
+| |--WS -> [41:1]
+| |--ATTRIBUTE -> ATTRIBUTE [41:2]
+| | |--HTML_TAG_NAME -> attr2 [41:2]
+| | |--EQUALS -> = [41:7]
+| | `--ATTR_VALUE -> "someotherting" [41:8]
+| `--SLASH_END -> /> [41:24]
+`--EOF -> <EOF> [41:26]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementTrackAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementTrackAst.txt
new file mode 100644
index 000000000..de4b9296b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementTrackAst.txt
@@ -0,0 +1,761 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:6]
+| | `--TRACK_TAG -> TRACK_TAG [0:6]
+| | |--START -> < [0:6]
+| | |--TRACK_HTML_TAG_NAME -> track [0:7]
+| | `--END -> > [0:12]
+| |--TEXT -> [0:13]
+| `--P_TAG_END -> P_TAG_END [0:14]
+| |--START -> < [0:14]
+| |--SLASH -> / [0:15]
+| |--P_HTML_TAG_NAME -> p [0:16]
+| `--END -> > [0:17]
+|--NEWLINE -> \n [0:18]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> [1:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:7]
+| | `--TRACK_TAG -> TRACK_TAG [1:7]
+| | |--START -> < [1:7]
+| | |--TRACK_HTML_TAG_NAME -> track [1:8]
+| | `--END -> > [1:13]
+| |--TEXT -> [1:14]
+| `--LI_TAG_END -> LI_TAG_END [1:15]
+| |--START -> < [1:15]
+| |--SLASH -> / [1:16]
+| |--LI_HTML_TAG_NAME -> li [1:17]
+| `--END -> > [1:19]
+|--NEWLINE -> \n [1:20]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--TR -> TR [2:2]
+| |--TR_TAG_START -> TR_TAG_START [2:2]
+| | |--START -> < [2:2]
+| | |--TR_HTML_TAG_NAME -> tr [2:3]
+| | `--END -> > [2:5]
+| |--TEXT -> [2:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:7]
+| | `--TRACK_TAG -> TRACK_TAG [2:7]
+| | |--START -> < [2:7]
+| | |--TRACK_HTML_TAG_NAME -> track [2:8]
+| | `--END -> > [2:13]
+| |--TEXT -> [2:14]
+| `--TR_TAG_END -> TR_TAG_END [2:15]
+| |--START -> < [2:15]
+| |--SLASH -> / [2:16]
+| |--TR_HTML_TAG_NAME -> tr [2:17]
+| `--END -> > [2:19]
+|--NEWLINE -> \n [2:20]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--TD -> TD [3:2]
+| |--TD_TAG_START -> TD_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--TD_HTML_TAG_NAME -> td [3:3]
+| | `--END -> > [3:5]
+| |--TEXT -> [3:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:7]
+| | `--TRACK_TAG -> TRACK_TAG [3:7]
+| | |--START -> < [3:7]
+| | |--TRACK_HTML_TAG_NAME -> track [3:8]
+| | `--END -> > [3:13]
+| |--TEXT -> [3:14]
+| `--TD_TAG_END -> TD_TAG_END [3:15]
+| |--START -> < [3:15]
+| |--SLASH -> / [3:16]
+| |--TD_HTML_TAG_NAME -> td [3:17]
+| `--END -> > [3:19]
+|--NEWLINE -> \n [3:20]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TH -> TH [4:2]
+| |--TH_TAG_START -> TH_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TH_HTML_TAG_NAME -> th [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:7]
+| | `--TRACK_TAG -> TRACK_TAG [4:7]
+| | |--START -> < [4:7]
+| | |--TRACK_HTML_TAG_NAME -> track [4:8]
+| | `--END -> > [4:13]
+| |--TEXT -> [4:14]
+| `--TH_TAG_END -> TH_TAG_END [4:15]
+| |--START -> < [4:15]
+| |--SLASH -> / [4:16]
+| |--TH_HTML_TAG_NAME -> th [4:17]
+| `--END -> > [4:19]
+|--NEWLINE -> \n [4:20]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--BODY -> BODY [5:2]
+| |--BODY_TAG_START -> BODY_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--BODY_HTML_TAG_NAME -> body [5:3]
+| | `--END -> > [5:7]
+| |--TEXT -> [5:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:9]
+| | `--TRACK_TAG -> TRACK_TAG [5:9]
+| | |--START -> < [5:9]
+| | |--TRACK_HTML_TAG_NAME -> track [5:10]
+| | `--END -> > [5:15]
+| |--TEXT -> [5:16]
+| `--BODY_TAG_END -> BODY_TAG_END [5:17]
+| |--START -> < [5:17]
+| |--SLASH -> / [5:18]
+| |--BODY_HTML_TAG_NAME -> body [5:19]
+| `--END -> > [5:23]
+|--NEWLINE -> \n [5:24]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--COLGROUP -> COLGROUP [6:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [6:3]
+| | `--END -> > [6:11]
+| |--TEXT -> [6:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:13]
+| | `--TRACK_TAG -> TRACK_TAG [6:13]
+| | |--START -> < [6:13]
+| | |--TRACK_HTML_TAG_NAME -> track [6:14]
+| | `--END -> > [6:19]
+| |--TEXT -> [6:20]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [6:21]
+| |--START -> < [6:21]
+| |--SLASH -> / [6:22]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [6:23]
+| `--END -> > [6:31]
+|--NEWLINE -> \n [6:32]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--DD -> DD [7:2]
+| |--DD_TAG_START -> DD_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--DD_HTML_TAG_NAME -> dd [7:3]
+| | `--END -> > [7:5]
+| |--TEXT -> [7:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:7]
+| | `--TRACK_TAG -> TRACK_TAG [7:7]
+| | |--START -> < [7:7]
+| | |--TRACK_HTML_TAG_NAME -> track [7:8]
+| | `--END -> > [7:13]
+| |--TEXT -> [7:14]
+| `--DD_TAG_END -> DD_TAG_END [7:15]
+| |--START -> < [7:15]
+| |--SLASH -> / [7:16]
+| |--DD_HTML_TAG_NAME -> dd [7:17]
+| `--END -> > [7:19]
+|--NEWLINE -> \n [7:20]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--DT -> DT [8:2]
+| |--DT_TAG_START -> DT_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--DT_HTML_TAG_NAME -> dt [8:3]
+| | `--END -> > [8:5]
+| |--TEXT -> [8:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:7]
+| | `--TRACK_TAG -> TRACK_TAG [8:7]
+| | |--START -> < [8:7]
+| | |--TRACK_HTML_TAG_NAME -> track [8:8]
+| | `--END -> > [8:13]
+| |--TEXT -> [8:14]
+| `--DT_TAG_END -> DT_TAG_END [8:15]
+| |--START -> < [8:15]
+| |--SLASH -> / [8:16]
+| |--DT_HTML_TAG_NAME -> dt [8:17]
+| `--END -> > [8:19]
+|--NEWLINE -> \n [8:20]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--HEAD -> HEAD [9:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--HEAD_HTML_TAG_NAME -> head [9:3]
+| | `--END -> > [9:7]
+| |--TEXT -> [9:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:9]
+| | `--TRACK_TAG -> TRACK_TAG [9:9]
+| | |--START -> < [9:9]
+| | |--TRACK_HTML_TAG_NAME -> track [9:10]
+| | `--END -> > [9:15]
+| |--TEXT -> [9:16]
+| `--HEAD_TAG_END -> HEAD_TAG_END [9:17]
+| |--START -> < [9:17]
+| |--SLASH -> / [9:18]
+| |--HEAD_HTML_TAG_NAME -> head [9:19]
+| `--END -> > [9:23]
+|--NEWLINE -> \n [9:24]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--HTML -> HTML [10:2]
+| |--HTML_TAG_START -> HTML_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--HTML_HTML_TAG_NAME -> html [10:3]
+| | `--END -> > [10:7]
+| |--TEXT -> [10:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:9]
+| | `--TRACK_TAG -> TRACK_TAG [10:9]
+| | |--START -> < [10:9]
+| | |--TRACK_HTML_TAG_NAME -> track [10:10]
+| | `--END -> > [10:15]
+| |--TEXT -> [10:16]
+| `--HTML_TAG_END -> HTML_TAG_END [10:17]
+| |--START -> < [10:17]
+| |--SLASH -> / [10:18]
+| |--HTML_HTML_TAG_NAME -> html [10:19]
+| `--END -> > [10:23]
+|--NEWLINE -> \n [10:24]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--OPTION -> OPTION [11:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--OPTION_HTML_TAG_NAME -> option [11:3]
+| | `--END -> > [11:9]
+| |--TEXT -> [11:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:11]
+| | `--TRACK_TAG -> TRACK_TAG [11:11]
+| | |--START -> < [11:11]
+| | |--TRACK_HTML_TAG_NAME -> track [11:12]
+| | `--END -> > [11:17]
+| |--TEXT -> [11:18]
+| `--OPTION_TAG_END -> OPTION_TAG_END [11:19]
+| |--START -> < [11:19]
+| |--SLASH -> / [11:20]
+| |--OPTION_HTML_TAG_NAME -> option [11:21]
+| `--END -> > [11:27]
+|--NEWLINE -> \n [11:28]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--TBODY -> TBODY [12:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [12:3]
+| | `--END -> > [12:8]
+| |--TEXT -> [12:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:10]
+| | `--TRACK_TAG -> TRACK_TAG [12:10]
+| | |--START -> < [12:10]
+| | |--TRACK_HTML_TAG_NAME -> track [12:11]
+| | `--END -> > [12:16]
+| |--TEXT -> [12:17]
+| `--TBODY_TAG_END -> TBODY_TAG_END [12:18]
+| |--START -> < [12:18]
+| |--SLASH -> / [12:19]
+| |--TBODY_HTML_TAG_NAME -> tbody [12:20]
+| `--END -> > [12:25]
+|--NEWLINE -> \n [12:26]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--THEAD -> THEAD [13:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [13:3]
+| | `--END -> > [13:8]
+| |--TEXT -> [13:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:10]
+| | `--TRACK_TAG -> TRACK_TAG [13:10]
+| | |--START -> < [13:10]
+| | |--TRACK_HTML_TAG_NAME -> track [13:11]
+| | `--END -> > [13:16]
+| |--TEXT -> [13:17]
+| `--THEAD_TAG_END -> THEAD_TAG_END [13:18]
+| |--START -> < [13:18]
+| |--SLASH -> / [13:19]
+| |--THEAD_HTML_TAG_NAME -> thead [13:20]
+| `--END -> > [13:25]
+|--NEWLINE -> \n [13:26]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--TFOOT -> TFOOT [14:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [14:3]
+| | `--END -> > [14:8]
+| |--TEXT -> [14:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:10]
+| | `--TRACK_TAG -> TRACK_TAG [14:10]
+| | |--START -> < [14:10]
+| | |--TRACK_HTML_TAG_NAME -> track [14:11]
+| | `--END -> > [14:16]
+| |--TEXT -> [14:17]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [14:18]
+| |--START -> < [14:18]
+| |--SLASH -> / [14:19]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [14:20]
+| `--END -> > [14:25]
+|--NEWLINE -> \n [14:26]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> p [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:6]
+| | `--TRACK_TAG -> TRACK_TAG [16:6]
+| | |--START -> < [16:6]
+| | |--TRACK_HTML_TAG_NAME -> track [16:7]
+| | `--SLASH_END -> /> [16:12]
+| |--TEXT -> [16:14]
+| `--P_TAG_END -> P_TAG_END [16:15]
+| |--START -> < [16:15]
+| |--SLASH -> / [16:16]
+| |--P_HTML_TAG_NAME -> p [16:17]
+| `--END -> > [16:18]
+|--NEWLINE -> \n [16:19]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--LI -> LI [17:2]
+| |--LI_TAG_START -> LI_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--LI_HTML_TAG_NAME -> li [17:3]
+| | `--END -> > [17:5]
+| |--TEXT -> [17:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:7]
+| | `--TRACK_TAG -> TRACK_TAG [17:7]
+| | |--START -> < [17:7]
+| | |--TRACK_HTML_TAG_NAME -> track [17:8]
+| | `--SLASH_END -> /> [17:13]
+| |--TEXT -> [17:15]
+| `--LI_TAG_END -> LI_TAG_END [17:16]
+| |--START -> < [17:16]
+| |--SLASH -> / [17:17]
+| |--LI_HTML_TAG_NAME -> li [17:18]
+| `--END -> > [17:20]
+|--NEWLINE -> \n [17:21]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TR -> TR [18:2]
+| |--TR_TAG_START -> TR_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TR_HTML_TAG_NAME -> tr [18:3]
+| | `--END -> > [18:5]
+| |--TEXT -> [18:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:7]
+| | `--TRACK_TAG -> TRACK_TAG [18:7]
+| | |--START -> < [18:7]
+| | |--TRACK_HTML_TAG_NAME -> track [18:8]
+| | `--SLASH_END -> /> [18:13]
+| |--TEXT -> [18:15]
+| `--TR_TAG_END -> TR_TAG_END [18:16]
+| |--START -> < [18:16]
+| |--SLASH -> / [18:17]
+| |--TR_HTML_TAG_NAME -> tr [18:18]
+| `--END -> > [18:20]
+|--NEWLINE -> \n [18:21]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--TD -> TD [19:2]
+| |--TD_TAG_START -> TD_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--TD_HTML_TAG_NAME -> td [19:3]
+| | `--END -> > [19:5]
+| |--TEXT -> [19:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:7]
+| | `--TRACK_TAG -> TRACK_TAG [19:7]
+| | |--START -> < [19:7]
+| | |--TRACK_HTML_TAG_NAME -> track [19:8]
+| | `--SLASH_END -> /> [19:13]
+| |--TEXT -> [19:15]
+| `--TD_TAG_END -> TD_TAG_END [19:16]
+| |--START -> < [19:16]
+| |--SLASH -> / [19:17]
+| |--TD_HTML_TAG_NAME -> td [19:18]
+| `--END -> > [19:20]
+|--NEWLINE -> \n [19:21]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--TH -> TH [20:2]
+| |--TH_TAG_START -> TH_TAG_START [20:2]
+| | |--START -> < [20:2]
+| | |--TH_HTML_TAG_NAME -> th [20:3]
+| | `--END -> > [20:5]
+| |--TEXT -> [20:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:7]
+| | `--TRACK_TAG -> TRACK_TAG [20:7]
+| | |--START -> < [20:7]
+| | |--TRACK_HTML_TAG_NAME -> track [20:8]
+| | `--SLASH_END -> /> [20:13]
+| |--TEXT -> [20:15]
+| `--TH_TAG_END -> TH_TAG_END [20:16]
+| |--START -> < [20:16]
+| |--SLASH -> / [20:17]
+| |--TH_HTML_TAG_NAME -> th [20:18]
+| `--END -> > [20:20]
+|--NEWLINE -> \n [20:21]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--BODY -> BODY [21:2]
+| |--BODY_TAG_START -> BODY_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--BODY_HTML_TAG_NAME -> body [21:3]
+| | `--END -> > [21:7]
+| |--TEXT -> [21:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:9]
+| | `--TRACK_TAG -> TRACK_TAG [21:9]
+| | |--START -> < [21:9]
+| | |--TRACK_HTML_TAG_NAME -> track [21:10]
+| | `--SLASH_END -> /> [21:15]
+| |--TEXT -> [21:17]
+| `--BODY_TAG_END -> BODY_TAG_END [21:18]
+| |--START -> < [21:18]
+| |--SLASH -> / [21:19]
+| |--BODY_HTML_TAG_NAME -> body [21:20]
+| `--END -> > [21:24]
+|--NEWLINE -> \n [21:25]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--COLGROUP -> COLGROUP [22:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [22:3]
+| | `--END -> > [22:11]
+| |--TEXT -> [22:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:13]
+| | `--TRACK_TAG -> TRACK_TAG [22:13]
+| | |--START -> < [22:13]
+| | |--TRACK_HTML_TAG_NAME -> track [22:14]
+| | `--SLASH_END -> /> [22:19]
+| |--TEXT -> [22:21]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [22:22]
+| |--START -> < [22:22]
+| |--SLASH -> / [22:23]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [22:24]
+| `--END -> > [22:32]
+|--NEWLINE -> \n [22:33]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--DD -> DD [23:2]
+| |--DD_TAG_START -> DD_TAG_START [23:2]
+| | |--START -> < [23:2]
+| | |--DD_HTML_TAG_NAME -> dd [23:3]
+| | `--END -> > [23:5]
+| |--TEXT -> [23:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:7]
+| | `--TRACK_TAG -> TRACK_TAG [23:7]
+| | |--START -> < [23:7]
+| | |--TRACK_HTML_TAG_NAME -> track [23:8]
+| | `--SLASH_END -> /> [23:13]
+| |--TEXT -> [23:15]
+| `--DD_TAG_END -> DD_TAG_END [23:16]
+| |--START -> < [23:16]
+| |--SLASH -> / [23:17]
+| |--DD_HTML_TAG_NAME -> dd [23:18]
+| `--END -> > [23:20]
+|--NEWLINE -> \n [23:21]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--DT -> DT [24:2]
+| |--DT_TAG_START -> DT_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--DT_HTML_TAG_NAME -> dt [24:3]
+| | `--END -> > [24:5]
+| |--TEXT -> [24:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:7]
+| | `--TRACK_TAG -> TRACK_TAG [24:7]
+| | |--START -> < [24:7]
+| | |--TRACK_HTML_TAG_NAME -> track [24:8]
+| | `--SLASH_END -> /> [24:13]
+| |--TEXT -> [24:15]
+| `--DT_TAG_END -> DT_TAG_END [24:16]
+| |--START -> < [24:16]
+| |--SLASH -> / [24:17]
+| |--DT_HTML_TAG_NAME -> dt [24:18]
+| `--END -> > [24:20]
+|--NEWLINE -> \n [24:21]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--HEAD -> HEAD [25:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--HEAD_HTML_TAG_NAME -> head [25:3]
+| | `--END -> > [25:7]
+| |--TEXT -> [25:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:9]
+| | `--TRACK_TAG -> TRACK_TAG [25:9]
+| | |--START -> < [25:9]
+| | |--TRACK_HTML_TAG_NAME -> track [25:10]
+| | `--SLASH_END -> /> [25:15]
+| |--TEXT -> [25:17]
+| `--HEAD_TAG_END -> HEAD_TAG_END [25:18]
+| |--START -> < [25:18]
+| |--SLASH -> / [25:19]
+| |--HEAD_HTML_TAG_NAME -> head [25:20]
+| `--END -> > [25:24]
+|--NEWLINE -> \n [25:25]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--HTML -> HTML [26:2]
+| |--HTML_TAG_START -> HTML_TAG_START [26:2]
+| | |--START -> < [26:2]
+| | |--HTML_HTML_TAG_NAME -> html [26:3]
+| | `--END -> > [26:7]
+| |--TEXT -> [26:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:9]
+| | `--TRACK_TAG -> TRACK_TAG [26:9]
+| | |--START -> < [26:9]
+| | |--TRACK_HTML_TAG_NAME -> track [26:10]
+| | `--SLASH_END -> /> [26:15]
+| |--TEXT -> [26:17]
+| `--HTML_TAG_END -> HTML_TAG_END [26:18]
+| |--START -> < [26:18]
+| |--SLASH -> / [26:19]
+| |--HTML_HTML_TAG_NAME -> html [26:20]
+| `--END -> > [26:24]
+|--NEWLINE -> \n [26:25]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--OPTION -> OPTION [27:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--OPTION_HTML_TAG_NAME -> option [27:3]
+| | `--END -> > [27:9]
+| |--TEXT -> [27:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:11]
+| | `--TRACK_TAG -> TRACK_TAG [27:11]
+| | |--START -> < [27:11]
+| | |--TRACK_HTML_TAG_NAME -> track [27:12]
+| | `--SLASH_END -> /> [27:17]
+| |--TEXT -> [27:19]
+| `--OPTION_TAG_END -> OPTION_TAG_END [27:20]
+| |--START -> < [27:20]
+| |--SLASH -> / [27:21]
+| |--OPTION_HTML_TAG_NAME -> option [27:22]
+| `--END -> > [27:28]
+|--NEWLINE -> \n [27:29]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--TBODY -> TBODY [28:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [28:3]
+| | `--END -> > [28:8]
+| |--TEXT -> [28:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:10]
+| | `--TRACK_TAG -> TRACK_TAG [28:10]
+| | |--START -> < [28:10]
+| | |--TRACK_HTML_TAG_NAME -> track [28:11]
+| | `--SLASH_END -> /> [28:16]
+| |--TEXT -> [28:18]
+| `--TBODY_TAG_END -> TBODY_TAG_END [28:19]
+| |--START -> < [28:19]
+| |--SLASH -> / [28:20]
+| |--TBODY_HTML_TAG_NAME -> tbody [28:21]
+| `--END -> > [28:26]
+|--NEWLINE -> \n [28:27]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--THEAD -> THEAD [29:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [29:2]
+| | |--START -> < [29:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [29:3]
+| | `--END -> > [29:8]
+| |--TEXT -> [29:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [29:10]
+| | `--TRACK_TAG -> TRACK_TAG [29:10]
+| | |--START -> < [29:10]
+| | |--TRACK_HTML_TAG_NAME -> track [29:11]
+| | `--SLASH_END -> /> [29:16]
+| |--TEXT -> [29:18]
+| `--THEAD_TAG_END -> THEAD_TAG_END [29:19]
+| |--START -> < [29:19]
+| |--SLASH -> / [29:20]
+| |--THEAD_HTML_TAG_NAME -> thead [29:21]
+| `--END -> > [29:26]
+|--NEWLINE -> \n [29:27]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--TFOOT -> TFOOT [30:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [30:3]
+| | `--END -> > [30:8]
+| |--TEXT -> [30:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [30:10]
+| | `--TRACK_TAG -> TRACK_TAG [30:10]
+| | |--START -> < [30:10]
+| | |--TRACK_HTML_TAG_NAME -> track [30:11]
+| | `--SLASH_END -> /> [30:16]
+| |--TEXT -> [30:18]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [30:19]
+| |--START -> < [30:19]
+| |--SLASH -> / [30:20]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [30:21]
+| `--END -> > [30:26]
+|--NEWLINE -> \n [30:27]
+|--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [32:2]
+| `--TRACK_TAG -> TRACK_TAG [32:2]
+| |--START -> < [32:2]
+| |--TRACK_HTML_TAG_NAME -> track [32:3]
+| `--END -> > [32:8]
+|--NEWLINE -> \n [32:9]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [33:2]
+| `--TRACK_TAG -> TRACK_TAG [33:2]
+| |--START -> < [33:2]
+| |--TRACK_HTML_TAG_NAME -> track [33:3]
+| `--SLASH_END -> /> [33:8]
+|--NEWLINE -> \n [33:10]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [34:2]
+| `--TRACK_TAG -> TRACK_TAG [34:2]
+| |--START -> < [34:2]
+| |--TRACK_HTML_TAG_NAME -> track [34:3]
+| |--WS -> [34:8]
+| |--ATTRIBUTE -> ATTRIBUTE [34:9]
+| | |--HTML_TAG_NAME -> attr [34:9]
+| | |--EQUALS -> = [34:13]
+| | `--ATTR_VALUE -> "something" [34:14]
+| `--END -> > [34:26]
+|--NEWLINE -> \n [34:27]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [35:2]
+| `--TRACK_TAG -> TRACK_TAG [35:2]
+| |--START -> < [35:2]
+| |--TRACK_HTML_TAG_NAME -> track [35:3]
+| |--WS -> [35:8]
+| |--ATTRIBUTE -> ATTRIBUTE [35:9]
+| | |--HTML_TAG_NAME -> attr [35:9]
+| | |--EQUALS -> = [35:13]
+| | `--ATTR_VALUE -> "something" [35:14]
+| `--SLASH_END -> /> [35:26]
+|--NEWLINE -> \n [35:28]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [36:2]
+| `--TRACK_TAG -> TRACK_TAG [36:2]
+| |--START -> < [36:2]
+| |--TRACK_HTML_TAG_NAME -> track [36:3]
+| |--WS -> [36:8]
+| |--ATTRIBUTE -> ATTRIBUTE [36:9]
+| | |--HTML_TAG_NAME -> attr [36:9]
+| | |--EQUALS -> = [36:13]
+| | `--ATTR_VALUE -> "something" [36:14]
+| |--WS -> [36:26]
+| |--ATTRIBUTE -> ATTRIBUTE [36:27]
+| | |--HTML_TAG_NAME -> attr2 [36:27]
+| | |--EQUALS -> = [36:32]
+| | `--ATTR_VALUE -> "someotherthing" [36:33]
+| `--END -> > [36:50]
+|--NEWLINE -> \n [36:51]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [37:2]
+| `--TRACK_TAG -> TRACK_TAG [37:2]
+| |--START -> < [37:2]
+| |--TRACK_HTML_TAG_NAME -> track [37:3]
+| |--WS -> [37:8]
+| |--ATTRIBUTE -> ATTRIBUTE [37:9]
+| | |--HTML_TAG_NAME -> attr [37:9]
+| | |--EQUALS -> = [37:13]
+| | `--ATTR_VALUE -> "something" [37:14]
+| |--WS -> [37:26]
+| |--ATTRIBUTE -> ATTRIBUTE [37:27]
+| | |--HTML_TAG_NAME -> attr2 [37:27]
+| | |--EQUALS -> = [37:32]
+| | `--ATTR_VALUE -> "someotherthing" [37:33]
+| `--SLASH_END -> /> [37:50]
+|--NEWLINE -> \n [37:52]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [38:2]
+| `--TRACK_TAG -> TRACK_TAG [38:2]
+| |--START -> < [38:2]
+| |--TRACK_HTML_TAG_NAME -> track [38:3]
+| |--WS -> [38:8]
+| |--ATTRIBUTE -> ATTRIBUTE [38:9]
+| | |--HTML_TAG_NAME -> attr [38:9]
+| | |--EQUALS -> = [38:13]
+| | `--ATTR_VALUE -> "something" [38:14]
+| |--WS -> [38:26]
+| |--NEWLINE -> \n [38:27]
+| |--LEADING_ASTERISK -> * [39:0]
+| |--WS -> [39:1]
+| |--ATTRIBUTE -> ATTRIBUTE [39:2]
+| | |--HTML_TAG_NAME -> attr2 [39:2]
+| | |--EQUALS -> = [39:7]
+| | `--ATTR_VALUE -> "someotherting" [39:8]
+| `--END -> > [39:24]
+|--NEWLINE -> \n [39:25]
+|--LEADING_ASTERISK -> * [40:0]
+|--TEXT -> [40:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [40:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [40:2]
+| `--TRACK_TAG -> TRACK_TAG [40:2]
+| |--START -> < [40:2]
+| |--TRACK_HTML_TAG_NAME -> track [40:3]
+| |--WS -> [40:8]
+| |--ATTRIBUTE -> ATTRIBUTE [40:9]
+| | |--HTML_TAG_NAME -> attr [40:9]
+| | |--EQUALS -> = [40:13]
+| | `--ATTR_VALUE -> "something" [40:14]
+| |--WS -> [40:26]
+| |--NEWLINE -> \n [40:27]
+| |--LEADING_ASTERISK -> * [41:0]
+| |--WS -> [41:1]
+| |--ATTRIBUTE -> ATTRIBUTE [41:2]
+| | |--HTML_TAG_NAME -> attr2 [41:2]
+| | |--EQUALS -> = [41:7]
+| | `--ATTR_VALUE -> "someotherting" [41:8]
+| `--SLASH_END -> /> [41:24]
+`--EOF -> <EOF> [41:26]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementWbrAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementWbrAst.txt
new file mode 100644
index 000000000..252000f4e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedHtmlVoidElementWbrAst.txt
@@ -0,0 +1,761 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:6]
+| | `--WBR_TAG -> WBR_TAG [0:6]
+| | |--START -> < [0:6]
+| | |--WBR_HTML_TAG_NAME -> wbr [0:7]
+| | `--END -> > [0:10]
+| |--TEXT -> [0:11]
+| `--P_TAG_END -> P_TAG_END [0:12]
+| |--START -> < [0:12]
+| |--SLASH -> / [0:13]
+| |--P_HTML_TAG_NAME -> p [0:14]
+| `--END -> > [0:15]
+|--NEWLINE -> \n [0:16]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> [1:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:7]
+| | `--WBR_TAG -> WBR_TAG [1:7]
+| | |--START -> < [1:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [1:8]
+| | `--END -> > [1:11]
+| |--TEXT -> [1:12]
+| `--LI_TAG_END -> LI_TAG_END [1:13]
+| |--START -> < [1:13]
+| |--SLASH -> / [1:14]
+| |--LI_HTML_TAG_NAME -> li [1:15]
+| `--END -> > [1:17]
+|--NEWLINE -> \n [1:18]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--TR -> TR [2:2]
+| |--TR_TAG_START -> TR_TAG_START [2:2]
+| | |--START -> < [2:2]
+| | |--TR_HTML_TAG_NAME -> tr [2:3]
+| | `--END -> > [2:5]
+| |--TEXT -> [2:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:7]
+| | `--WBR_TAG -> WBR_TAG [2:7]
+| | |--START -> < [2:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [2:8]
+| | `--END -> > [2:11]
+| |--TEXT -> [2:12]
+| `--TR_TAG_END -> TR_TAG_END [2:13]
+| |--START -> < [2:13]
+| |--SLASH -> / [2:14]
+| |--TR_HTML_TAG_NAME -> tr [2:15]
+| `--END -> > [2:17]
+|--NEWLINE -> \n [2:18]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--TD -> TD [3:2]
+| |--TD_TAG_START -> TD_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--TD_HTML_TAG_NAME -> td [3:3]
+| | `--END -> > [3:5]
+| |--TEXT -> [3:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:7]
+| | `--WBR_TAG -> WBR_TAG [3:7]
+| | |--START -> < [3:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [3:8]
+| | `--END -> > [3:11]
+| |--TEXT -> [3:12]
+| `--TD_TAG_END -> TD_TAG_END [3:13]
+| |--START -> < [3:13]
+| |--SLASH -> / [3:14]
+| |--TD_HTML_TAG_NAME -> td [3:15]
+| `--END -> > [3:17]
+|--NEWLINE -> \n [3:18]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TH -> TH [4:2]
+| |--TH_TAG_START -> TH_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TH_HTML_TAG_NAME -> th [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:7]
+| | `--WBR_TAG -> WBR_TAG [4:7]
+| | |--START -> < [4:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [4:8]
+| | `--END -> > [4:11]
+| |--TEXT -> [4:12]
+| `--TH_TAG_END -> TH_TAG_END [4:13]
+| |--START -> < [4:13]
+| |--SLASH -> / [4:14]
+| |--TH_HTML_TAG_NAME -> th [4:15]
+| `--END -> > [4:17]
+|--NEWLINE -> \n [4:18]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--BODY -> BODY [5:2]
+| |--BODY_TAG_START -> BODY_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--BODY_HTML_TAG_NAME -> body [5:3]
+| | `--END -> > [5:7]
+| |--TEXT -> [5:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:9]
+| | `--WBR_TAG -> WBR_TAG [5:9]
+| | |--START -> < [5:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [5:10]
+| | `--END -> > [5:13]
+| |--TEXT -> [5:14]
+| `--BODY_TAG_END -> BODY_TAG_END [5:15]
+| |--START -> < [5:15]
+| |--SLASH -> / [5:16]
+| |--BODY_HTML_TAG_NAME -> body [5:17]
+| `--END -> > [5:21]
+|--NEWLINE -> \n [5:22]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--COLGROUP -> COLGROUP [6:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [6:3]
+| | `--END -> > [6:11]
+| |--TEXT -> [6:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:13]
+| | `--WBR_TAG -> WBR_TAG [6:13]
+| | |--START -> < [6:13]
+| | |--WBR_HTML_TAG_NAME -> wbr [6:14]
+| | `--END -> > [6:17]
+| |--TEXT -> [6:18]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [6:19]
+| |--START -> < [6:19]
+| |--SLASH -> / [6:20]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [6:21]
+| `--END -> > [6:29]
+|--NEWLINE -> \n [6:30]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--DD -> DD [7:2]
+| |--DD_TAG_START -> DD_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--DD_HTML_TAG_NAME -> dd [7:3]
+| | `--END -> > [7:5]
+| |--TEXT -> [7:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:7]
+| | `--WBR_TAG -> WBR_TAG [7:7]
+| | |--START -> < [7:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [7:8]
+| | `--END -> > [7:11]
+| |--TEXT -> [7:12]
+| `--DD_TAG_END -> DD_TAG_END [7:13]
+| |--START -> < [7:13]
+| |--SLASH -> / [7:14]
+| |--DD_HTML_TAG_NAME -> dd [7:15]
+| `--END -> > [7:17]
+|--NEWLINE -> \n [7:18]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--DT -> DT [8:2]
+| |--DT_TAG_START -> DT_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--DT_HTML_TAG_NAME -> dt [8:3]
+| | `--END -> > [8:5]
+| |--TEXT -> [8:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:7]
+| | `--WBR_TAG -> WBR_TAG [8:7]
+| | |--START -> < [8:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [8:8]
+| | `--END -> > [8:11]
+| |--TEXT -> [8:12]
+| `--DT_TAG_END -> DT_TAG_END [8:13]
+| |--START -> < [8:13]
+| |--SLASH -> / [8:14]
+| |--DT_HTML_TAG_NAME -> dt [8:15]
+| `--END -> > [8:17]
+|--NEWLINE -> \n [8:18]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--HEAD -> HEAD [9:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--HEAD_HTML_TAG_NAME -> head [9:3]
+| | `--END -> > [9:7]
+| |--TEXT -> [9:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:9]
+| | `--WBR_TAG -> WBR_TAG [9:9]
+| | |--START -> < [9:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [9:10]
+| | `--END -> > [9:13]
+| |--TEXT -> [9:14]
+| `--HEAD_TAG_END -> HEAD_TAG_END [9:15]
+| |--START -> < [9:15]
+| |--SLASH -> / [9:16]
+| |--HEAD_HTML_TAG_NAME -> head [9:17]
+| `--END -> > [9:21]
+|--NEWLINE -> \n [9:22]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--HTML -> HTML [10:2]
+| |--HTML_TAG_START -> HTML_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--HTML_HTML_TAG_NAME -> html [10:3]
+| | `--END -> > [10:7]
+| |--TEXT -> [10:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:9]
+| | `--WBR_TAG -> WBR_TAG [10:9]
+| | |--START -> < [10:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [10:10]
+| | `--END -> > [10:13]
+| |--TEXT -> [10:14]
+| `--HTML_TAG_END -> HTML_TAG_END [10:15]
+| |--START -> < [10:15]
+| |--SLASH -> / [10:16]
+| |--HTML_HTML_TAG_NAME -> html [10:17]
+| `--END -> > [10:21]
+|--NEWLINE -> \n [10:22]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--OPTION -> OPTION [11:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--OPTION_HTML_TAG_NAME -> option [11:3]
+| | `--END -> > [11:9]
+| |--TEXT -> [11:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:11]
+| | `--WBR_TAG -> WBR_TAG [11:11]
+| | |--START -> < [11:11]
+| | |--WBR_HTML_TAG_NAME -> wbr [11:12]
+| | `--END -> > [11:15]
+| |--TEXT -> [11:16]
+| `--OPTION_TAG_END -> OPTION_TAG_END [11:17]
+| |--START -> < [11:17]
+| |--SLASH -> / [11:18]
+| |--OPTION_HTML_TAG_NAME -> option [11:19]
+| `--END -> > [11:25]
+|--NEWLINE -> \n [11:26]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--TBODY -> TBODY [12:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [12:3]
+| | `--END -> > [12:8]
+| |--TEXT -> [12:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:10]
+| | `--WBR_TAG -> WBR_TAG [12:10]
+| | |--START -> < [12:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [12:11]
+| | `--END -> > [12:14]
+| |--TEXT -> [12:15]
+| `--TBODY_TAG_END -> TBODY_TAG_END [12:16]
+| |--START -> < [12:16]
+| |--SLASH -> / [12:17]
+| |--TBODY_HTML_TAG_NAME -> tbody [12:18]
+| `--END -> > [12:23]
+|--NEWLINE -> \n [12:24]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--THEAD -> THEAD [13:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [13:3]
+| | `--END -> > [13:8]
+| |--TEXT -> [13:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:10]
+| | `--WBR_TAG -> WBR_TAG [13:10]
+| | |--START -> < [13:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [13:11]
+| | `--END -> > [13:14]
+| |--TEXT -> [13:15]
+| `--THEAD_TAG_END -> THEAD_TAG_END [13:16]
+| |--START -> < [13:16]
+| |--SLASH -> / [13:17]
+| |--THEAD_HTML_TAG_NAME -> thead [13:18]
+| `--END -> > [13:23]
+|--NEWLINE -> \n [13:24]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--TFOOT -> TFOOT [14:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [14:3]
+| | `--END -> > [14:8]
+| |--TEXT -> [14:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:10]
+| | `--WBR_TAG -> WBR_TAG [14:10]
+| | |--START -> < [14:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [14:11]
+| | `--END -> > [14:14]
+| |--TEXT -> [14:15]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [14:16]
+| |--START -> < [14:16]
+| |--SLASH -> / [14:17]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [14:18]
+| `--END -> > [14:23]
+|--NEWLINE -> \n [14:24]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> p [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:6]
+| | `--WBR_TAG -> WBR_TAG [16:6]
+| | |--START -> < [16:6]
+| | |--WBR_HTML_TAG_NAME -> wbr [16:7]
+| | `--SLASH_END -> /> [16:10]
+| |--TEXT -> [16:12]
+| `--P_TAG_END -> P_TAG_END [16:13]
+| |--START -> < [16:13]
+| |--SLASH -> / [16:14]
+| |--P_HTML_TAG_NAME -> p [16:15]
+| `--END -> > [16:16]
+|--NEWLINE -> \n [16:17]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--LI -> LI [17:2]
+| |--LI_TAG_START -> LI_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--LI_HTML_TAG_NAME -> li [17:3]
+| | `--END -> > [17:5]
+| |--TEXT -> [17:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:7]
+| | `--WBR_TAG -> WBR_TAG [17:7]
+| | |--START -> < [17:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [17:8]
+| | `--SLASH_END -> /> [17:11]
+| |--TEXT -> [17:13]
+| `--LI_TAG_END -> LI_TAG_END [17:14]
+| |--START -> < [17:14]
+| |--SLASH -> / [17:15]
+| |--LI_HTML_TAG_NAME -> li [17:16]
+| `--END -> > [17:18]
+|--NEWLINE -> \n [17:19]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TR -> TR [18:2]
+| |--TR_TAG_START -> TR_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TR_HTML_TAG_NAME -> tr [18:3]
+| | `--END -> > [18:5]
+| |--TEXT -> [18:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:7]
+| | `--WBR_TAG -> WBR_TAG [18:7]
+| | |--START -> < [18:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [18:8]
+| | `--SLASH_END -> /> [18:11]
+| |--TEXT -> [18:13]
+| `--TR_TAG_END -> TR_TAG_END [18:14]
+| |--START -> < [18:14]
+| |--SLASH -> / [18:15]
+| |--TR_HTML_TAG_NAME -> tr [18:16]
+| `--END -> > [18:18]
+|--NEWLINE -> \n [18:19]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--TD -> TD [19:2]
+| |--TD_TAG_START -> TD_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--TD_HTML_TAG_NAME -> td [19:3]
+| | `--END -> > [19:5]
+| |--TEXT -> [19:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:7]
+| | `--WBR_TAG -> WBR_TAG [19:7]
+| | |--START -> < [19:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [19:8]
+| | `--SLASH_END -> /> [19:11]
+| |--TEXT -> [19:13]
+| `--TD_TAG_END -> TD_TAG_END [19:14]
+| |--START -> < [19:14]
+| |--SLASH -> / [19:15]
+| |--TD_HTML_TAG_NAME -> td [19:16]
+| `--END -> > [19:18]
+|--NEWLINE -> \n [19:19]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--TH -> TH [20:2]
+| |--TH_TAG_START -> TH_TAG_START [20:2]
+| | |--START -> < [20:2]
+| | |--TH_HTML_TAG_NAME -> th [20:3]
+| | `--END -> > [20:5]
+| |--TEXT -> [20:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:7]
+| | `--WBR_TAG -> WBR_TAG [20:7]
+| | |--START -> < [20:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [20:8]
+| | `--SLASH_END -> /> [20:11]
+| |--TEXT -> [20:13]
+| `--TH_TAG_END -> TH_TAG_END [20:14]
+| |--START -> < [20:14]
+| |--SLASH -> / [20:15]
+| |--TH_HTML_TAG_NAME -> th [20:16]
+| `--END -> > [20:18]
+|--NEWLINE -> \n [20:19]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--BODY -> BODY [21:2]
+| |--BODY_TAG_START -> BODY_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--BODY_HTML_TAG_NAME -> body [21:3]
+| | `--END -> > [21:7]
+| |--TEXT -> [21:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:9]
+| | `--WBR_TAG -> WBR_TAG [21:9]
+| | |--START -> < [21:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [21:10]
+| | `--SLASH_END -> /> [21:13]
+| |--TEXT -> [21:15]
+| `--BODY_TAG_END -> BODY_TAG_END [21:16]
+| |--START -> < [21:16]
+| |--SLASH -> / [21:17]
+| |--BODY_HTML_TAG_NAME -> body [21:18]
+| `--END -> > [21:22]
+|--NEWLINE -> \n [21:23]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--COLGROUP -> COLGROUP [22:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [22:3]
+| | `--END -> > [22:11]
+| |--TEXT -> [22:12]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:13]
+| | `--WBR_TAG -> WBR_TAG [22:13]
+| | |--START -> < [22:13]
+| | |--WBR_HTML_TAG_NAME -> wbr [22:14]
+| | `--SLASH_END -> /> [22:17]
+| |--TEXT -> [22:19]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [22:20]
+| |--START -> < [22:20]
+| |--SLASH -> / [22:21]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [22:22]
+| `--END -> > [22:30]
+|--NEWLINE -> \n [22:31]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--DD -> DD [23:2]
+| |--DD_TAG_START -> DD_TAG_START [23:2]
+| | |--START -> < [23:2]
+| | |--DD_HTML_TAG_NAME -> dd [23:3]
+| | `--END -> > [23:5]
+| |--TEXT -> [23:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:7]
+| | `--WBR_TAG -> WBR_TAG [23:7]
+| | |--START -> < [23:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [23:8]
+| | `--SLASH_END -> /> [23:11]
+| |--TEXT -> [23:13]
+| `--DD_TAG_END -> DD_TAG_END [23:14]
+| |--START -> < [23:14]
+| |--SLASH -> / [23:15]
+| |--DD_HTML_TAG_NAME -> dd [23:16]
+| `--END -> > [23:18]
+|--NEWLINE -> \n [23:19]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--DT -> DT [24:2]
+| |--DT_TAG_START -> DT_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--DT_HTML_TAG_NAME -> dt [24:3]
+| | `--END -> > [24:5]
+| |--TEXT -> [24:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:7]
+| | `--WBR_TAG -> WBR_TAG [24:7]
+| | |--START -> < [24:7]
+| | |--WBR_HTML_TAG_NAME -> wbr [24:8]
+| | `--SLASH_END -> /> [24:11]
+| |--TEXT -> [24:13]
+| `--DT_TAG_END -> DT_TAG_END [24:14]
+| |--START -> < [24:14]
+| |--SLASH -> / [24:15]
+| |--DT_HTML_TAG_NAME -> dt [24:16]
+| `--END -> > [24:18]
+|--NEWLINE -> \n [24:19]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--HEAD -> HEAD [25:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--HEAD_HTML_TAG_NAME -> head [25:3]
+| | `--END -> > [25:7]
+| |--TEXT -> [25:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:9]
+| | `--WBR_TAG -> WBR_TAG [25:9]
+| | |--START -> < [25:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [25:10]
+| | `--SLASH_END -> /> [25:13]
+| |--TEXT -> [25:15]
+| `--HEAD_TAG_END -> HEAD_TAG_END [25:16]
+| |--START -> < [25:16]
+| |--SLASH -> / [25:17]
+| |--HEAD_HTML_TAG_NAME -> head [25:18]
+| `--END -> > [25:22]
+|--NEWLINE -> \n [25:23]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--HTML -> HTML [26:2]
+| |--HTML_TAG_START -> HTML_TAG_START [26:2]
+| | |--START -> < [26:2]
+| | |--HTML_HTML_TAG_NAME -> html [26:3]
+| | `--END -> > [26:7]
+| |--TEXT -> [26:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:9]
+| | `--WBR_TAG -> WBR_TAG [26:9]
+| | |--START -> < [26:9]
+| | |--WBR_HTML_TAG_NAME -> wbr [26:10]
+| | `--SLASH_END -> /> [26:13]
+| |--TEXT -> [26:15]
+| `--HTML_TAG_END -> HTML_TAG_END [26:16]
+| |--START -> < [26:16]
+| |--SLASH -> / [26:17]
+| |--HTML_HTML_TAG_NAME -> html [26:18]
+| `--END -> > [26:22]
+|--NEWLINE -> \n [26:23]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--OPTION -> OPTION [27:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--OPTION_HTML_TAG_NAME -> option [27:3]
+| | `--END -> > [27:9]
+| |--TEXT -> [27:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:11]
+| | `--WBR_TAG -> WBR_TAG [27:11]
+| | |--START -> < [27:11]
+| | |--WBR_HTML_TAG_NAME -> wbr [27:12]
+| | `--SLASH_END -> /> [27:15]
+| |--TEXT -> [27:17]
+| `--OPTION_TAG_END -> OPTION_TAG_END [27:18]
+| |--START -> < [27:18]
+| |--SLASH -> / [27:19]
+| |--OPTION_HTML_TAG_NAME -> option [27:20]
+| `--END -> > [27:26]
+|--NEWLINE -> \n [27:27]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--TBODY -> TBODY [28:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [28:3]
+| | `--END -> > [28:8]
+| |--TEXT -> [28:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:10]
+| | `--WBR_TAG -> WBR_TAG [28:10]
+| | |--START -> < [28:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [28:11]
+| | `--SLASH_END -> /> [28:14]
+| |--TEXT -> [28:16]
+| `--TBODY_TAG_END -> TBODY_TAG_END [28:17]
+| |--START -> < [28:17]
+| |--SLASH -> / [28:18]
+| |--TBODY_HTML_TAG_NAME -> tbody [28:19]
+| `--END -> > [28:24]
+|--NEWLINE -> \n [28:25]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--THEAD -> THEAD [29:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [29:2]
+| | |--START -> < [29:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [29:3]
+| | `--END -> > [29:8]
+| |--TEXT -> [29:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [29:10]
+| | `--WBR_TAG -> WBR_TAG [29:10]
+| | |--START -> < [29:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [29:11]
+| | `--SLASH_END -> /> [29:14]
+| |--TEXT -> [29:16]
+| `--THEAD_TAG_END -> THEAD_TAG_END [29:17]
+| |--START -> < [29:17]
+| |--SLASH -> / [29:18]
+| |--THEAD_HTML_TAG_NAME -> thead [29:19]
+| `--END -> > [29:24]
+|--NEWLINE -> \n [29:25]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--TFOOT -> TFOOT [30:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [30:3]
+| | `--END -> > [30:8]
+| |--TEXT -> [30:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [30:10]
+| | `--WBR_TAG -> WBR_TAG [30:10]
+| | |--START -> < [30:10]
+| | |--WBR_HTML_TAG_NAME -> wbr [30:11]
+| | `--SLASH_END -> /> [30:14]
+| |--TEXT -> [30:16]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [30:17]
+| |--START -> < [30:17]
+| |--SLASH -> / [30:18]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [30:19]
+| `--END -> > [30:24]
+|--NEWLINE -> \n [30:25]
+|--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [32:2]
+| `--WBR_TAG -> WBR_TAG [32:2]
+| |--START -> < [32:2]
+| |--WBR_HTML_TAG_NAME -> wbr [32:3]
+| `--END -> > [32:6]
+|--NEWLINE -> \n [32:7]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [33:2]
+| `--WBR_TAG -> WBR_TAG [33:2]
+| |--START -> < [33:2]
+| |--WBR_HTML_TAG_NAME -> wbr [33:3]
+| `--SLASH_END -> /> [33:6]
+|--NEWLINE -> \n [33:8]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [34:2]
+| `--WBR_TAG -> WBR_TAG [34:2]
+| |--START -> < [34:2]
+| |--WBR_HTML_TAG_NAME -> wbr [34:3]
+| |--WS -> [34:6]
+| |--ATTRIBUTE -> ATTRIBUTE [34:7]
+| | |--HTML_TAG_NAME -> attr [34:7]
+| | |--EQUALS -> = [34:11]
+| | `--ATTR_VALUE -> "something" [34:12]
+| `--END -> > [34:24]
+|--NEWLINE -> \n [34:25]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [35:2]
+| `--WBR_TAG -> WBR_TAG [35:2]
+| |--START -> < [35:2]
+| |--WBR_HTML_TAG_NAME -> wbr [35:3]
+| |--WS -> [35:6]
+| |--ATTRIBUTE -> ATTRIBUTE [35:7]
+| | |--HTML_TAG_NAME -> attr [35:7]
+| | |--EQUALS -> = [35:11]
+| | `--ATTR_VALUE -> "something" [35:12]
+| `--SLASH_END -> /> [35:24]
+|--NEWLINE -> \n [35:26]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [36:2]
+| `--WBR_TAG -> WBR_TAG [36:2]
+| |--START -> < [36:2]
+| |--WBR_HTML_TAG_NAME -> wbr [36:3]
+| |--WS -> [36:6]
+| |--ATTRIBUTE -> ATTRIBUTE [36:7]
+| | |--HTML_TAG_NAME -> attr [36:7]
+| | |--EQUALS -> = [36:11]
+| | `--ATTR_VALUE -> "something" [36:12]
+| |--WS -> [36:24]
+| |--ATTRIBUTE -> ATTRIBUTE [36:25]
+| | |--HTML_TAG_NAME -> attr2 [36:25]
+| | |--EQUALS -> = [36:30]
+| | `--ATTR_VALUE -> "someotherthing" [36:31]
+| `--END -> > [36:48]
+|--NEWLINE -> \n [36:49]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [37:2]
+| `--WBR_TAG -> WBR_TAG [37:2]
+| |--START -> < [37:2]
+| |--WBR_HTML_TAG_NAME -> wbr [37:3]
+| |--WS -> [37:6]
+| |--ATTRIBUTE -> ATTRIBUTE [37:7]
+| | |--HTML_TAG_NAME -> attr [37:7]
+| | |--EQUALS -> = [37:11]
+| | `--ATTR_VALUE -> "something" [37:12]
+| |--WS -> [37:24]
+| |--ATTRIBUTE -> ATTRIBUTE [37:25]
+| | |--HTML_TAG_NAME -> attr2 [37:25]
+| | |--EQUALS -> = [37:30]
+| | `--ATTR_VALUE -> "someotherthing" [37:31]
+| `--SLASH_END -> /> [37:48]
+|--NEWLINE -> \n [37:50]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [38:2]
+| `--WBR_TAG -> WBR_TAG [38:2]
+| |--START -> < [38:2]
+| |--WBR_HTML_TAG_NAME -> wbr [38:3]
+| |--WS -> [38:6]
+| |--ATTRIBUTE -> ATTRIBUTE [38:7]
+| | |--HTML_TAG_NAME -> attr [38:7]
+| | |--EQUALS -> = [38:11]
+| | `--ATTR_VALUE -> "something" [38:12]
+| |--WS -> [38:24]
+| |--NEWLINE -> \n [38:25]
+| |--LEADING_ASTERISK -> * [39:0]
+| |--WS -> [39:1]
+| |--ATTRIBUTE -> ATTRIBUTE [39:2]
+| | |--HTML_TAG_NAME -> attr2 [39:2]
+| | |--EQUALS -> = [39:7]
+| | `--ATTR_VALUE -> "someotherting" [39:8]
+| `--END -> > [39:24]
+|--NEWLINE -> \n [39:25]
+|--LEADING_ASTERISK -> * [40:0]
+|--TEXT -> [40:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [40:2]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [40:2]
+| `--WBR_TAG -> WBR_TAG [40:2]
+| |--START -> < [40:2]
+| |--WBR_HTML_TAG_NAME -> wbr [40:3]
+| |--WS -> [40:6]
+| |--ATTRIBUTE -> ATTRIBUTE [40:7]
+| | |--HTML_TAG_NAME -> attr [40:7]
+| | |--EQUALS -> = [40:11]
+| | `--ATTR_VALUE -> "something" [40:12]
+| |--WS -> [40:24]
+| |--NEWLINE -> \n [40:25]
+| |--LEADING_ASTERISK -> * [41:0]
+| |--WS -> [41:1]
+| |--ATTRIBUTE -> ATTRIBUTE [41:2]
+| | |--HTML_TAG_NAME -> attr2 [41:2]
+| | |--EQUALS -> = [41:7]
+| | `--ATTR_VALUE -> "someotherting" [41:8]
+| `--SLASH_END -> /> [41:24]
+`--EOF -> <EOF> [41:26]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedListWithUnclosedItemInUnclosedParagraphAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedListWithUnclosedItemInUnclosedParagraphAst.txt
index ac9670ad2..dcbb5f6ec 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedListWithUnclosedItemInUnclosedParagraphAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedListWithUnclosedItemInUnclosedParagraphAst.txt
@@ -1,42 +1,42 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
-| `--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| |--OPEN -> < [0:0]
+| `--P_TAG_START -> P_TAG_START [0:0]
+| |--START -> < [0:0]
| |--P_HTML_TAG_NAME -> p [0:1]
-| `--CLOSE -> > [0:2]
+| `--END -> > [0:2]
|--NEWLINE -> \r\n [0:3]
|--HTML_ELEMENT -> HTML_ELEMENT [1:0]
| `--HTML_TAG -> HTML_TAG [1:0]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [1:0]
-| | |--OPEN -> < [1:0]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [1:0]
+| | |--START -> < [1:0]
| | |--HTML_TAG_NAME -> ul [1:1]
-| | `--CLOSE -> > [1:3]
+| | `--END -> > [1:3]
| |--NEWLINE -> \r\n [1:4]
| |--TEXT -> \t [2:0]
| |--HTML_ELEMENT -> HTML_ELEMENT [2:1]
-| | `--LI_TAG_OPEN -> LI_TAG_OPEN [2:1]
-| | |--OPEN -> < [2:1]
+| | `--LI_TAG_START -> LI_TAG_START [2:1]
+| | |--START -> < [2:1]
| | |--LI_HTML_TAG_NAME -> li [2:2]
-| | `--CLOSE -> > [2:4]
+| | `--END -> > [2:4]
| |--TEXT -> item 1 [2:5]
| |--NEWLINE -> \r\n [2:11]
| |--TEXT -> \t [3:0]
| |--HTML_ELEMENT -> HTML_ELEMENT [3:1]
| | `--LI -> LI [3:1]
-| | |--LI_TAG_OPEN -> LI_TAG_OPEN [3:1]
-| | | |--OPEN -> < [3:1]
+| | |--LI_TAG_START -> LI_TAG_START [3:1]
+| | | |--START -> < [3:1]
| | | |--LI_HTML_TAG_NAME -> li [3:2]
-| | | `--CLOSE -> > [3:4]
+| | | `--END -> > [3:4]
| | |--TEXT -> item 2 [3:5]
-| | `--LI_TAG_CLOSE -> LI_TAG_CLOSE [3:11]
-| | |--OPEN -> < [3:11]
+| | `--LI_TAG_END -> LI_TAG_END [3:11]
+| | |--START -> < [3:11]
| | |--SLASH -> / [3:12]
| | |--LI_HTML_TAG_NAME -> li [3:13]
-| | `--CLOSE -> > [3:15]
+| | `--END -> > [3:15]
| |--NEWLINE -> \r\n [3:16]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [4:0]
-| |--OPEN -> < [4:0]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [4:0]
+| |--START -> < [4:0]
| |--SLASH -> / [4:1]
| |--HTML_TAG_NAME -> ul [4:2]
-| `--CLOSE -> > [4:4]
+| `--END -> > [4:4]
`--EOF -> <EOF> [4:5]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedMixedCaseOfHtmlTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedMixedCaseOfHtmlTagsAst.txt
index b11294bda..a19e1df32 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedMixedCaseOfHtmlTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedMixedCaseOfHtmlTagsAst.txt
@@ -1,81 +1,76 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
-| `--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| |--OPEN -> < [0:0]
-| |--P_HTML_TAG_NAME -> P [0:1]
-| `--CLOSE -> > [0:2]
-|--NEWLINE -> \r\n [0:3]
-|--HTML_ELEMENT -> HTML_ELEMENT [1:0]
-| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:0]
-| `--BR_TAG -> BR_TAG [1:0]
-| |--OPEN -> < [1:0]
-| |--BR_HTML_TAG_NAME -> br [1:1]
-| `--CLOSE -> > [1:3]
-|--NEWLINE -> \r\n [1:4]
-|--HTML_ELEMENT -> HTML_ELEMENT [2:0]
-| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:0]
-| `--BR_TAG -> BR_TAG [2:0]
-| |--OPEN -> < [2:0]
-| |--BR_HTML_TAG_NAME -> br [2:1]
-| `--SLASH_CLOSE -> /> [2:3]
-|--NEWLINE -> \r\n [2:5]
-|--HTML_ELEMENT -> HTML_ELEMENT [3:0]
-| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:0]
-| `--BR_TAG -> BR_TAG [3:0]
-| |--OPEN -> < [3:0]
-| |--BR_HTML_TAG_NAME -> BR [3:1]
-| `--CLOSE -> > [3:3]
-|--NEWLINE -> \r\n [3:4]
-|--HTML_ELEMENT -> HTML_ELEMENT [4:0]
-| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:0]
-| `--BR_TAG -> BR_TAG [4:0]
-| |--OPEN -> < [4:0]
-| |--BR_HTML_TAG_NAME -> BR [4:1]
-| `--SLASH_CLOSE -> /> [4:3]
-|--NEWLINE -> \r\n [4:5]
-|--HTML_ELEMENT -> HTML_ELEMENT [5:0]
-| `--HTML_TAG -> HTML_TAG [5:0]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [5:0]
-| | |--OPEN -> < [5:0]
-| | |--HTML_TAG_NAME -> TABLE [5:1]
-| | `--CLOSE -> > [5:6]
-| |--NEWLINE -> \r\n [5:7]
-| |--TEXT -> \t [6:0]
-| |--HTML_ELEMENT -> HTML_ELEMENT [6:1]
-| | `--TR -> TR [6:1]
-| | |--TR_TAG_OPEN -> TR_TAG_OPEN [6:1]
-| | | |--OPEN -> < [6:1]
-| | | |--TR_HTML_TAG_NAME -> tr [6:2]
-| | | `--CLOSE -> > [6:4]
-| | `--TR_TAG_CLOSE -> TR_TAG_CLOSE [6:5]
-| | |--OPEN -> < [6:5]
-| | |--SLASH -> / [6:6]
-| | |--TR_HTML_TAG_NAME -> TR [6:7]
-| | `--CLOSE -> > [6:9]
-| |--NEWLINE -> \r\n [6:10]
-| |--TEXT -> \t [7:0]
-| |--HTML_ELEMENT -> HTML_ELEMENT [7:1]
-| | `--TR -> TR [7:1]
-| | |--TR_TAG_OPEN -> TR_TAG_OPEN [7:1]
-| | | |--OPEN -> < [7:1]
-| | | |--TR_HTML_TAG_NAME -> TR [7:2]
-| | | `--CLOSE -> > [7:4]
-| | `--TR_TAG_CLOSE -> TR_TAG_CLOSE [7:5]
-| | |--OPEN -> < [7:5]
-| | |--SLASH -> / [7:6]
-| | |--TR_HTML_TAG_NAME -> tr [7:7]
-| | `--CLOSE -> > [7:9]
-| |--NEWLINE -> \r\n [7:10]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [8:0]
-| |--OPEN -> < [8:0]
-| |--SLASH -> / [8:1]
-| |--HTML_TAG_NAME -> table [8:2]
-| `--CLOSE -> > [8:7]
-|--NEWLINE -> \r\n [8:8]
-|--HTML_ELEMENT -> HTML_ELEMENT [9:0]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [9:0]
-| |--OPEN -> < [9:0]
-| |--SLASH -> / [9:1]
-| |--P_HTML_TAG_NAME -> p [9:2]
-| `--CLOSE -> > [9:3]
+| `--PARAGRAPH -> PARAGRAPH [0:0]
+| |--P_TAG_START -> P_TAG_START [0:0]
+| | |--START -> < [0:0]
+| | |--P_HTML_TAG_NAME -> P [0:1]
+| | `--END -> > [0:2]
+| |--NEWLINE -> \r\n [0:3]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:0]
+| | `--BR_TAG -> BR_TAG [1:0]
+| | |--START -> < [1:0]
+| | |--BR_HTML_TAG_NAME -> br [1:1]
+| | `--END -> > [1:3]
+| |--NEWLINE -> \r\n [1:4]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:0]
+| | `--BR_TAG -> BR_TAG [2:0]
+| | |--START -> < [2:0]
+| | |--BR_HTML_TAG_NAME -> br [2:1]
+| | `--SLASH_END -> /> [2:3]
+| |--NEWLINE -> \r\n [2:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:0]
+| | `--BR_TAG -> BR_TAG [3:0]
+| | |--START -> < [3:0]
+| | |--BR_HTML_TAG_NAME -> BR [3:1]
+| | `--END -> > [3:3]
+| |--NEWLINE -> \r\n [3:4]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:0]
+| | `--BR_TAG -> BR_TAG [4:0]
+| | |--START -> < [4:0]
+| | |--BR_HTML_TAG_NAME -> BR [4:1]
+| | `--SLASH_END -> /> [4:3]
+| |--NEWLINE -> \r\n [4:5]
+| |--HTML_TAG -> HTML_TAG [5:0]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [5:0]
+| | | |--START -> < [5:0]
+| | | |--HTML_TAG_NAME -> TABLE [5:1]
+| | | `--END -> > [5:6]
+| | |--NEWLINE -> \r\n [5:7]
+| | |--TEXT -> \t [6:0]
+| | |--HTML_ELEMENT -> HTML_ELEMENT [6:1]
+| | | `--TR -> TR [6:1]
+| | | |--TR_TAG_START -> TR_TAG_START [6:1]
+| | | | |--START -> < [6:1]
+| | | | |--TR_HTML_TAG_NAME -> tr [6:2]
+| | | | `--END -> > [6:4]
+| | | `--TR_TAG_END -> TR_TAG_END [6:5]
+| | | |--START -> < [6:5]
+| | | |--SLASH -> / [6:6]
+| | | |--TR_HTML_TAG_NAME -> TR [6:7]
+| | | `--END -> > [6:9]
+| | |--NEWLINE -> \r\n [6:10]
+| | |--TEXT -> \t [7:0]
+| | |--HTML_ELEMENT -> HTML_ELEMENT [7:1]
+| | | `--TR -> TR [7:1]
+| | | |--TR_TAG_START -> TR_TAG_START [7:1]
+| | | | |--START -> < [7:1]
+| | | | |--TR_HTML_TAG_NAME -> TR [7:2]
+| | | | `--END -> > [7:4]
+| | | `--TR_TAG_END -> TR_TAG_END [7:5]
+| | | |--START -> < [7:5]
+| | | |--SLASH -> / [7:6]
+| | | |--TR_HTML_TAG_NAME -> tr [7:7]
+| | | `--END -> > [7:9]
+| | |--NEWLINE -> \r\n [7:10]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [8:0]
+| | |--START -> < [8:0]
+| | |--SLASH -> / [8:1]
+| | |--HTML_TAG_NAME -> table [8:2]
+| | `--END -> > [8:7]
+| |--NEWLINE -> \r\n [8:8]
+| `--P_TAG_END -> P_TAG_END [9:0]
+| |--START -> < [9:0]
+| |--SLASH -> / [9:1]
+| |--P_HTML_TAG_NAME -> p [9:2]
+| `--END -> > [9:3]
`--EOF -> <EOF> [9:4]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNegativeNumberInAttributeAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNegativeNumberInAttributeAst.txt
index eb53551a7..9787eb27b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNegativeNumberInAttributeAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNegativeNumberInAttributeAst.txt
@@ -1,19 +1,19 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
| `--HTML_TAG -> HTML_TAG [0:0]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [0:0]
-| | |--OPEN -> < [0:0]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [0:0]
+| | |--START -> < [0:0]
| | |--HTML_TAG_NAME -> font [0:1]
| | |--WS -> [0:5]
| | |--ATTRIBUTE -> ATTRIBUTE [0:6]
| | | |--HTML_TAG_NAME -> size [0:6]
| | | |--EQUALS -> = [0:10]
| | | `--ATTR_VALUE -> -2 [0:11]
-| | `--CLOSE -> > [0:14]
+| | `--END -> > [0:14]
| |--TEXT -> TM [0:15]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [0:17]
-| |--OPEN -> < [0:17]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [0:17]
+| |--START -> < [0:17]
| |--SLASH -> / [0:18]
| |--HTML_TAG_NAME -> font [0:19]
-| `--CLOSE -> > [0:23]
+| `--END -> > [0:23]
`--EOF -> <EOF> [0:24]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNestingWithSingletonElementAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNestingWithSingletonElementAst.txt
new file mode 100644
index 000000000..c73e3ca8c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedNestingWithSingletonElementAst.txt
@@ -0,0 +1,461 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> paragraph with a [0:5]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:23]
+| | `--BR_TAG -> BR_TAG [0:23]
+| | |--START -> < [0:23]
+| | |--BR_HTML_TAG_NAME -> br [0:24]
+| | `--END -> > [0:26]
+| |--TEXT -> singletonElement. [0:27]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:45]
+| | `--HR_TAG -> HR_TAG [0:45]
+| | |--START -> < [0:45]
+| | |--HR_HTML_TAG_NAME -> hr [0:46]
+| | `--END -> > [0:48]
+| |--TEXT -> And it contains another one. [0:49]
+| `--P_TAG_END -> P_TAG_END [0:79]
+| |--START -> < [0:79]
+| |--SLASH -> / [0:80]
+| |--P_HTML_TAG_NAME -> p [0:81]
+| `--END -> > [0:82]
+|--NEWLINE -> \r\n [0:83]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--LI -> LI [1:2]
+| |--LI_TAG_START -> LI_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--LI_HTML_TAG_NAME -> li [1:3]
+| | `--END -> > [1:5]
+| |--TEXT -> List with singletonElement [1:6]
+| |--NEWLINE -> \r\n [1:33]
+| |--LEADING_ASTERISK -> * [2:0]
+| |--TEXT -> [2:1]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:2]
+| | `--PARAM_TAG -> PARAM_TAG [2:2]
+| | |--START -> < [2:2]
+| | |--PARAM_HTML_TAG_NAME -> param [2:3]
+| | |--WS -> [2:8]
+| | |--ATTRIBUTE -> ATTRIBUTE [2:9]
+| | | |--HTML_TAG_NAME -> name [2:9]
+| | | |--EQUALS -> = [2:13]
+| | | `--ATTR_VALUE -> movie [2:14]
+| | |--WS -> [2:20]
+| | |--ATTRIBUTE -> ATTRIBUTE [2:21]
+| | | |--HTML_TAG_NAME -> value [2:21]
+| | | |--EQUALS -> = [2:26]
+| | | `--ATTR_VALUE -> "~/imitation game.mp4" [2:27]
+| | `--END -> > [2:50]
+| |--TEXT -> [2:51]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:52]
+| | `--PARAM_TAG -> PARAM_TAG [2:52]
+| | |--START -> < [2:52]
+| | |--PARAM_HTML_TAG_NAME -> param [2:53]
+| | |--WS -> [2:58]
+| | |--ATTRIBUTE -> ATTRIBUTE [2:59]
+| | | |--HTML_TAG_NAME -> name [2:59]
+| | | |--EQUALS -> = [2:63]
+| | | `--ATTR_VALUE -> allowfullscreen [2:64]
+| | |--WS -> [2:80]
+| | |--ATTRIBUTE -> ATTRIBUTE [2:81]
+| | | |--HTML_TAG_NAME -> value [2:81]
+| | | |--EQUALS -> = [2:86]
+| | | `--ATTR_VALUE -> true [2:87]
+| | `--END -> > [2:92]
+| |--TEXT -> [2:93]
+| `--LI_TAG_END -> LI_TAG_END [2:94]
+| |--START -> < [2:94]
+| |--SLASH -> / [2:95]
+| |--LI_HTML_TAG_NAME -> li [2:96]
+| `--END -> > [2:98]
+|--NEWLINE -> \r\n [2:99]
+|--LEADING_ASTERISK -> * [3:0]
+|--NEWLINE -> \r\n [3:1]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--TR -> TR [4:2]
+| |--TR_TAG_START -> TR_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--TR_HTML_TAG_NAME -> tr [4:3]
+| | `--END -> > [4:5]
+| |--TEXT -> tr with [4:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:15]
+| | `--BASE_TAG -> BASE_TAG [4:15]
+| | |--START -> < [4:15]
+| | |--BASE_HTML_TAG_NAME -> base [4:16]
+| | |--WS -> [4:20]
+| | |--ATTRIBUTE -> ATTRIBUTE [4:21]
+| | | |--HTML_TAG_NAME -> href [4:21]
+| | | |--EQUALS -> = [4:25]
+| | | `--ATTR_VALUE -> "www.something.com" [4:26]
+| | `--END -> > [4:46]
+| |--TEXT -> singletonElement [4:47]
+| `--TR_TAG_END -> TR_TAG_END [4:65]
+| |--START -> < [4:65]
+| |--SLASH -> / [4:66]
+| |--TR_HTML_TAG_NAME -> tr [4:67]
+| `--END -> > [4:69]
+|--NEWLINE -> \r\n [4:70]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--TD -> TD [5:2]
+| |--TD_TAG_START -> TD_TAG_START [5:2]
+| | |--START -> < [5:2]
+| | |--TD_HTML_TAG_NAME -> td [5:3]
+| | `--END -> > [5:5]
+| |--TEXT -> td with singletonElement [5:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:32]
+| | `--BR_TAG -> BR_TAG [5:32]
+| | |--START -> < [5:32]
+| | |--BR_HTML_TAG_NAME -> br [5:33]
+| | `--SLASH_END -> /> [5:35]
+| |--TEXT -> [5:37]
+| `--TD_TAG_END -> TD_TAG_END [5:38]
+| |--START -> < [5:38]
+| |--SLASH -> / [5:39]
+| |--TD_HTML_TAG_NAME -> td [5:40]
+| `--END -> > [5:42]
+|--NEWLINE -> \r\n [5:43]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--TH -> TH [6:2]
+| |--TH_TAG_START -> TH_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--TH_HTML_TAG_NAME -> th [6:3]
+| | `--END -> > [6:5]
+| |--TEXT -> th with [6:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:15]
+| | `--BASE_TAG -> BASE_TAG [6:15]
+| | |--START -> < [6:15]
+| | |--BASE_HTML_TAG_NAME -> base [6:16]
+| | `--SLASH_END -> /> [6:20]
+| |--TEXT -> singletonElement [6:22]
+| `--TH_TAG_END -> TH_TAG_END [6:40]
+| |--START -> < [6:40]
+| |--SLASH -> / [6:41]
+| |--TH_HTML_TAG_NAME -> th [6:42]
+| `--END -> > [6:44]
+|--NEWLINE -> \r\n [6:45]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--BODY -> BODY [7:2]
+| |--BODY_TAG_START -> BODY_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--BODY_HTML_TAG_NAME -> body [7:3]
+| | `--END -> > [7:7]
+| |--TEXT -> body with [7:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:19]
+| | `--BR_TAG -> BR_TAG [7:19]
+| | |--START -> < [7:19]
+| | |--BR_HTML_TAG_NAME -> br [7:20]
+| | `--SLASH_END -> /> [7:22]
+| |--TEXT -> singletonElement [7:24]
+| `--BODY_TAG_END -> BODY_TAG_END [7:42]
+| |--START -> < [7:42]
+| |--SLASH -> / [7:43]
+| |--BODY_HTML_TAG_NAME -> body [7:44]
+| `--END -> > [7:48]
+|--NEWLINE -> \r\n [7:49]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--COLGROUP -> COLGROUP [8:2]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [8:2]
+| | |--START -> < [8:2]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [8:3]
+| | `--END -> > [8:11]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:12]
+| | `--COL_TAG -> COL_TAG [8:12]
+| | |--START -> < [8:12]
+| | |--COL_HTML_TAG_NAME -> col [8:13]
+| | `--END -> > [8:16]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:17]
+| | `--COL_TAG -> COL_TAG [8:17]
+| | |--START -> < [8:17]
+| | |--COL_HTML_TAG_NAME -> col [8:18]
+| | `--END -> > [8:21]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:22]
+| | `--COL_TAG -> COL_TAG [8:22]
+| | |--START -> < [8:22]
+| | |--COL_HTML_TAG_NAME -> col [8:23]
+| | `--END -> > [8:26]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [8:27]
+| |--START -> < [8:27]
+| |--SLASH -> / [8:28]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [8:29]
+| `--END -> > [8:37]
+|--NEWLINE -> \r\n [8:38]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--DD -> DD [9:2]
+| |--DD_TAG_START -> DD_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--DD_HTML_TAG_NAME -> dd [9:3]
+| | `--END -> > [9:5]
+| |--TEXT -> dd with [9:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:15]
+| | `--HR_TAG -> HR_TAG [9:15]
+| | |--START -> < [9:15]
+| | |--HR_HTML_TAG_NAME -> hr [9:16]
+| | `--END -> > [9:18]
+| |--TEXT -> singletonElement [9:19]
+| `--DD_TAG_END -> DD_TAG_END [9:37]
+| |--START -> < [9:37]
+| |--SLASH -> / [9:38]
+| |--DD_HTML_TAG_NAME -> dd [9:39]
+| `--END -> > [9:41]
+|--NEWLINE -> \r\n [9:42]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--DT -> DT [10:2]
+| |--DT_TAG_START -> DT_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--DT_HTML_TAG_NAME -> dt [10:3]
+| | `--END -> > [10:5]
+| |--TEXT -> dt with [10:6]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:15]
+| | `--IMG_TAG -> IMG_TAG [10:15]
+| | |--START -> < [10:15]
+| | |--IMG_HTML_TAG_NAME -> img [10:16]
+| | |--WS -> [10:19]
+| | |--ATTRIBUTE -> ATTRIBUTE [10:20]
+| | | |--HTML_TAG_NAME -> src [10:20]
+| | | |--EQUALS -> = [10:23]
+| | | `--ATTR_VALUE -> "~/singletonElement.jpg" [10:24]
+| | |--WS -> [10:49]
+| | |--ATTRIBUTE -> ATTRIBUTE [10:50]
+| | | |--HTML_TAG_NAME -> alt [10:50]
+| | | |--EQUALS -> = [10:53]
+| | | `--ATTR_VALUE -> "" [10:54]
+| | |--WS -> [10:57]
+| | |--ATTRIBUTE -> ATTRIBUTE [10:58]
+| | | |--HTML_TAG_NAME -> width [10:58]
+| | | |--EQUALS -> = [10:63]
+| | | `--ATTR_VALUE -> "100" [10:64]
+| | |--WS -> [10:70]
+| | |--ATTRIBUTE -> ATTRIBUTE [10:71]
+| | | |--HTML_TAG_NAME -> height [10:71]
+| | | |--EQUALS -> = [10:77]
+| | | `--ATTR_VALUE -> "150" [10:78]
+| | `--SLASH_END -> /> [10:84]
+| |--TEXT -> singletonElement [10:86]
+| `--DT_TAG_END -> DT_TAG_END [10:104]
+| |--START -> < [10:104]
+| |--SLASH -> / [10:105]
+| |--DT_HTML_TAG_NAME -> dt [10:106]
+| `--END -> > [10:108]
+|--NEWLINE -> \r\n [10:109]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--HEAD -> HEAD [11:2]
+| |--HEAD_TAG_START -> HEAD_TAG_START [11:2]
+| | |--START -> < [11:2]
+| | |--HEAD_HTML_TAG_NAME -> head [11:3]
+| | `--END -> > [11:7]
+| |--TEXT -> head with [11:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:19]
+| | `--IMG_TAG -> IMG_TAG [11:19]
+| | |--START -> < [11:19]
+| | |--IMG_HTML_TAG_NAME -> img [11:20]
+| | |--WS -> [11:23]
+| | |--ATTRIBUTE -> ATTRIBUTE [11:24]
+| | | |--HTML_TAG_NAME -> src [11:24]
+| | | |--EQUALS -> = [11:27]
+| | | `--ATTR_VALUE -> "~/singletonElement.jpg" [11:28]
+| | |--WS -> [11:53]
+| | |--ATTRIBUTE -> ATTRIBUTE [11:54]
+| | | |--HTML_TAG_NAME -> alt [11:54]
+| | | |--EQUALS -> = [11:57]
+| | | `--ATTR_VALUE -> "" [11:58]
+| | |--WS -> [11:61]
+| | |--ATTRIBUTE -> ATTRIBUTE [11:62]
+| | | |--HTML_TAG_NAME -> width [11:62]
+| | | |--EQUALS -> = [11:67]
+| | | `--ATTR_VALUE -> "100" [11:68]
+| | |--WS -> [11:74]
+| | |--ATTRIBUTE -> ATTRIBUTE [11:75]
+| | | |--HTML_TAG_NAME -> height [11:75]
+| | | |--EQUALS -> = [11:81]
+| | | `--ATTR_VALUE -> "150" [11:82]
+| | `--END -> > [11:88]
+| |--NEWLINE -> \r\n [11:89]
+| |--LEADING_ASTERISK -> * [12:0]
+| |--TEXT -> singletonElement [12:1]
+| `--HEAD_TAG_END -> HEAD_TAG_END [12:19]
+| |--START -> < [12:19]
+| |--SLASH -> / [12:20]
+| |--HEAD_HTML_TAG_NAME -> head [12:21]
+| `--END -> > [12:25]
+|--NEWLINE -> \r\n [12:26]
+|--LEADING_ASTERISK -> * [13:0]
+|--NEWLINE -> \r\n [13:1]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--HTML -> HTML [14:2]
+| |--HTML_TAG_START -> HTML_TAG_START [14:2]
+| | |--START -> < [14:2]
+| | |--HTML_HTML_TAG_NAME -> html [14:3]
+| | `--END -> > [14:7]
+| |--TEXT -> [14:8]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:9]
+| | `--BR_TAG -> BR_TAG [14:9]
+| | |--START -> < [14:9]
+| | |--BR_HTML_TAG_NAME -> bR [14:10]
+| | `--END -> > [14:12]
+| |--TEXT -> [14:13]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:14]
+| | `--BR_TAG -> BR_TAG [14:14]
+| | |--START -> < [14:14]
+| | |--BR_HTML_TAG_NAME -> Br [14:15]
+| | `--END -> > [14:17]
+| |--TEXT -> [14:18]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:19]
+| | `--BR_TAG -> BR_TAG [14:19]
+| | |--START -> < [14:19]
+| | |--BR_HTML_TAG_NAME -> BR [14:20]
+| | `--END -> > [14:22]
+| |--TEXT -> [14:23]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:24]
+| | `--BR_TAG -> BR_TAG [14:24]
+| | |--START -> < [14:24]
+| | |--BR_HTML_TAG_NAME -> Br [14:25]
+| | `--SLASH_END -> /> [14:27]
+| |--TEXT -> [14:29]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:30]
+| | `--BR_TAG -> BR_TAG [14:30]
+| | |--START -> < [14:30]
+| | |--BR_HTML_TAG_NAME -> BR [14:31]
+| | `--SLASH_END -> /> [14:33]
+| |--TEXT -> [14:35]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [14:36]
+| | `--BR_TAG -> BR_TAG [14:36]
+| | |--START -> < [14:36]
+| | |--BR_HTML_TAG_NAME -> bR [14:37]
+| | `--SLASH_END -> /> [14:39]
+| |--TEXT -> [14:41]
+| `--HTML_TAG_END -> HTML_TAG_END [14:42]
+| |--START -> < [14:42]
+| |--SLASH -> / [14:43]
+| |--HTML_HTML_TAG_NAME -> html [14:44]
+| `--END -> > [14:48]
+|--NEWLINE -> \r\n [14:49]
+|--LEADING_ASTERISK -> * [15:0]
+|--TEXT -> [15:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [15:2]
+| `--OPTION -> OPTION [15:2]
+| |--OPTION_TAG_START -> OPTION_TAG_START [15:2]
+| | |--START -> < [15:2]
+| | |--OPTION_HTML_TAG_NAME -> option [15:3]
+| | `--END -> > [15:9]
+| |--TEXT -> [15:10]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [15:11]
+| | `--INPUT_TAG -> INPUT_TAG [15:11]
+| | |--START -> < [15:11]
+| | |--INPUT_HTML_TAG_NAME -> INPut [15:12]
+| | `--SLASH_END -> /> [15:17]
+| |--TEXT -> [15:19]
+| `--OPTION_TAG_END -> OPTION_TAG_END [15:20]
+| |--START -> < [15:20]
+| |--SLASH -> / [15:21]
+| |--OPTION_HTML_TAG_NAME -> option [15:22]
+| `--END -> > [15:28]
+|--NEWLINE -> \r\n [15:29]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--TBODY -> TBODY [16:2]
+| |--TBODY_TAG_START -> TBODY_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--TBODY_HTML_TAG_NAME -> tbody [16:3]
+| | `--END -> > [16:8]
+| |--TEXT -> [16:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:10]
+| | `--INPUT_TAG -> INPUT_TAG [16:10]
+| | |--START -> < [16:10]
+| | |--INPUT_HTML_TAG_NAME -> input [16:11]
+| | `--SLASH_END -> /> [16:16]
+| |--TEXT -> [16:18]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:19]
+| | `--BR_TAG -> BR_TAG [16:19]
+| | |--START -> < [16:19]
+| | |--BR_HTML_TAG_NAME -> br [16:20]
+| | `--END -> > [16:22]
+| |--TEXT -> [16:23]
+| `--TBODY_TAG_END -> TBODY_TAG_END [16:24]
+| |--START -> < [16:24]
+| |--SLASH -> / [16:25]
+| |--TBODY_HTML_TAG_NAME -> tbody [16:26]
+| `--END -> > [16:31]
+|--NEWLINE -> \r\n [16:32]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--THEAD -> THEAD [17:2]
+| |--THEAD_TAG_START -> THEAD_TAG_START [17:2]
+| | |--START -> < [17:2]
+| | |--THEAD_HTML_TAG_NAME -> thead [17:3]
+| | `--END -> > [17:8]
+| |--TEXT -> [17:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:10]
+| | `--BR_TAG -> BR_TAG [17:10]
+| | |--START -> < [17:10]
+| | |--BR_HTML_TAG_NAME -> br [17:11]
+| | `--END -> > [17:13]
+| |--TEXT -> [17:14]
+| `--THEAD_TAG_END -> THEAD_TAG_END [17:15]
+| |--START -> < [17:15]
+| |--SLASH -> / [17:16]
+| |--THEAD_HTML_TAG_NAME -> thead [17:17]
+| `--END -> > [17:22]
+|--NEWLINE -> \r\n [17:23]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--TFOOT -> TFOOT [18:2]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [18:3]
+| | `--END -> > [18:8]
+| |--TEXT -> [18:9]
+| |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:10]
+| | `--AREA_TAG -> AREA_TAG [18:10]
+| | |--START -> < [18:10]
+| | |--AREA_HTML_TAG_NAME -> AREA [18:11]
+| | |--WS -> [18:15]
+| | |--ATTRIBUTE -> ATTRIBUTE [18:16]
+| | | |--HTML_TAG_NAME -> ALT [18:16]
+| | | |--EQUALS -> = [18:19]
+| | | `--ATTR_VALUE -> "alt" [18:20]
+| | |--WS -> [18:26]
+| | |--ATTRIBUTE -> ATTRIBUTE [18:27]
+| | | |--HTML_TAG_NAME -> COORDS [18:27]
+| | | |--EQUALS -> = [18:33]
+| | | `--ATTR_VALUE -> "100,0,200,50" [18:34]
+| | |--WS -> [18:49]
+| | |--ATTRIBUTE -> ATTRIBUTE [18:50]
+| | | |--HTML_TAG_NAME -> HREF [18:50]
+| | | |--EQUALS -> = [18:54]
+| | | `--ATTR_VALUE -> "/href/" [18:55]
+| | `--END -> > [18:64]
+| |--TEXT -> [18:65]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [18:66]
+| |--START -> < [18:66]
+| |--SLASH -> / [18:67]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [18:68]
+| `--END -> > [18:73]
+`--EOF -> <EOF> [18:74]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedOneSimpleHtmlTagAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedOneSimpleHtmlTagAst.txt
index 7aec1566b..613235f08 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedOneSimpleHtmlTagAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedOneSimpleHtmlTagAst.txt
@@ -1,14 +1,14 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
| `--HTML_TAG -> HTML_TAG [0:0]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [0:0]
-| | |--OPEN -> < [0:0]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [0:0]
+| | |--START -> < [0:0]
| | |--HTML_TAG_NAME -> g [0:1]
-| | `--CLOSE -> > [0:2]
+| | `--END -> > [0:2]
| |--TEXT -> blabla [0:3]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [0:9]
-| |--OPEN -> < [0:9]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [0:9]
+| |--START -> < [0:9]
| |--SLASH -> / [0:10]
| |--HTML_TAG_NAME -> g [0:11]
-| `--CLOSE -> > [0:12]
+| `--END -> > [0:12]
`--EOF -> <EOF> [0:13]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedParagraphAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedParagraphAst.txt
new file mode 100644
index 000000000..6badfd6d0
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedParagraphAst.txt
@@ -0,0 +1,937 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:2]
+| `--PARAGRAPH -> PARAGRAPH [0:2]
+| |--P_TAG_START -> P_TAG_START [0:2]
+| | |--START -> < [0:2]
+| | |--P_HTML_TAG_NAME -> p [0:3]
+| | `--END -> > [0:4]
+| |--TEXT -> [0:5]
+| |--LI -> LI [0:6]
+| | |--LI_TAG_START -> LI_TAG_START [0:6]
+| | | |--START -> < [0:6]
+| | | |--LI_HTML_TAG_NAME -> li [0:7]
+| | | `--END -> > [0:9]
+| | |--TEXT -> [0:10]
+| | `--LI_TAG_END -> LI_TAG_END [0:11]
+| | |--START -> < [0:11]
+| | |--SLASH -> / [0:12]
+| | |--LI_HTML_TAG_NAME -> li [0:13]
+| | `--END -> > [0:15]
+| |--TEXT -> [0:16]
+| `--P_TAG_END -> P_TAG_END [0:17]
+| |--START -> < [0:17]
+| |--SLASH -> / [0:18]
+| |--P_HTML_TAG_NAME -> p [0:19]
+| `--END -> > [0:20]
+|--NEWLINE -> \n [0:21]
+|--LEADING_ASTERISK -> * [1:0]
+|--TEXT -> [1:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:2]
+| `--PARAGRAPH -> PARAGRAPH [1:2]
+| |--P_TAG_START -> P_TAG_START [1:2]
+| | |--START -> < [1:2]
+| | |--P_HTML_TAG_NAME -> P [1:3]
+| | `--END -> > [1:4]
+| |--TEXT -> [1:5]
+| |--LI_TAG_START -> LI_TAG_START [1:6]
+| | |--START -> < [1:6]
+| | |--LI_HTML_TAG_NAME -> li [1:7]
+| | `--END -> > [1:9]
+| |--TEXT -> [1:10]
+| `--P_TAG_END -> P_TAG_END [1:11]
+| |--START -> < [1:11]
+| |--SLASH -> / [1:12]
+| |--P_HTML_TAG_NAME -> p [1:13]
+| `--END -> > [1:14]
+|--NEWLINE -> \n [1:15]
+|--LEADING_ASTERISK -> * [2:0]
+|--TEXT -> [2:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:2]
+| `--P_TAG_START -> P_TAG_START [2:2]
+| |--START -> < [2:2]
+| |--P_HTML_TAG_NAME -> p [2:3]
+| `--END -> > [2:4]
+|--TEXT -> [2:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:6]
+| `--LI_TAG_END -> LI_TAG_END [2:6]
+| |--START -> < [2:6]
+| |--SLASH -> / [2:7]
+| |--LI_HTML_TAG_NAME -> li [2:8]
+| `--END -> > [2:10]
+|--TEXT -> [2:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:12]
+| `--P_TAG_END -> P_TAG_END [2:12]
+| |--START -> < [2:12]
+| |--SLASH -> / [2:13]
+| |--P_HTML_TAG_NAME -> P [2:14]
+| `--END -> > [2:15]
+|--NEWLINE -> \n [2:16]
+|--LEADING_ASTERISK -> * [3:0]
+|--TEXT -> [3:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:2]
+| `--PARAGRAPH -> PARAGRAPH [3:2]
+| |--P_TAG_START -> P_TAG_START [3:2]
+| | |--START -> < [3:2]
+| | |--P_HTML_TAG_NAME -> p [3:3]
+| | `--END -> > [3:4]
+| |--TEXT -> [3:5]
+| |--TR -> TR [3:6]
+| | |--TR_TAG_START -> TR_TAG_START [3:6]
+| | | |--START -> < [3:6]
+| | | |--TR_HTML_TAG_NAME -> tr [3:7]
+| | | `--END -> > [3:9]
+| | |--TEXT -> [3:10]
+| | `--TR_TAG_END -> TR_TAG_END [3:11]
+| | |--START -> < [3:11]
+| | |--SLASH -> / [3:12]
+| | |--TR_HTML_TAG_NAME -> tr [3:13]
+| | `--END -> > [3:15]
+| |--TEXT -> [3:16]
+| `--P_TAG_END -> P_TAG_END [3:17]
+| |--START -> < [3:17]
+| |--SLASH -> / [3:18]
+| |--P_HTML_TAG_NAME -> p [3:19]
+| `--END -> > [3:20]
+|--NEWLINE -> \n [3:21]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> [4:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:2]
+| `--PARAGRAPH -> PARAGRAPH [4:2]
+| |--P_TAG_START -> P_TAG_START [4:2]
+| | |--START -> < [4:2]
+| | |--P_HTML_TAG_NAME -> P [4:3]
+| | `--END -> > [4:4]
+| |--TEXT -> [4:5]
+| |--TR_TAG_START -> TR_TAG_START [4:6]
+| | |--START -> < [4:6]
+| | |--TR_HTML_TAG_NAME -> tr [4:7]
+| | `--END -> > [4:9]
+| |--TEXT -> [4:10]
+| `--P_TAG_END -> P_TAG_END [4:11]
+| |--START -> < [4:11]
+| |--SLASH -> / [4:12]
+| |--P_HTML_TAG_NAME -> p [4:13]
+| `--END -> > [4:14]
+|--NEWLINE -> \n [4:15]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:2]
+| `--P_TAG_START -> P_TAG_START [5:2]
+| |--START -> < [5:2]
+| |--P_HTML_TAG_NAME -> p [5:3]
+| `--END -> > [5:4]
+|--TEXT -> [5:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:6]
+| `--TR_TAG_END -> TR_TAG_END [5:6]
+| |--START -> < [5:6]
+| |--SLASH -> / [5:7]
+| |--TR_HTML_TAG_NAME -> tr [5:8]
+| `--END -> > [5:10]
+|--TEXT -> [5:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:12]
+| `--P_TAG_END -> P_TAG_END [5:12]
+| |--START -> < [5:12]
+| |--SLASH -> / [5:13]
+| |--P_HTML_TAG_NAME -> P [5:14]
+| `--END -> > [5:15]
+|--NEWLINE -> \n [5:16]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> [6:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:2]
+| `--PARAGRAPH -> PARAGRAPH [6:2]
+| |--P_TAG_START -> P_TAG_START [6:2]
+| | |--START -> < [6:2]
+| | |--P_HTML_TAG_NAME -> p [6:3]
+| | `--END -> > [6:4]
+| |--TEXT -> [6:5]
+| |--TD -> TD [6:6]
+| | |--TD_TAG_START -> TD_TAG_START [6:6]
+| | | |--START -> < [6:6]
+| | | |--TD_HTML_TAG_NAME -> td [6:7]
+| | | `--END -> > [6:9]
+| | |--TEXT -> [6:10]
+| | `--TD_TAG_END -> TD_TAG_END [6:11]
+| | |--START -> < [6:11]
+| | |--SLASH -> / [6:12]
+| | |--TD_HTML_TAG_NAME -> td [6:13]
+| | `--END -> > [6:15]
+| |--TEXT -> [6:16]
+| `--P_TAG_END -> P_TAG_END [6:17]
+| |--START -> < [6:17]
+| |--SLASH -> / [6:18]
+| |--P_HTML_TAG_NAME -> p [6:19]
+| `--END -> > [6:20]
+|--NEWLINE -> \n [6:21]
+|--LEADING_ASTERISK -> * [7:0]
+|--TEXT -> [7:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:2]
+| `--PARAGRAPH -> PARAGRAPH [7:2]
+| |--P_TAG_START -> P_TAG_START [7:2]
+| | |--START -> < [7:2]
+| | |--P_HTML_TAG_NAME -> P [7:3]
+| | `--END -> > [7:4]
+| |--TEXT -> [7:5]
+| |--TD_TAG_START -> TD_TAG_START [7:6]
+| | |--START -> < [7:6]
+| | |--TD_HTML_TAG_NAME -> td [7:7]
+| | `--END -> > [7:9]
+| |--TEXT -> [7:10]
+| `--P_TAG_END -> P_TAG_END [7:11]
+| |--START -> < [7:11]
+| |--SLASH -> / [7:12]
+| |--P_HTML_TAG_NAME -> p [7:13]
+| `--END -> > [7:14]
+|--NEWLINE -> \n [7:15]
+|--LEADING_ASTERISK -> * [8:0]
+|--TEXT -> [8:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:2]
+| `--P_TAG_START -> P_TAG_START [8:2]
+| |--START -> < [8:2]
+| |--P_HTML_TAG_NAME -> p [8:3]
+| `--END -> > [8:4]
+|--TEXT -> [8:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:6]
+| `--TD_TAG_END -> TD_TAG_END [8:6]
+| |--START -> < [8:6]
+| |--SLASH -> / [8:7]
+| |--TD_HTML_TAG_NAME -> td [8:8]
+| `--END -> > [8:10]
+|--TEXT -> [8:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:12]
+| `--P_TAG_END -> P_TAG_END [8:12]
+| |--START -> < [8:12]
+| |--SLASH -> / [8:13]
+| |--P_HTML_TAG_NAME -> P [8:14]
+| `--END -> > [8:15]
+|--NEWLINE -> \n [8:16]
+|--LEADING_ASTERISK -> * [9:0]
+|--TEXT -> [9:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:2]
+| `--PARAGRAPH -> PARAGRAPH [9:2]
+| |--P_TAG_START -> P_TAG_START [9:2]
+| | |--START -> < [9:2]
+| | |--P_HTML_TAG_NAME -> p [9:3]
+| | `--END -> > [9:4]
+| |--TEXT -> [9:5]
+| |--TH -> TH [9:6]
+| | |--TH_TAG_START -> TH_TAG_START [9:6]
+| | | |--START -> < [9:6]
+| | | |--TH_HTML_TAG_NAME -> th [9:7]
+| | | `--END -> > [9:9]
+| | |--TEXT -> [9:10]
+| | `--TH_TAG_END -> TH_TAG_END [9:11]
+| | |--START -> < [9:11]
+| | |--SLASH -> / [9:12]
+| | |--TH_HTML_TAG_NAME -> th [9:13]
+| | `--END -> > [9:15]
+| |--TEXT -> [9:16]
+| `--P_TAG_END -> P_TAG_END [9:17]
+| |--START -> < [9:17]
+| |--SLASH -> / [9:18]
+| |--P_HTML_TAG_NAME -> p [9:19]
+| `--END -> > [9:20]
+|--NEWLINE -> \n [9:21]
+|--LEADING_ASTERISK -> * [10:0]
+|--TEXT -> [10:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:2]
+| `--PARAGRAPH -> PARAGRAPH [10:2]
+| |--P_TAG_START -> P_TAG_START [10:2]
+| | |--START -> < [10:2]
+| | |--P_HTML_TAG_NAME -> P [10:3]
+| | `--END -> > [10:4]
+| |--TEXT -> [10:5]
+| |--TH_TAG_START -> TH_TAG_START [10:6]
+| | |--START -> < [10:6]
+| | |--TH_HTML_TAG_NAME -> th [10:7]
+| | `--END -> > [10:9]
+| |--TEXT -> [10:10]
+| `--P_TAG_END -> P_TAG_END [10:11]
+| |--START -> < [10:11]
+| |--SLASH -> / [10:12]
+| |--P_HTML_TAG_NAME -> p [10:13]
+| `--END -> > [10:14]
+|--NEWLINE -> \n [10:15]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:2]
+| `--P_TAG_START -> P_TAG_START [11:2]
+| |--START -> < [11:2]
+| |--P_HTML_TAG_NAME -> p [11:3]
+| `--END -> > [11:4]
+|--TEXT -> [11:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:6]
+| `--TH_TAG_END -> TH_TAG_END [11:6]
+| |--START -> < [11:6]
+| |--SLASH -> / [11:7]
+| |--TH_HTML_TAG_NAME -> th [11:8]
+| `--END -> > [11:10]
+|--TEXT -> [11:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:12]
+| `--P_TAG_END -> P_TAG_END [11:12]
+| |--START -> < [11:12]
+| |--SLASH -> / [11:13]
+| |--P_HTML_TAG_NAME -> P [11:14]
+| `--END -> > [11:15]
+|--NEWLINE -> \n [11:16]
+|--LEADING_ASTERISK -> * [12:0]
+|--TEXT -> [12:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:2]
+| `--PARAGRAPH -> PARAGRAPH [12:2]
+| |--P_TAG_START -> P_TAG_START [12:2]
+| | |--START -> < [12:2]
+| | |--P_HTML_TAG_NAME -> p [12:3]
+| | `--END -> > [12:4]
+| |--TEXT -> [12:5]
+| |--BODY -> BODY [12:6]
+| | |--BODY_TAG_START -> BODY_TAG_START [12:6]
+| | | |--START -> < [12:6]
+| | | |--BODY_HTML_TAG_NAME -> body [12:7]
+| | | `--END -> > [12:11]
+| | |--TEXT -> [12:12]
+| | `--BODY_TAG_END -> BODY_TAG_END [12:13]
+| | |--START -> < [12:13]
+| | |--SLASH -> / [12:14]
+| | |--BODY_HTML_TAG_NAME -> body [12:15]
+| | `--END -> > [12:19]
+| |--TEXT -> [12:20]
+| `--P_TAG_END -> P_TAG_END [12:21]
+| |--START -> < [12:21]
+| |--SLASH -> / [12:22]
+| |--P_HTML_TAG_NAME -> p [12:23]
+| `--END -> > [12:24]
+|--NEWLINE -> \n [12:25]
+|--LEADING_ASTERISK -> * [13:0]
+|--TEXT -> [13:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:2]
+| `--PARAGRAPH -> PARAGRAPH [13:2]
+| |--P_TAG_START -> P_TAG_START [13:2]
+| | |--START -> < [13:2]
+| | |--P_HTML_TAG_NAME -> P [13:3]
+| | `--END -> > [13:4]
+| |--TEXT -> [13:5]
+| |--BODY_TAG_START -> BODY_TAG_START [13:6]
+| | |--START -> < [13:6]
+| | |--BODY_HTML_TAG_NAME -> body [13:7]
+| | `--END -> > [13:11]
+| |--TEXT -> [13:12]
+| `--P_TAG_END -> P_TAG_END [13:13]
+| |--START -> < [13:13]
+| |--SLASH -> / [13:14]
+| |--P_HTML_TAG_NAME -> p [13:15]
+| `--END -> > [13:16]
+|--NEWLINE -> \n [13:17]
+|--LEADING_ASTERISK -> * [14:0]
+|--TEXT -> [14:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:2]
+| `--P_TAG_START -> P_TAG_START [14:2]
+| |--START -> < [14:2]
+| |--P_HTML_TAG_NAME -> p [14:3]
+| `--END -> > [14:4]
+|--TEXT -> [14:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:6]
+| `--BODY_TAG_END -> BODY_TAG_END [14:6]
+| |--START -> < [14:6]
+| |--SLASH -> / [14:7]
+| |--BODY_HTML_TAG_NAME -> body [14:8]
+| `--END -> > [14:12]
+|--TEXT -> [14:13]
+|--HTML_ELEMENT -> HTML_ELEMENT [14:14]
+| `--P_TAG_END -> P_TAG_END [14:14]
+| |--START -> < [14:14]
+| |--SLASH -> / [14:15]
+| |--P_HTML_TAG_NAME -> P [14:16]
+| `--END -> > [14:17]
+|--NEWLINE -> \n [14:18]
+|--LEADING_ASTERISK -> * [15:0]
+|--TEXT -> [15:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [15:2]
+| `--PARAGRAPH -> PARAGRAPH [15:2]
+| |--P_TAG_START -> P_TAG_START [15:2]
+| | |--START -> < [15:2]
+| | |--P_HTML_TAG_NAME -> p [15:3]
+| | `--END -> > [15:4]
+| |--TEXT -> [15:5]
+| |--COLGROUP -> COLGROUP [15:6]
+| | |--COLGROUP_TAG_START -> COLGROUP_TAG_START [15:6]
+| | | |--START -> < [15:6]
+| | | |--COLGROUP_HTML_TAG_NAME -> colgroup [15:7]
+| | | `--END -> > [15:15]
+| | |--TEXT -> [15:16]
+| | `--COLGROUP_TAG_END -> COLGROUP_TAG_END [15:17]
+| | |--START -> < [15:17]
+| | |--SLASH -> / [15:18]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [15:19]
+| | `--END -> > [15:27]
+| |--TEXT -> [15:28]
+| `--P_TAG_END -> P_TAG_END [15:29]
+| |--START -> < [15:29]
+| |--SLASH -> / [15:30]
+| |--P_HTML_TAG_NAME -> p [15:31]
+| `--END -> > [15:32]
+|--NEWLINE -> \n [15:33]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:2]
+| `--PARAGRAPH -> PARAGRAPH [16:2]
+| |--P_TAG_START -> P_TAG_START [16:2]
+| | |--START -> < [16:2]
+| | |--P_HTML_TAG_NAME -> P [16:3]
+| | `--END -> > [16:4]
+| |--TEXT -> [16:5]
+| |--COLGROUP_TAG_START -> COLGROUP_TAG_START [16:6]
+| | |--START -> < [16:6]
+| | |--COLGROUP_HTML_TAG_NAME -> colgroup [16:7]
+| | `--END -> > [16:15]
+| |--TEXT -> [16:16]
+| `--P_TAG_END -> P_TAG_END [16:17]
+| |--START -> < [16:17]
+| |--SLASH -> / [16:18]
+| |--P_HTML_TAG_NAME -> p [16:19]
+| `--END -> > [16:20]
+|--NEWLINE -> \n [16:21]
+|--LEADING_ASTERISK -> * [17:0]
+|--TEXT -> [17:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:2]
+| `--P_TAG_START -> P_TAG_START [17:2]
+| |--START -> < [17:2]
+| |--P_HTML_TAG_NAME -> p [17:3]
+| `--END -> > [17:4]
+|--TEXT -> [17:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:6]
+| `--COLGROUP_TAG_END -> COLGROUP_TAG_END [17:6]
+| |--START -> < [17:6]
+| |--SLASH -> / [17:7]
+| |--COLGROUP_HTML_TAG_NAME -> colgroup [17:8]
+| `--END -> > [17:16]
+|--TEXT -> [17:17]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:18]
+| `--P_TAG_END -> P_TAG_END [17:18]
+| |--START -> < [17:18]
+| |--SLASH -> / [17:19]
+| |--P_HTML_TAG_NAME -> P [17:20]
+| `--END -> > [17:21]
+|--NEWLINE -> \n [17:22]
+|--LEADING_ASTERISK -> * [18:0]
+|--TEXT -> [18:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:2]
+| `--PARAGRAPH -> PARAGRAPH [18:2]
+| |--P_TAG_START -> P_TAG_START [18:2]
+| | |--START -> < [18:2]
+| | |--P_HTML_TAG_NAME -> p [18:3]
+| | `--END -> > [18:4]
+| |--TEXT -> [18:5]
+| |--DD -> DD [18:6]
+| | |--DD_TAG_START -> DD_TAG_START [18:6]
+| | | |--START -> < [18:6]
+| | | |--DD_HTML_TAG_NAME -> dd [18:7]
+| | | `--END -> > [18:9]
+| | |--TEXT -> [18:10]
+| | `--DD_TAG_END -> DD_TAG_END [18:11]
+| | |--START -> < [18:11]
+| | |--SLASH -> / [18:12]
+| | |--DD_HTML_TAG_NAME -> dd [18:13]
+| | `--END -> > [18:15]
+| |--TEXT -> [18:16]
+| `--P_TAG_END -> P_TAG_END [18:17]
+| |--START -> < [18:17]
+| |--SLASH -> / [18:18]
+| |--P_HTML_TAG_NAME -> p [18:19]
+| `--END -> > [18:20]
+|--NEWLINE -> \n [18:21]
+|--LEADING_ASTERISK -> * [19:0]
+|--TEXT -> [19:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:2]
+| `--PARAGRAPH -> PARAGRAPH [19:2]
+| |--P_TAG_START -> P_TAG_START [19:2]
+| | |--START -> < [19:2]
+| | |--P_HTML_TAG_NAME -> P [19:3]
+| | `--END -> > [19:4]
+| |--TEXT -> [19:5]
+| |--DD_TAG_START -> DD_TAG_START [19:6]
+| | |--START -> < [19:6]
+| | |--DD_HTML_TAG_NAME -> dd [19:7]
+| | `--END -> > [19:9]
+| |--TEXT -> [19:10]
+| `--P_TAG_END -> P_TAG_END [19:11]
+| |--START -> < [19:11]
+| |--SLASH -> / [19:12]
+| |--P_HTML_TAG_NAME -> p [19:13]
+| `--END -> > [19:14]
+|--NEWLINE -> \n [19:15]
+|--LEADING_ASTERISK -> * [20:0]
+|--TEXT -> [20:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:2]
+| `--P_TAG_START -> P_TAG_START [20:2]
+| |--START -> < [20:2]
+| |--P_HTML_TAG_NAME -> p [20:3]
+| `--END -> > [20:4]
+|--TEXT -> [20:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:6]
+| `--DD_TAG_END -> DD_TAG_END [20:6]
+| |--START -> < [20:6]
+| |--SLASH -> / [20:7]
+| |--DD_HTML_TAG_NAME -> dd [20:8]
+| `--END -> > [20:10]
+|--TEXT -> [20:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:12]
+| `--P_TAG_END -> P_TAG_END [20:12]
+| |--START -> < [20:12]
+| |--SLASH -> / [20:13]
+| |--P_HTML_TAG_NAME -> P [20:14]
+| `--END -> > [20:15]
+|--NEWLINE -> \n [20:16]
+|--LEADING_ASTERISK -> * [21:0]
+|--TEXT -> [21:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:2]
+| `--PARAGRAPH -> PARAGRAPH [21:2]
+| |--P_TAG_START -> P_TAG_START [21:2]
+| | |--START -> < [21:2]
+| | |--P_HTML_TAG_NAME -> p [21:3]
+| | `--END -> > [21:4]
+| |--TEXT -> [21:5]
+| |--DT -> DT [21:6]
+| | |--DT_TAG_START -> DT_TAG_START [21:6]
+| | | |--START -> < [21:6]
+| | | |--DT_HTML_TAG_NAME -> dt [21:7]
+| | | `--END -> > [21:9]
+| | |--TEXT -> [21:10]
+| | `--DT_TAG_END -> DT_TAG_END [21:11]
+| | |--START -> < [21:11]
+| | |--SLASH -> / [21:12]
+| | |--DT_HTML_TAG_NAME -> dt [21:13]
+| | `--END -> > [21:15]
+| |--TEXT -> [21:16]
+| `--P_TAG_END -> P_TAG_END [21:17]
+| |--START -> < [21:17]
+| |--SLASH -> / [21:18]
+| |--P_HTML_TAG_NAME -> p [21:19]
+| `--END -> > [21:20]
+|--NEWLINE -> \n [21:21]
+|--LEADING_ASTERISK -> * [22:0]
+|--TEXT -> [22:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:2]
+| `--PARAGRAPH -> PARAGRAPH [22:2]
+| |--P_TAG_START -> P_TAG_START [22:2]
+| | |--START -> < [22:2]
+| | |--P_HTML_TAG_NAME -> P [22:3]
+| | `--END -> > [22:4]
+| |--TEXT -> [22:5]
+| |--DT_TAG_START -> DT_TAG_START [22:6]
+| | |--START -> < [22:6]
+| | |--DT_HTML_TAG_NAME -> dt [22:7]
+| | `--END -> > [22:9]
+| |--TEXT -> [22:10]
+| `--P_TAG_END -> P_TAG_END [22:11]
+| |--START -> < [22:11]
+| |--SLASH -> / [22:12]
+| |--P_HTML_TAG_NAME -> p [22:13]
+| `--END -> > [22:14]
+|--NEWLINE -> \n [22:15]
+|--LEADING_ASTERISK -> * [23:0]
+|--TEXT -> [23:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:2]
+| `--P_TAG_START -> P_TAG_START [23:2]
+| |--START -> < [23:2]
+| |--P_HTML_TAG_NAME -> p [23:3]
+| `--END -> > [23:4]
+|--TEXT -> [23:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:6]
+| `--DT_TAG_END -> DT_TAG_END [23:6]
+| |--START -> < [23:6]
+| |--SLASH -> / [23:7]
+| |--DT_HTML_TAG_NAME -> dt [23:8]
+| `--END -> > [23:10]
+|--TEXT -> [23:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:12]
+| `--P_TAG_END -> P_TAG_END [23:12]
+| |--START -> < [23:12]
+| |--SLASH -> / [23:13]
+| |--P_HTML_TAG_NAME -> P [23:14]
+| `--END -> > [23:15]
+|--NEWLINE -> \n [23:16]
+|--LEADING_ASTERISK -> * [24:0]
+|--TEXT -> [24:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:2]
+| `--PARAGRAPH -> PARAGRAPH [24:2]
+| |--P_TAG_START -> P_TAG_START [24:2]
+| | |--START -> < [24:2]
+| | |--P_HTML_TAG_NAME -> p [24:3]
+| | `--END -> > [24:4]
+| |--TEXT -> [24:5]
+| |--HEAD -> HEAD [24:6]
+| | |--HEAD_TAG_START -> HEAD_TAG_START [24:6]
+| | | |--START -> < [24:6]
+| | | |--HEAD_HTML_TAG_NAME -> head [24:7]
+| | | `--END -> > [24:11]
+| | |--TEXT -> [24:12]
+| | `--HEAD_TAG_END -> HEAD_TAG_END [24:13]
+| | |--START -> < [24:13]
+| | |--SLASH -> / [24:14]
+| | |--HEAD_HTML_TAG_NAME -> head [24:15]
+| | `--END -> > [24:19]
+| |--TEXT -> [24:20]
+| `--P_TAG_END -> P_TAG_END [24:21]
+| |--START -> < [24:21]
+| |--SLASH -> / [24:22]
+| |--P_HTML_TAG_NAME -> p [24:23]
+| `--END -> > [24:24]
+|--NEWLINE -> \n [24:25]
+|--LEADING_ASTERISK -> * [25:0]
+|--TEXT -> [25:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:2]
+| `--PARAGRAPH -> PARAGRAPH [25:2]
+| |--P_TAG_START -> P_TAG_START [25:2]
+| | |--START -> < [25:2]
+| | |--P_HTML_TAG_NAME -> P [25:3]
+| | `--END -> > [25:4]
+| |--TEXT -> [25:5]
+| |--HEAD_TAG_START -> HEAD_TAG_START [25:6]
+| | |--START -> < [25:6]
+| | |--HEAD_HTML_TAG_NAME -> head [25:7]
+| | `--END -> > [25:11]
+| |--TEXT -> [25:12]
+| `--P_TAG_END -> P_TAG_END [25:13]
+| |--START -> < [25:13]
+| |--SLASH -> / [25:14]
+| |--P_HTML_TAG_NAME -> p [25:15]
+| `--END -> > [25:16]
+|--NEWLINE -> \n [25:17]
+|--LEADING_ASTERISK -> * [26:0]
+|--TEXT -> [26:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:2]
+| `--P_TAG_START -> P_TAG_START [26:2]
+| |--START -> < [26:2]
+| |--P_HTML_TAG_NAME -> p [26:3]
+| `--END -> > [26:4]
+|--TEXT -> [26:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:6]
+| `--HEAD_TAG_END -> HEAD_TAG_END [26:6]
+| |--START -> < [26:6]
+| |--SLASH -> / [26:7]
+| |--HEAD_HTML_TAG_NAME -> head [26:8]
+| `--END -> > [26:12]
+|--TEXT -> [26:13]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:14]
+| `--P_TAG_END -> P_TAG_END [26:14]
+| |--START -> < [26:14]
+| |--SLASH -> / [26:15]
+| |--P_HTML_TAG_NAME -> P [26:16]
+| `--END -> > [26:17]
+|--NEWLINE -> \n [26:18]
+|--LEADING_ASTERISK -> * [27:0]
+|--TEXT -> [27:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:2]
+| `--PARAGRAPH -> PARAGRAPH [27:2]
+| |--P_TAG_START -> P_TAG_START [27:2]
+| | |--START -> < [27:2]
+| | |--P_HTML_TAG_NAME -> p [27:3]
+| | `--END -> > [27:4]
+| |--TEXT -> [27:5]
+| |--HTML -> HTML [27:6]
+| | |--HTML_TAG_START -> HTML_TAG_START [27:6]
+| | | |--START -> < [27:6]
+| | | |--HTML_HTML_TAG_NAME -> html [27:7]
+| | | `--END -> > [27:11]
+| | |--TEXT -> [27:12]
+| | `--HTML_TAG_END -> HTML_TAG_END [27:13]
+| | |--START -> < [27:13]
+| | |--SLASH -> / [27:14]
+| | |--HTML_HTML_TAG_NAME -> html [27:15]
+| | `--END -> > [27:19]
+| |--TEXT -> [27:20]
+| `--P_TAG_END -> P_TAG_END [27:21]
+| |--START -> < [27:21]
+| |--SLASH -> / [27:22]
+| |--P_HTML_TAG_NAME -> p [27:23]
+| `--END -> > [27:24]
+|--NEWLINE -> \n [27:25]
+|--LEADING_ASTERISK -> * [28:0]
+|--TEXT -> [28:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:2]
+| `--PARAGRAPH -> PARAGRAPH [28:2]
+| |--P_TAG_START -> P_TAG_START [28:2]
+| | |--START -> < [28:2]
+| | |--P_HTML_TAG_NAME -> P [28:3]
+| | `--END -> > [28:4]
+| |--TEXT -> [28:5]
+| |--HTML_TAG_START -> HTML_TAG_START [28:6]
+| | |--START -> < [28:6]
+| | |--HTML_HTML_TAG_NAME -> html [28:7]
+| | `--END -> > [28:11]
+| |--TEXT -> [28:12]
+| `--P_TAG_END -> P_TAG_END [28:13]
+| |--START -> < [28:13]
+| |--SLASH -> / [28:14]
+| |--P_HTML_TAG_NAME -> p [28:15]
+| `--END -> > [28:16]
+|--NEWLINE -> \n [28:17]
+|--LEADING_ASTERISK -> * [29:0]
+|--TEXT -> [29:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:2]
+| `--P_TAG_START -> P_TAG_START [29:2]
+| |--START -> < [29:2]
+| |--P_HTML_TAG_NAME -> p [29:3]
+| `--END -> > [29:4]
+|--TEXT -> [29:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:6]
+| `--HTML_TAG_END -> HTML_TAG_END [29:6]
+| |--START -> < [29:6]
+| |--SLASH -> / [29:7]
+| |--HTML_HTML_TAG_NAME -> html [29:8]
+| `--END -> > [29:12]
+|--TEXT -> [29:13]
+|--HTML_ELEMENT -> HTML_ELEMENT [29:14]
+| `--P_TAG_END -> P_TAG_END [29:14]
+| |--START -> < [29:14]
+| |--SLASH -> / [29:15]
+| |--P_HTML_TAG_NAME -> P [29:16]
+| `--END -> > [29:17]
+|--NEWLINE -> \n [29:18]
+|--LEADING_ASTERISK -> * [30:0]
+|--TEXT -> [30:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [30:2]
+| `--PARAGRAPH -> PARAGRAPH [30:2]
+| |--P_TAG_START -> P_TAG_START [30:2]
+| | |--START -> < [30:2]
+| | |--P_HTML_TAG_NAME -> p [30:3]
+| | `--END -> > [30:4]
+| |--TEXT -> [30:5]
+| |--OPTION -> OPTION [30:6]
+| | |--OPTION_TAG_START -> OPTION_TAG_START [30:6]
+| | | |--START -> < [30:6]
+| | | |--OPTION_HTML_TAG_NAME -> option [30:7]
+| | | `--END -> > [30:13]
+| | |--TEXT -> [30:14]
+| | `--OPTION_TAG_END -> OPTION_TAG_END [30:15]
+| | |--START -> < [30:15]
+| | |--SLASH -> / [30:16]
+| | |--OPTION_HTML_TAG_NAME -> option [30:17]
+| | `--END -> > [30:23]
+| |--TEXT -> [30:24]
+| `--P_TAG_END -> P_TAG_END [30:25]
+| |--START -> < [30:25]
+| |--SLASH -> / [30:26]
+| |--P_HTML_TAG_NAME -> p [30:27]
+| `--END -> > [30:28]
+|--NEWLINE -> \n [30:29]
+|--LEADING_ASTERISK -> * [31:0]
+|--TEXT -> [31:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [31:2]
+| `--PARAGRAPH -> PARAGRAPH [31:2]
+| |--P_TAG_START -> P_TAG_START [31:2]
+| | |--START -> < [31:2]
+| | |--P_HTML_TAG_NAME -> P [31:3]
+| | `--END -> > [31:4]
+| |--TEXT -> [31:5]
+| |--OPTION_TAG_START -> OPTION_TAG_START [31:6]
+| | |--START -> < [31:6]
+| | |--OPTION_HTML_TAG_NAME -> option [31:7]
+| | `--END -> > [31:13]
+| |--TEXT -> [31:14]
+| `--P_TAG_END -> P_TAG_END [31:15]
+| |--START -> < [31:15]
+| |--SLASH -> / [31:16]
+| |--P_HTML_TAG_NAME -> p [31:17]
+| `--END -> > [31:18]
+|--NEWLINE -> \n [31:19]
+|--LEADING_ASTERISK -> * [32:0]
+|--TEXT -> [32:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:2]
+| `--P_TAG_START -> P_TAG_START [32:2]
+| |--START -> < [32:2]
+| |--P_HTML_TAG_NAME -> p [32:3]
+| `--END -> > [32:4]
+|--TEXT -> [32:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:6]
+| `--OPTION_TAG_END -> OPTION_TAG_END [32:6]
+| |--START -> < [32:6]
+| |--SLASH -> / [32:7]
+| |--OPTION_HTML_TAG_NAME -> option [32:8]
+| `--END -> > [32:14]
+|--TEXT -> [32:15]
+|--HTML_ELEMENT -> HTML_ELEMENT [32:16]
+| `--P_TAG_END -> P_TAG_END [32:16]
+| |--START -> < [32:16]
+| |--SLASH -> / [32:17]
+| |--P_HTML_TAG_NAME -> P [32:18]
+| `--END -> > [32:19]
+|--NEWLINE -> \n [32:20]
+|--LEADING_ASTERISK -> * [33:0]
+|--TEXT -> [33:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [33:2]
+| `--PARAGRAPH -> PARAGRAPH [33:2]
+| |--P_TAG_START -> P_TAG_START [33:2]
+| | |--START -> < [33:2]
+| | |--P_HTML_TAG_NAME -> p [33:3]
+| | `--END -> > [33:4]
+| |--TEXT -> [33:5]
+| |--TBODY -> TBODY [33:6]
+| | |--TBODY_TAG_START -> TBODY_TAG_START [33:6]
+| | | |--START -> < [33:6]
+| | | |--TBODY_HTML_TAG_NAME -> tbody [33:7]
+| | | `--END -> > [33:12]
+| | |--TEXT -> [33:13]
+| | `--TBODY_TAG_END -> TBODY_TAG_END [33:14]
+| | |--START -> < [33:14]
+| | |--SLASH -> / [33:15]
+| | |--TBODY_HTML_TAG_NAME -> tbody [33:16]
+| | `--END -> > [33:21]
+| |--TEXT -> [33:22]
+| `--P_TAG_END -> P_TAG_END [33:23]
+| |--START -> < [33:23]
+| |--SLASH -> / [33:24]
+| |--P_HTML_TAG_NAME -> p [33:25]
+| `--END -> > [33:26]
+|--NEWLINE -> \n [33:27]
+|--LEADING_ASTERISK -> * [34:0]
+|--TEXT -> [34:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [34:2]
+| `--PARAGRAPH -> PARAGRAPH [34:2]
+| |--P_TAG_START -> P_TAG_START [34:2]
+| | |--START -> < [34:2]
+| | |--P_HTML_TAG_NAME -> P [34:3]
+| | `--END -> > [34:4]
+| |--TEXT -> [34:5]
+| |--TBODY_TAG_START -> TBODY_TAG_START [34:6]
+| | |--START -> < [34:6]
+| | |--TBODY_HTML_TAG_NAME -> tbody [34:7]
+| | `--END -> > [34:12]
+| |--TEXT -> [34:13]
+| `--P_TAG_END -> P_TAG_END [34:14]
+| |--START -> < [34:14]
+| |--SLASH -> / [34:15]
+| |--P_HTML_TAG_NAME -> p [34:16]
+| `--END -> > [34:17]
+|--NEWLINE -> \n [34:18]
+|--LEADING_ASTERISK -> * [35:0]
+|--TEXT -> [35:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:2]
+| `--P_TAG_START -> P_TAG_START [35:2]
+| |--START -> < [35:2]
+| |--P_HTML_TAG_NAME -> p [35:3]
+| `--END -> > [35:4]
+|--TEXT -> [35:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:6]
+| `--TBODY_TAG_END -> TBODY_TAG_END [35:6]
+| |--START -> < [35:6]
+| |--SLASH -> / [35:7]
+| |--TBODY_HTML_TAG_NAME -> tbody [35:8]
+| `--END -> > [35:13]
+|--TEXT -> [35:14]
+|--HTML_ELEMENT -> HTML_ELEMENT [35:15]
+| `--P_TAG_END -> P_TAG_END [35:15]
+| |--START -> < [35:15]
+| |--SLASH -> / [35:16]
+| |--P_HTML_TAG_NAME -> P [35:17]
+| `--END -> > [35:18]
+|--NEWLINE -> \n [35:19]
+|--LEADING_ASTERISK -> * [36:0]
+|--TEXT -> [36:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [36:2]
+| `--PARAGRAPH -> PARAGRAPH [36:2]
+| |--P_TAG_START -> P_TAG_START [36:2]
+| | |--START -> < [36:2]
+| | |--P_HTML_TAG_NAME -> p [36:3]
+| | `--END -> > [36:4]
+| |--TEXT -> [36:5]
+| |--TFOOT -> TFOOT [36:6]
+| | |--TFOOT_TAG_START -> TFOOT_TAG_START [36:6]
+| | | |--START -> < [36:6]
+| | | |--TFOOT_HTML_TAG_NAME -> tfoot [36:7]
+| | | `--END -> > [36:12]
+| | |--TEXT -> [36:13]
+| | `--TFOOT_TAG_END -> TFOOT_TAG_END [36:14]
+| | |--START -> < [36:14]
+| | |--SLASH -> / [36:15]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [36:16]
+| | `--END -> > [36:21]
+| |--TEXT -> [36:22]
+| `--P_TAG_END -> P_TAG_END [36:23]
+| |--START -> < [36:23]
+| |--SLASH -> / [36:24]
+| |--P_HTML_TAG_NAME -> p [36:25]
+| `--END -> > [36:26]
+|--NEWLINE -> \n [36:27]
+|--LEADING_ASTERISK -> * [37:0]
+|--TEXT -> [37:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [37:2]
+| `--PARAGRAPH -> PARAGRAPH [37:2]
+| |--P_TAG_START -> P_TAG_START [37:2]
+| | |--START -> < [37:2]
+| | |--P_HTML_TAG_NAME -> P [37:3]
+| | `--END -> > [37:4]
+| |--TEXT -> [37:5]
+| |--TFOOT_TAG_START -> TFOOT_TAG_START [37:6]
+| | |--START -> < [37:6]
+| | |--TFOOT_HTML_TAG_NAME -> tfoot [37:7]
+| | `--END -> > [37:12]
+| |--TEXT -> [37:13]
+| `--P_TAG_END -> P_TAG_END [37:14]
+| |--START -> < [37:14]
+| |--SLASH -> / [37:15]
+| |--P_HTML_TAG_NAME -> p [37:16]
+| `--END -> > [37:17]
+|--NEWLINE -> \n [37:18]
+|--LEADING_ASTERISK -> * [38:0]
+|--TEXT -> [38:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:2]
+| `--P_TAG_START -> P_TAG_START [38:2]
+| |--START -> < [38:2]
+| |--P_HTML_TAG_NAME -> p [38:3]
+| `--END -> > [38:4]
+|--TEXT -> [38:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:6]
+| `--TFOOT_TAG_END -> TFOOT_TAG_END [38:6]
+| |--START -> < [38:6]
+| |--SLASH -> / [38:7]
+| |--TFOOT_HTML_TAG_NAME -> tfoot [38:8]
+| `--END -> > [38:13]
+|--TEXT -> [38:14]
+|--HTML_ELEMENT -> HTML_ELEMENT [38:15]
+| `--P_TAG_END -> P_TAG_END [38:15]
+| |--START -> < [38:15]
+| |--SLASH -> / [38:16]
+| |--P_HTML_TAG_NAME -> P [38:17]
+| `--END -> > [38:18]
+|--NEWLINE -> \n [38:19]
+|--LEADING_ASTERISK -> * [39:0]
+|--TEXT -> [39:1]
+|--HTML_ELEMENT -> HTML_ELEMENT [39:2]
+| `--PARAGRAPH -> PARAGRAPH [39:2]
+| |--P_TAG_START -> P_TAG_START [39:2]
+| | |--START -> < [39:2]
+| | |--P_HTML_TAG_NAME -> p [39:3]
+| | |--WS -> [39:4]
+| | |--ATTRIBUTE -> ATTRIBUTE [39:5]
+| | | |--HTML_TAG_NAME -> style [39:5]
+| | | |--EQUALS -> = [39:10]
+| | | `--ATTR_VALUE -> "color:red" [39:11]
+| | |--WS -> [39:23]
+| | |--NEWLINE -> \n [39:24]
+| | |--LEADING_ASTERISK -> * [40:0]
+| | |--WS -> [40:1]
+| | |--NEWLINE -> \n [40:10]
+| | |--LEADING_ASTERISK -> * [41:0]
+| | |--WS -> [41:1]
+| | `--END -> > [41:2]
+| |--TEXT -> [41:3]
+| |--HTML_COMMENT -> HTML_COMMENT [41:4]
+| | |--HTML_COMMENT_START -> <!-- [41:4]
+| | |--TEXT -> HTML COMMENT [41:8]
+| | `--HTML_COMMENT_END -> --> [41:20]
+| |--TEXT -> [41:23]
+| `--P_TAG_END -> P_TAG_END [41:25]
+| |--START -> < [41:25]
+| |--SLASH -> / [41:26]
+| |--P_HTML_TAG_NAME -> p [41:27]
+| |--WS -> [41:28]
+| |--NEWLINE -> \n [41:32]
+| |--LEADING_ASTERISK -> * [42:0]
+| |--WS -> [42:1]
+| |--NEWLINE -> \n [42:2]
+| |--LEADING_ASTERISK -> * [43:0]
+| |--WS -> [43:1]
+| `--END -> > [43:2]
+`--EOF -> <EOF> [43:3]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedAndClosedParagraphsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedAndClosedParagraphsAst.txt
index b5b2d35d0..04bf49eff 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedAndClosedParagraphsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedAndClosedParagraphsAst.txt
@@ -1,24 +1,24 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
-| `--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| |--OPEN -> < [0:0]
+| `--P_TAG_START -> P_TAG_START [0:0]
+| |--START -> < [0:0]
| |--P_HTML_TAG_NAME -> p [0:1]
-| `--CLOSE -> > [0:2]
+| `--END -> > [0:2]
|--NEWLINE -> \r\n [0:3]
|--TEXT -> first paragraph [1:0]
|--NEWLINE -> \r\n [1:15]
|--HTML_ELEMENT -> HTML_ELEMENT [2:0]
| `--PARAGRAPH -> PARAGRAPH [2:0]
-| |--P_TAG_OPEN -> P_TAG_OPEN [2:0]
-| | |--OPEN -> < [2:0]
+| |--P_TAG_START -> P_TAG_START [2:0]
+| | |--START -> < [2:0]
| | |--P_HTML_TAG_NAME -> p [2:1]
-| | `--CLOSE -> > [2:2]
+| | `--END -> > [2:2]
| |--NEWLINE -> \r\n [2:3]
| |--TEXT -> second paragraph [3:0]
| |--NEWLINE -> \r\n [3:16]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [4:0]
-| |--OPEN -> < [4:0]
+| `--P_TAG_END -> P_TAG_END [4:0]
+| |--START -> < [4:0]
| |--SLASH -> / [4:1]
| |--P_HTML_TAG_NAME -> p [4:2]
-| `--CLOSE -> > [4:3]
+| `--END -> > [4:3]
`--EOF -> <EOF> [4:4]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedParagraphFollowedByJavadocTagAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedParagraphFollowedByJavadocTagAst.txt
index e92bbd731..a969f01ad 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedParagraphFollowedByJavadocTagAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedUnclosedParagraphFollowedByJavadocTagAst.txt
@@ -1,14 +1,14 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
-| `--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| |--OPEN -> < [0:0]
+| `--P_TAG_START -> P_TAG_START [0:0]
+| |--START -> < [0:0]
| |--P_HTML_TAG_NAME -> p [0:1]
| |--WS -> [0:2]
| |--ATTRIBUTE -> ATTRIBUTE [0:3]
| | |--HTML_TAG_NAME -> style [0:3]
| | |--EQUALS -> = [0:8]
| | `--ATTR_VALUE -> "color: red;" [0:9]
-| `--CLOSE -> > [0:23]
+| `--END -> > [0:23]
|--NEWLINE -> \r\n [0:24]
|--TEXT -> \ttext text [1:0]
|--NEWLINE -> \r\n [1:10]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedVoidElementsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedVoidElementsAst.txt
new file mode 100644
index 000000000..0d5796cac
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/htmlTags/expectedVoidElementsAst.txt
@@ -0,0 +1,198 @@
+JAVADOC -> JAVADOC [0:0]
+|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [0:0]
+| `--AREA_TAG -> AREA_TAG [0:0]
+| |--START -> < [0:0]
+| |--AREA_HTML_TAG_NAME -> area [0:1]
+| `--END -> > [0:5]
+|--NEWLINE -> \n [0:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [1:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:0]
+| `--BASE_TAG -> BASE_TAG [1:0]
+| |--START -> < [1:0]
+| |--BASE_HTML_TAG_NAME -> base [1:1]
+| `--END -> > [1:5]
+|--NEWLINE -> \n [1:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [2:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [2:0]
+| `--BASEFONT_TAG -> BASEFONT_TAG [2:0]
+| |--START -> < [2:0]
+| |--BASEFONT_HTML_TAG_NAME -> basefont [2:1]
+| `--END -> > [2:9]
+|--NEWLINE -> \n [2:10]
+|--HTML_ELEMENT -> HTML_ELEMENT [3:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [3:0]
+| `--BR_TAG -> BR_TAG [3:0]
+| |--START -> < [3:0]
+| |--BR_HTML_TAG_NAME -> br [3:1]
+| `--END -> > [3:3]
+|--NEWLINE -> \n [3:4]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [4:0]
+| `--COL_TAG -> COL_TAG [4:0]
+| |--START -> < [4:0]
+| |--COL_HTML_TAG_NAME -> col [4:1]
+| `--END -> > [4:4]
+|--NEWLINE -> \n [4:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [5:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [5:0]
+| `--FRAME_TAG -> FRAME_TAG [5:0]
+| |--START -> < [5:0]
+| |--FRAME_HTML_TAG_NAME -> frame [5:1]
+| `--END -> > [5:6]
+|--NEWLINE -> \n [5:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [6:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [6:0]
+| `--HR_TAG -> HR_TAG [6:0]
+| |--START -> < [6:0]
+| |--HR_HTML_TAG_NAME -> hr [6:1]
+| `--END -> > [6:3]
+|--NEWLINE -> \n [6:4]
+|--HTML_ELEMENT -> HTML_ELEMENT [7:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [7:0]
+| `--IMG_TAG -> IMG_TAG [7:0]
+| |--START -> < [7:0]
+| |--IMG_HTML_TAG_NAME -> img [7:1]
+| `--END -> > [7:4]
+|--NEWLINE -> \n [7:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [8:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [8:0]
+| `--INPUT_TAG -> INPUT_TAG [8:0]
+| |--START -> < [8:0]
+| |--INPUT_HTML_TAG_NAME -> input [8:1]
+| `--END -> > [8:6]
+|--NEWLINE -> \n [8:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [9:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [9:0]
+| `--ISINDEX_TAG -> ISINDEX_TAG [9:0]
+| |--START -> < [9:0]
+| |--ISINDEX_HTML_TAG_NAME -> isindex [9:1]
+| `--END -> > [9:8]
+|--NEWLINE -> \n [9:9]
+|--HTML_ELEMENT -> HTML_ELEMENT [10:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [10:0]
+| `--LINK_TAG -> LINK_TAG [10:0]
+| |--START -> < [10:0]
+| |--LINK_HTML_TAG_NAME -> link [10:1]
+| `--END -> > [10:5]
+|--NEWLINE -> \n [10:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [11:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [11:0]
+| `--META_TAG -> META_TAG [11:0]
+| |--START -> < [11:0]
+| |--META_HTML_TAG_NAME -> meta [11:1]
+| `--END -> > [11:5]
+|--NEWLINE -> \n [11:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [12:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [12:0]
+| `--PARAM_TAG -> PARAM_TAG [12:0]
+| |--START -> < [12:0]
+| |--PARAM_HTML_TAG_NAME -> param [12:1]
+| `--END -> > [12:6]
+|--NEWLINE -> \n [12:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [13:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [13:0]
+| `--EMBED_TAG -> EMBED_TAG [13:0]
+| |--START -> < [13:0]
+| |--EMBED_HTML_TAG_NAME -> embed [13:1]
+| `--END -> > [13:6]
+|--NEWLINE -> \n [13:7]
+|--NEWLINE -> \n [14:0]
+|--HTML_ELEMENT -> HTML_ELEMENT [15:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [15:0]
+| `--AREA_TAG -> AREA_TAG [15:0]
+| |--START -> < [15:0]
+| |--AREA_HTML_TAG_NAME -> area [15:1]
+| `--SLASH_END -> /> [15:5]
+|--NEWLINE -> \n [15:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [16:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [16:0]
+| `--BASE_TAG -> BASE_TAG [16:0]
+| |--START -> < [16:0]
+| |--BASE_HTML_TAG_NAME -> base [16:1]
+| `--SLASH_END -> /> [16:5]
+|--NEWLINE -> \n [16:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [17:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [17:0]
+| `--BASEFONT_TAG -> BASEFONT_TAG [17:0]
+| |--START -> < [17:0]
+| |--BASEFONT_HTML_TAG_NAME -> basefont [17:1]
+| `--SLASH_END -> /> [17:9]
+|--NEWLINE -> \n [17:11]
+|--HTML_ELEMENT -> HTML_ELEMENT [18:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [18:0]
+| `--BR_TAG -> BR_TAG [18:0]
+| |--START -> < [18:0]
+| |--BR_HTML_TAG_NAME -> br [18:1]
+| `--SLASH_END -> /> [18:3]
+|--NEWLINE -> \n [18:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [19:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [19:0]
+| `--COL_TAG -> COL_TAG [19:0]
+| |--START -> < [19:0]
+| |--COL_HTML_TAG_NAME -> col [19:1]
+| `--SLASH_END -> /> [19:4]
+|--NEWLINE -> \n [19:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [20:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [20:0]
+| `--FRAME_TAG -> FRAME_TAG [20:0]
+| |--START -> < [20:0]
+| |--FRAME_HTML_TAG_NAME -> frame [20:1]
+| `--SLASH_END -> /> [20:6]
+|--NEWLINE -> \n [20:8]
+|--HTML_ELEMENT -> HTML_ELEMENT [21:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [21:0]
+| `--HR_TAG -> HR_TAG [21:0]
+| |--START -> < [21:0]
+| |--HR_HTML_TAG_NAME -> hr [21:1]
+| `--SLASH_END -> /> [21:3]
+|--NEWLINE -> \n [21:5]
+|--HTML_ELEMENT -> HTML_ELEMENT [22:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [22:0]
+| `--IMG_TAG -> IMG_TAG [22:0]
+| |--START -> < [22:0]
+| |--IMG_HTML_TAG_NAME -> img [22:1]
+| `--SLASH_END -> /> [22:4]
+|--NEWLINE -> \n [22:6]
+|--HTML_ELEMENT -> HTML_ELEMENT [23:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [23:0]
+| `--INPUT_TAG -> INPUT_TAG [23:0]
+| |--START -> < [23:0]
+| |--INPUT_HTML_TAG_NAME -> input [23:1]
+| `--SLASH_END -> /> [23:6]
+|--NEWLINE -> \n [23:8]
+|--HTML_ELEMENT -> HTML_ELEMENT [24:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [24:0]
+| `--ISINDEX_TAG -> ISINDEX_TAG [24:0]
+| |--START -> < [24:0]
+| |--ISINDEX_HTML_TAG_NAME -> isindex [24:1]
+| `--SLASH_END -> /> [24:8]
+|--NEWLINE -> \n [24:10]
+|--HTML_ELEMENT -> HTML_ELEMENT [25:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [25:0]
+| `--LINK_TAG -> LINK_TAG [25:0]
+| |--START -> < [25:0]
+| |--LINK_HTML_TAG_NAME -> link [25:1]
+| `--SLASH_END -> /> [25:5]
+|--NEWLINE -> \n [25:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [26:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [26:0]
+| `--META_TAG -> META_TAG [26:0]
+| |--START -> < [26:0]
+| |--META_HTML_TAG_NAME -> meta [26:1]
+| `--SLASH_END -> /> [26:5]
+|--NEWLINE -> \n [26:7]
+|--HTML_ELEMENT -> HTML_ELEMENT [27:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [27:0]
+| `--PARAM_TAG -> PARAM_TAG [27:0]
+| |--START -> < [27:0]
+| |--PARAM_HTML_TAG_NAME -> param [27:1]
+| `--SLASH_END -> /> [27:6]
+|--NEWLINE -> \n [27:8]
+|--HTML_ELEMENT -> HTML_ELEMENT [28:0]
+| `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [28:0]
+| `--EMBED_TAG -> EMBED_TAG [28:0]
+| |--START -> < [28:0]
+| |--EMBED_HTML_TAG_NAME -> embed [28:1]
+| `--SLASH_END -> /> [28:6]
+`--EOF -> <EOF> [28:8]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputLeadingAsteriskAfterSeeTag.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputLeadingAsteriskAfterSeeTag.javadoc
new file mode 100644
index 000000000..50aa9ffa5
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputLeadingAsteriskAfterSeeTag.javadoc
@@ -0,0 +1,6 @@
+* @see
+* "string"
+
+* @see
+* package.Class#member()
+* Description \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeArgsInInlineTags.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeArgsInInlineTags.javadoc
new file mode 100644
index 000000000..965d2c9bd
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeArgsInInlineTags.javadoc
@@ -0,0 +1,18 @@
+* {@link
+* reference
+* Description-on-multiple-
+* lines}
+
+* {@linkplain
+* reference
+* Description-on-multiple-
+* lines}
+
+
+* {@customlink
+* reference
+* Description-on-multiple-
+* lines}
+
+* {@value
+* Reference} \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeDescriptionInBlockJavadocTags.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeDescriptionInBlockJavadocTags.javadoc
new file mode 100644
index 000000000..a065595da
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputSpaceBeforeDescriptionInBlockJavadocTags.javadoc
@@ -0,0 +1,44 @@
+* @author
+ author-name <br attr="value"/>
+
+* @deprecated
+ deprecated-text
+
+* @exception CustomEx
+ {@link CustomEx} <b>Internal</b>
+
+* @param ParamName
+ Param-description
+
+* @return
+ return-description
+
+* @serial
+ DESCRIPTION
+
+* @serial
+include
+
+* @serialData
+ DESCRIPTION
+ on multiple lines
+
+* @serialField fieldname fieldtype
+
+ description
+
+* @since
+ 8.2
+
+* @throws Exception Exception-description
+ spanning multiple lines
+
+* @version
+ 8.2 - 8.3 - 8.4...
+
+* @customTag
+
+ DESCRIPTION
+
+* @see package.Class#member(Object, Object)
+* Description \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputUppercaseInPackageName.javadoc b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputUppercaseInPackageName.javadoc
new file mode 100644
index 000000000..754c4d1ff
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/InputUppercaseInPackageName.javadoc
@@ -0,0 +1,29 @@
+* @see #fn
+* @see #FN
+* @see #C(Type)
+* @see #CN(Type id)
+* @see #mN(Type id, Type, Type id)
+* @see CN#fieldName
+* @see CN#fn
+* @see name#FN
+* @see CN#C(Type)
+* @see CN#CN(Type id)
+* @see CN#mN(Type id, Type, Type id)
+* @see lowercase.UPPERCASE.CamelCase.packageName.ClassName#fieldName
+* @see lowercase.UPPERCASE.CamelCase.packageName.ClassName#fn
+* @see lowercase.UPPERCASE.CamelCase.packageName.ClassName#FN
+* @see lowercase.UPPERCASE.CamelCase.packageName.ClassName#C(Type)
+* @see lowercase.UPPERCASE.CamelCase.packageName.ClassName#CN(Type id)
+* @see pn.CN#mN(Type id, Type, Type id)
+* @see pn.CN#FN
+* @see pn.CN#m
+* @see lowercase.UPPERCASE.CamelCase.packageName
+* @see pn.p
+* @see pn
+* @see Up.Lo <p>Up.Lo is a package</p>
+* @see Up.Lo#member
+ <p><a href="org.UpLo">Up.Lo</a> is a <b>class</b></p>
+* @see package.Class.NestedClassAtDepth1.NestedClassAtDepth2#member
+<p> Separate package from class without context
+* </p>
+* @see javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent () \ No newline at end of file
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllJavadocInlineTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllJavadocInlineTagsAst.txt
index ea5c5d09e..e107a3696 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllJavadocInlineTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllJavadocInlineTagsAst.txt
@@ -28,9 +28,10 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [0:64]
| |--WS -> [0:69]
| |--REFERENCE -> REFERENCE [0:70]
-| | `--CLASS -> A [0:70]
-| |--DESCRIPTION -> DESCRIPTION [0:71]
-| | `--TEXT -> A class [0:71]
+| | `--PACKAGE_CLASS -> A [0:70]
+| |--WS -> [0:71]
+| |--DESCRIPTION -> DESCRIPTION [0:72]
+| | `--TEXT -> A class [0:72]
| `--JAVADOC_INLINE_TAG_END -> } [0:79]
|--TEXT -> [0:80]
|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [0:81]
@@ -38,9 +39,10 @@ JAVADOC -> JAVADOC [0:0]
| |--LINKPLAIN_LITERAL -> @linkplain [0:82]
| |--WS -> [0:92]
| |--REFERENCE -> REFERENCE [0:93]
-| | `--CLASS -> A [0:93]
-| |--DESCRIPTION -> DESCRIPTION [0:94]
-| | `--TEXT -> another link [0:94]
+| | `--PACKAGE_CLASS -> A [0:93]
+| |--WS -> [0:94]
+| |--DESCRIPTION -> DESCRIPTION [0:95]
+| | `--TEXT -> another link [0:95]
| `--JAVADOC_INLINE_TAG_END -> } [0:107]
|--TEXT -> [0:108]
|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [0:109]
@@ -48,9 +50,7 @@ JAVADOC -> JAVADOC [0:0]
| |--VALUE_LITERAL -> @value [0:110]
| |--WS -> [0:116]
| |--REFERENCE -> REFERENCE [0:117]
-| | |--PACKAGE -> lang [0:117]
-| | |--DOT -> . [0:121]
-| | |--CLASS -> Integer [0:122]
+| | |--PACKAGE_CLASS -> lang.Integer [0:117]
| | |--HASH -> # [0:129]
| | `--MEMBER -> MAX_VALUE [0:130]
| `--JAVADOC_INLINE_TAG_END -> } [0:139]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllStandardJavadocTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllStandardJavadocTagsAst.txt
index 5d04ec983..f8f91d05f 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllStandardJavadocTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAllStandardJavadocTagsAst.txt
@@ -18,21 +18,21 @@ JAVADOC -> JAVADOC [0:0]
| `--DESCRIPTION -> DESCRIPTION [3:8]
| |--HTML_ELEMENT -> HTML_ELEMENT [3:8]
| | `--HTML_TAG -> HTML_TAG [3:8]
-| | |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [3:8]
-| | | |--OPEN -> < [3:8]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [3:8]
+| | | |--START -> < [3:8]
| | | |--HTML_TAG_NAME -> a [3:9]
| | | |--WS -> [3:10]
| | | |--ATTRIBUTE -> ATTRIBUTE [3:11]
| | | | |--HTML_TAG_NAME -> href [3:11]
| | | | |--EQUALS -> = [3:15]
| | | | `--ATTR_VALUE -> "mailto:meth@albuquerque.com" [3:16]
-| | | `--CLOSE -> > [3:46]
+| | | `--END -> > [3:46]
| | |--TEXT -> Walter White [3:47]
-| | `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [3:59]
-| | |--OPEN -> < [3:59]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [3:59]
+| | |--START -> < [3:59]
| | |--SLASH -> / [3:60]
| | |--HTML_TAG_NAME -> a [3:61]
-| | `--CLOSE -> > [3:62]
+| | `--END -> > [3:62]
| `--NEWLINE -> \r\n [3:63]
|--JAVADOC_TAG -> JAVADOC_TAG [4:0]
| |--DEPRECATED_LITERAL -> @deprecated [4:0]
@@ -102,51 +102,49 @@ JAVADOC -> JAVADOC [0:0]
| |--WS -> [16:4]
| |--HTML_ELEMENT -> HTML_ELEMENT [16:5]
| | `--HTML_TAG -> HTML_TAG [16:5]
-| | |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [16:5]
-| | | |--OPEN -> < [16:5]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [16:5]
+| | | |--START -> < [16:5]
| | | |--HTML_TAG_NAME -> a [16:6]
| | | |--WS -> [16:7]
| | | |--ATTRIBUTE -> ATTRIBUTE [16:8]
| | | | |--HTML_TAG_NAME -> href [16:8]
| | | | |--EQUALS -> = [16:12]
| | | | `--ATTR_VALUE -> "http://google.com" [16:13]
-| | | `--CLOSE -> > [16:33]
+| | | `--END -> > [16:33]
| | |--TEXT -> Google [16:34]
-| | `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [16:40]
-| | |--OPEN -> < [16:40]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [16:40]
+| | |--START -> < [16:40]
| | |--SLASH -> / [16:41]
| | |--HTML_TAG_NAME -> a [16:42]
-| | `--CLOSE -> > [16:43]
+| | `--END -> > [16:43]
| `--NEWLINE -> \r\n [16:44]
|--JAVADOC_TAG -> JAVADOC_TAG [17:0]
| |--SEE_LITERAL -> @see [17:0]
| |--WS -> [17:4]
| |--HTML_ELEMENT -> HTML_ELEMENT [17:5]
| | `--HTML_TAG -> HTML_TAG [17:5]
-| | |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [17:5]
-| | | |--OPEN -> < [17:5]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [17:5]
+| | | |--START -> < [17:5]
| | | |--HTML_TAG_NAME -> a [17:6]
| | | |--WS -> [17:7]
| | | |--ATTRIBUTE -> ATTRIBUTE [17:8]
| | | | |--HTML_TAG_NAME -> href [17:8]
| | | | |--EQUALS -> = [17:12]
| | | | `--ATTR_VALUE -> "http://google.com" [17:13]
-| | | `--CLOSE -> > [17:33]
+| | | `--END -> > [17:33]
| | |--NEWLINE -> \r\n [17:34]
| | |--TEXT -> Google [18:0]
-| | `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [18:6]
-| | |--OPEN -> < [18:6]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [18:6]
+| | |--START -> < [18:6]
| | |--SLASH -> / [18:7]
| | |--HTML_TAG_NAME -> a [18:8]
-| | `--CLOSE -> > [18:9]
+| | `--END -> > [18:9]
| `--NEWLINE -> \r\n [18:10]
|--JAVADOC_TAG -> JAVADOC_TAG [19:0]
| |--SEE_LITERAL -> @see [19:0]
| |--WS -> [19:4]
| |--REFERENCE -> REFERENCE [19:5]
-| | |--PACKAGE -> java.lang [19:5]
-| | |--DOT -> . [19:14]
-| | |--CLASS -> Integer [19:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [19:5]
| | |--HASH -> # [19:22]
| | `--MEMBER -> valueOf [19:23]
| `--NEWLINE -> \r\n [19:30]
@@ -154,9 +152,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [20:0]
| |--WS -> [20:4]
| |--REFERENCE -> REFERENCE [20:5]
-| | |--PACKAGE -> java.lang [20:5]
-| | |--DOT -> . [20:14]
-| | |--CLASS -> Integer [20:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [20:5]
| | |--HASH -> # [20:22]
| | `--MEMBER -> Integer [20:23]
| `--NEWLINE -> \r\n [20:30]
@@ -164,9 +160,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [21:0]
| |--WS -> [21:4]
| |--REFERENCE -> REFERENCE [21:5]
-| | |--PACKAGE -> java.lang [21:5]
-| | |--DOT -> . [21:14]
-| | |--CLASS -> Integer [21:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [21:5]
| | |--HASH -> # [21:22]
| | `--MEMBER -> MAX_VALUE [21:23]
| `--NEWLINE -> \r\n [21:32]
@@ -174,9 +168,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [22:0]
| |--WS -> [22:4]
| |--REFERENCE -> REFERENCE [22:5]
-| | |--PACKAGE -> java.lang [22:5]
-| | |--DOT -> . [22:14]
-| | |--CLASS -> Integer [22:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [22:5]
| | |--HASH -> # [22:22]
| | `--MEMBER -> valueOf [22:23]
| |--WS -> [22:30]
@@ -187,9 +179,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [23:0]
| |--WS -> [23:4]
| |--REFERENCE -> REFERENCE [23:5]
-| | |--PACKAGE -> java.lang [23:5]
-| | |--DOT -> . [23:14]
-| | |--CLASS -> Integer [23:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [23:5]
| | |--HASH -> # [23:22]
| | `--MEMBER -> Integer [23:23]
| |--WS -> [23:30]
@@ -200,9 +190,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [24:0]
| |--WS -> [24:4]
| |--REFERENCE -> REFERENCE [24:5]
-| | |--PACKAGE -> java.lang [24:5]
-| | |--DOT -> . [24:14]
-| | |--CLASS -> Integer [24:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [24:5]
| | |--HASH -> # [24:22]
| | `--MEMBER -> MAX_VALUE [24:23]
| |--WS -> [24:32]
@@ -213,9 +201,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [25:0]
| |--WS -> [25:4]
| |--REFERENCE -> REFERENCE [25:5]
-| | |--PACKAGE -> java.lang [25:5]
-| | |--DOT -> . [25:14]
-| | |--CLASS -> Integer [25:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [25:5]
| | |--HASH -> # [25:22]
| | `--MEMBER -> intValue [25:23]
| |--WS -> [25:31]
@@ -226,9 +212,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [26:0]
| |--WS -> [26:4]
| |--REFERENCE -> REFERENCE [26:5]
-| | |--PACKAGE -> java.lang [26:5]
-| | |--DOT -> . [26:14]
-| | |--CLASS -> Integer [26:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [26:5]
| | |--HASH -> # [26:22]
| | |--MEMBER -> intValue [26:23]
| | `--PARAMETERS -> PARAMETERS [26:31]
@@ -242,9 +226,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [27:0]
| |--WS -> [27:4]
| |--REFERENCE -> REFERENCE [27:5]
-| | |--PACKAGE -> java.lang [27:5]
-| | |--DOT -> . [27:14]
-| | |--CLASS -> Void [27:15]
+| | |--PACKAGE_CLASS -> java.lang.Void [27:5]
| | |--HASH -> # [27:19]
| | `--MEMBER -> Void [27:20]
| |--WS -> [27:24]
@@ -255,9 +237,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [28:0]
| |--WS -> [28:4]
| |--REFERENCE -> REFERENCE [28:5]
-| | |--PACKAGE -> java.lang [28:5]
-| | |--DOT -> . [28:14]
-| | |--CLASS -> Void [28:15]
+| | |--PACKAGE_CLASS -> java.lang.Void [28:5]
| | |--HASH -> # [28:19]
| | |--MEMBER -> Void [28:20]
| | `--PARAMETERS -> PARAMETERS [28:24]
@@ -271,9 +251,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [29:0]
| |--WS -> [29:4]
| |--REFERENCE -> REFERENCE [29:5]
-| | |--PACKAGE -> java.lang [29:5]
-| | |--DOT -> . [29:14]
-| | |--CLASS -> Integer [29:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [29:5]
| | |--HASH -> # [29:22]
| | |--MEMBER -> valueOf [29:23]
| | `--PARAMETERS -> PARAMETERS [29:30]
@@ -288,9 +266,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [30:0]
| |--WS -> [30:4]
| |--REFERENCE -> REFERENCE [30:5]
-| | |--PACKAGE -> java.lang [30:5]
-| | |--DOT -> . [30:14]
-| | |--CLASS -> Integer [30:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [30:5]
| | |--HASH -> # [30:22]
| | |--MEMBER -> toString [30:23]
| | `--PARAMETERS -> PARAMETERS [30:31]
@@ -307,9 +283,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [31:0]
| |--WS -> [31:4]
| |--REFERENCE -> REFERENCE [31:5]
-| | |--PACKAGE -> java.lang [31:5]
-| | |--DOT -> . [31:14]
-| | |--CLASS -> Integer [31:15]
+| | |--PACKAGE_CLASS -> java.lang.Integer [31:5]
| | |--HASH -> # [31:22]
| | |--MEMBER -> toString [31:23]
| | `--PARAMETERS -> PARAMETERS [31:31]
@@ -398,7 +372,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [37:0]
| |--WS -> [37:4]
| |--REFERENCE -> REFERENCE [37:5]
-| | |--CLASS -> Class [37:5]
+| | |--PACKAGE_CLASS -> Class [37:5]
| | |--HASH -> # [37:10]
| | `--MEMBER -> field [37:11]
| `--NEWLINE -> \r\n [37:16]
@@ -406,7 +380,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [38:0]
| |--WS -> [38:4]
| |--REFERENCE -> REFERENCE [38:5]
-| | |--CLASS -> Class [38:5]
+| | |--PACKAGE_CLASS -> Class [38:5]
| | |--HASH -> # [38:10]
| | |--MEMBER -> method [38:11]
| | `--PARAMETERS -> PARAMETERS [38:17]
@@ -424,7 +398,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [39:0]
| |--WS -> [39:4]
| |--REFERENCE -> REFERENCE [39:5]
-| | |--CLASS -> Class [39:5]
+| | |--PACKAGE_CLASS -> Class [39:5]
| | |--HASH -> # [39:10]
| | |--MEMBER -> method [39:11]
| | `--PARAMETERS -> PARAMETERS [39:17]
@@ -443,7 +417,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [40:0]
| |--WS -> [40:4]
| |--REFERENCE -> REFERENCE [40:5]
-| | |--CLASS -> Class [40:5]
+| | |--PACKAGE_CLASS -> Class [40:5]
| | |--HASH -> # [40:10]
| | |--MEMBER -> constructor [40:11]
| | `--PARAMETERS -> PARAMETERS [40:22]
@@ -458,7 +432,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [41:0]
| |--WS -> [41:4]
| |--REFERENCE -> REFERENCE [41:5]
-| | |--CLASS -> Class [41:5]
+| | |--PACKAGE_CLASS -> Class [41:5]
| | |--HASH -> # [41:10]
| | |--MEMBER -> constructor [41:11]
| | `--PARAMETERS -> PARAMETERS [41:22]
@@ -477,23 +451,19 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [42:0]
| |--WS -> [42:4]
| |--REFERENCE -> REFERENCE [42:5]
-| | |--CLASS -> Class [42:5]
-| | |--DOT -> . [42:10]
-| | `--CLASS -> NestedClass [42:11]
+| | `--PACKAGE_CLASS -> Class.NestedClass [42:5]
| `--NEWLINE -> \r\n [42:22]
|--JAVADOC_TAG -> JAVADOC_TAG [43:0]
| |--SEE_LITERAL -> @see [43:0]
| |--WS -> [43:4]
| |--REFERENCE -> REFERENCE [43:5]
-| | `--CLASS -> Class [43:5]
+| | `--PACKAGE_CLASS -> Class [43:5]
| `--NEWLINE -> \r\n [43:10]
|--JAVADOC_TAG -> JAVADOC_TAG [44:0]
| |--SEE_LITERAL -> @see [44:0]
| |--WS -> [44:4]
| |--REFERENCE -> REFERENCE [44:5]
-| | |--PACKAGE -> com.github.checkstyle [44:5]
-| | |--DOT -> . [44:26]
-| | |--CLASS -> Class [44:27]
+| | |--PACKAGE_CLASS -> com.github.checkstyle.Class [44:5]
| | |--HASH -> # [44:32]
| | `--MEMBER -> field [44:33]
| `--NEWLINE -> \r\n [44:38]
@@ -501,9 +471,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [45:0]
| |--WS -> [45:4]
| |--REFERENCE -> REFERENCE [45:5]
-| | |--PACKAGE -> com.github.checkstyle [45:5]
-| | |--DOT -> . [45:26]
-| | |--CLASS -> Class [45:27]
+| | |--PACKAGE_CLASS -> com.github.checkstyle.Class [45:5]
| | |--HASH -> # [45:32]
| | |--MEMBER -> method [45:33]
| | `--PARAMETERS -> PARAMETERS [45:39]
@@ -518,9 +486,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [46:0]
| |--WS -> [46:4]
| |--REFERENCE -> REFERENCE [46:5]
-| | |--PACKAGE -> com.github.checkstyle [46:5]
-| | |--DOT -> . [46:26]
-| | |--CLASS -> Class [46:27]
+| | |--PACKAGE_CLASS -> com.github.checkstyle.Class [46:5]
| | |--HASH -> # [46:32]
| | |--MEMBER -> method [46:33]
| | `--PARAMETERS -> PARAMETERS [46:39]
@@ -539,9 +505,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [47:0]
| |--WS -> [47:4]
| |--REFERENCE -> REFERENCE [47:5]
-| | |--PACKAGE -> com.github.checkstyle [47:5]
-| | |--DOT -> . [47:26]
-| | |--CLASS -> Class [47:27]
+| | |--PACKAGE_CLASS -> com.github.checkstyle.Class [47:5]
| | |--HASH -> # [47:32]
| | |--MEMBER -> constructor [47:33]
| | `--PARAMETERS -> PARAMETERS [47:44]
@@ -556,9 +520,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [48:0]
| |--WS -> [48:4]
| |--REFERENCE -> REFERENCE [48:5]
-| | |--PACKAGE -> com.github.checkstyle [48:5]
-| | |--DOT -> . [48:26]
-| | |--CLASS -> Class [48:27]
+| | |--PACKAGE_CLASS -> com.github.checkstyle.Class [48:5]
| | |--HASH -> # [48:32]
| | |--MEMBER -> constructor [48:33]
| | `--PARAMETERS -> PARAMETERS [48:44]
@@ -577,25 +539,19 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [49:0]
| |--WS -> [49:4]
| |--REFERENCE -> REFERENCE [49:5]
-| | |--PACKAGE -> com.github.checkstyle [49:5]
-| | |--DOT -> . [49:26]
-| | |--CLASS -> Class [49:27]
-| | |--DOT -> . [49:32]
-| | `--CLASS -> NestedClass [49:33]
+| | `--PACKAGE_CLASS -> com.github.checkstyle.Class.NestedClass [49:5]
| `--NEWLINE -> \r\n [49:44]
|--JAVADOC_TAG -> JAVADOC_TAG [50:0]
| |--SEE_LITERAL -> @see [50:0]
| |--WS -> [50:4]
| |--REFERENCE -> REFERENCE [50:5]
-| | |--PACKAGE -> com.github.checkstyle [50:5]
-| | |--DOT -> . [50:26]
-| | `--CLASS -> Class [50:27]
+| | `--PACKAGE_CLASS -> com.github.checkstyle.Class [50:5]
| `--NEWLINE -> \r\n [50:32]
|--JAVADOC_TAG -> JAVADOC_TAG [51:0]
| |--SEE_LITERAL -> @see [51:0]
| |--WS -> [51:4]
| |--REFERENCE -> REFERENCE [51:5]
-| | `--PACKAGE -> com.github.checkstyle [51:5]
+| | `--PACKAGE_CLASS -> com.github.checkstyle [51:5]
| `--NEWLINE -> \r\n [51:26]
|--JAVADOC_TAG -> JAVADOC_TAG [52:0]
| |--SERIAL_LITERAL -> @serial [52:0]
@@ -611,14 +567,12 @@ JAVADOC -> JAVADOC [0:0]
| |--SERIAL_LITERAL -> @serial [55:0]
| |--WS -> [55:7]
| |--LITERAL_INCLUDE -> include [55:8]
-| `--DESCRIPTION -> DESCRIPTION [55:15]
-| `--NEWLINE -> \r\n [55:15]
+| `--NEWLINE -> \r\n [55:15]
|--JAVADOC_TAG -> JAVADOC_TAG [56:0]
| |--SERIAL_LITERAL -> @serial [56:0]
| |--WS -> [56:7]
| |--LITERAL_EXCLUDE -> exclude [56:8]
-| `--DESCRIPTION -> DESCRIPTION [56:15]
-| `--NEWLINE -> \r\n [56:15]
+| `--NEWLINE -> \r\n [56:15]
|--JAVADOC_TAG -> JAVADOC_TAG [57:0]
| |--SERIAL_FIELD_LITERAL -> @serialField [57:0]
| |--WS -> [57:12]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAsteriskInJavadocInlineTagAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAsteriskInJavadocInlineTagAst.txt
index 26d545f69..08317b9af 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAsteriskInJavadocInlineTagAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAsteriskInJavadocInlineTagAst.txt
@@ -6,6 +6,6 @@ JAVADOC -> JAVADOC [0:0]
| |--LEADING_ASTERISK -> * [1:0]
| |--WS -> [1:3]
| |--REFERENCE -> REFERENCE [1:4]
-| | `--CLASS -> GwtIncompatible [1:4]
+| | `--PACKAGE_CLASS -> GwtIncompatible [1:4]
| `--JAVADOC_INLINE_TAG_END -> } [1:19]
`--EOF -> <EOF> [1:20]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAuthorWithMailtoAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAuthorWithMailtoAst.txt
index 93e3ede8a..19a8dc29c 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAuthorWithMailtoAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedAuthorWithMailtoAst.txt
@@ -5,19 +5,19 @@ JAVADOC -> JAVADOC [0:0]
| `--DESCRIPTION -> DESCRIPTION [0:8]
| `--HTML_ELEMENT -> HTML_ELEMENT [0:8]
| `--HTML_TAG -> HTML_TAG [0:8]
-| |--HTML_ELEMENT_OPEN -> HTML_ELEMENT_OPEN [0:8]
-| | |--OPEN -> < [0:8]
+| |--HTML_ELEMENT_START -> HTML_ELEMENT_START [0:8]
+| | |--START -> < [0:8]
| | |--HTML_TAG_NAME -> a [0:9]
| | |--WS -> [0:10]
| | |--ATTRIBUTE -> ATTRIBUTE [0:11]
| | | |--HTML_TAG_NAME -> href [0:11]
| | | |--EQUALS -> = [0:15]
| | | `--ATTR_VALUE -> "mailto:barataliba@gmail.com" [0:16]
-| | `--CLOSE -> > [0:46]
+| | `--END -> > [0:46]
| |--TEXT -> Baratali Izmailov [0:47]
-| `--HTML_ELEMENT_CLOSE -> HTML_ELEMENT_CLOSE [0:64]
-| |--OPEN -> < [0:64]
+| `--HTML_ELEMENT_END -> HTML_ELEMENT_END [0:64]
+| |--START -> < [0:64]
| |--SLASH -> / [0:65]
| |--HTML_TAG_NAME -> a [0:66]
-| `--CLOSE -> > [0:67]
+| `--END -> > [0:67]
`--EOF -> <EOF> [0:68]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedDollarInLinkAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedDollarInLinkAst.txt
index 4acb09396..cb6bdfa01 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedDollarInLinkAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedDollarInLinkAst.txt
@@ -4,7 +4,7 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [0:1]
| |--WS -> [0:6]
| |--REFERENCE -> REFERENCE [0:7]
-| | |--CLASS -> My$Class [0:7]
+| | |--PACKAGE_CLASS -> My$Class [0:7]
| | |--HASH -> # [0:15]
| | |--MEMBER -> $$simple_$Method [0:16]
| | `--PARAMETERS -> PARAMETERS [0:32]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedJavadocTagDescriptionWithInlineTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedJavadocTagDescriptionWithInlineTagsAst.txt
index e02ca111c..98edb0de9 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedJavadocTagDescriptionWithInlineTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedJavadocTagDescriptionWithInlineTagsAst.txt
@@ -9,11 +9,10 @@ JAVADOC -> JAVADOC [0:0]
| | |--LINK_LITERAL -> @link [0:17]
| | |--WS -> [0:22]
| | |--REFERENCE -> REFERENCE [0:23]
-| | | |--PACKAGE -> java.lang [0:23]
-| | | |--DOT -> . [0:32]
-| | | `--CLASS -> Integer [0:33]
-| | |--DESCRIPTION -> DESCRIPTION [0:40]
-| | | |--TEXT -> Integer [0:40]
+| | | `--PACKAGE_CLASS -> java.lang.Integer [0:23]
+| | |--WS -> [0:40]
+| | |--DESCRIPTION -> DESCRIPTION [0:41]
+| | | |--TEXT -> Integer [0:41]
| | | `--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [0:48]
| | | |--JAVADOC_INLINE_TAG_START -> { [0:48]
| | | |--CODE_LITERAL -> @code [0:49]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLeadingAsteriskAfterSeeTagAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLeadingAsteriskAfterSeeTagAst.txt
new file mode 100644
index 000000000..7731d2b33
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLeadingAsteriskAfterSeeTagAst.txt
@@ -0,0 +1,30 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--WS -> [0:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [0:2]
+| |--SEE_LITERAL -> @see [0:2]
+| |--NEWLINE -> \n [0:6]
+| |--LEADING_ASTERISK -> * [1:0]
+| |--WS -> [1:1]
+| |--STRING -> "string" [1:2]
+| |--NEWLINE -> \n [1:10]
+| `--NEWLINE -> \n [2:0]
+|--LEADING_ASTERISK -> * [3:0]
+|--WS -> [3:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [3:2]
+| |--SEE_LITERAL -> @see [3:2]
+| |--NEWLINE -> \n [3:6]
+| |--LEADING_ASTERISK -> * [4:0]
+| |--WS -> [4:1]
+| |--REFERENCE -> REFERENCE [4:2]
+| | |--PACKAGE_CLASS -> package.Class [4:2]
+| | |--HASH -> # [4:15]
+| | |--MEMBER -> member [4:16]
+| | `--PARAMETERS -> PARAMETERS [4:22]
+| | |--LEFT_BRACE -> ( [4:22]
+| | `--RIGHT_BRACE -> ) [4:23]
+| |--NEWLINE -> \n [4:24]
+| `--DESCRIPTION -> DESCRIPTION [5:0]
+| |--LEADING_ASTERISK -> * [5:0]
+| `--TEXT -> Description [5:1]
+`--EOF -> <EOF> [5:13]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkInlineTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkInlineTagsAst.txt
index 99ff1c522..1b931e627 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkInlineTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkInlineTagsAst.txt
@@ -4,9 +4,7 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [0:1]
| |--WS -> [0:6]
| |--REFERENCE -> REFERENCE [0:7]
-| | |--PACKAGE -> java.lang [0:7]
-| | |--DOT -> . [0:16]
-| | |--CLASS -> Integer [0:17]
+| | |--PACKAGE_CLASS -> java.lang.Integer [0:7]
| | |--HASH -> # [0:24]
| | `--MEMBER -> valueOf [0:25]
| `--JAVADOC_INLINE_TAG_END -> } [0:32]
@@ -16,12 +14,11 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [1:1]
| |--WS -> [1:6]
| |--REFERENCE -> REFERENCE [1:7]
-| | |--PACKAGE -> java.lang [1:7]
-| | |--DOT -> . [1:16]
-| | |--CLASS -> Integer [1:17]
+| | |--PACKAGE_CLASS -> java.lang.Integer [1:7]
| | |--HASH -> # [1:24]
| | `--MEMBER -> valueOf [1:25]
-| |--DESCRIPTION -> DESCRIPTION [1:32]
-| | `--TEXT -> valueOf [1:32]
+| |--WS -> [1:32]
+| |--DESCRIPTION -> DESCRIPTION [1:33]
+| | `--TEXT -> valueOf [1:33]
| `--JAVADOC_INLINE_TAG_END -> } [1:40]
`--EOF -> <EOF> [1:41]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkToPackageAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkToPackageAst.txt
index cd2153d90..1a61b45b2 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkToPackageAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedLinkToPackageAst.txt
@@ -4,7 +4,7 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [0:1]
| |--WS -> [0:6]
| |--REFERENCE -> REFERENCE [0:7]
-| | `--PACKAGE -> _com._1organizationname.appname [0:7]
+| | `--PACKAGE_CLASS -> _com._1organizationname.appname [0:7]
| `--JAVADOC_INLINE_TAG_END -> } [0:38]
|--NEWLINE -> \r\n [0:39]
`--EOF -> <EOF> [1:0]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedNewlineAndAsteriskInParametersAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedNewlineAndAsteriskInParametersAst.txt
index 1b62864c9..1e9a55d32 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedNewlineAndAsteriskInParametersAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedNewlineAndAsteriskInParametersAst.txt
@@ -6,7 +6,7 @@ JAVADOC -> JAVADOC [0:0]
| |--LINK_LITERAL -> @link [0:5]
| |--WS -> [0:10]
| |--REFERENCE -> REFERENCE [0:11]
-| | |--CLASS -> ImmutableSortedMap [0:11]
+| | |--PACKAGE_CLASS -> ImmutableSortedMap [0:11]
| | |--HASH -> # [0:29]
| | |--MEMBER -> of [0:30]
| | `--PARAMETERS -> PARAMETERS [0:32]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSeeReferenceWithFewNestedClassesAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSeeReferenceWithFewNestedClassesAst.txt
index 5523b6729..11bbefb86 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSeeReferenceWithFewNestedClassesAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSeeReferenceWithFewNestedClassesAst.txt
@@ -3,13 +3,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [0:0]
| |--WS -> [0:4]
| |--REFERENCE -> REFERENCE [0:5]
-| | |--PACKAGE -> java.lang [0:5]
-| | |--DOT -> . [0:14]
-| | |--CLASS -> Integer [0:15]
-| | |--DOT -> . [0:22]
-| | |--CLASS -> Nested [0:23]
-| | |--DOT -> . [0:29]
-| | |--CLASS -> AnotherNested [0:30]
+| | |--PACKAGE_CLASS -> java.lang.Integer.Nested.AnotherNested [0:5]
| | |--HASH -> # [0:43]
| | |--MEMBER -> someMethod [0:44]
| | `--PARAMETERS -> PARAMETERS [0:54]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSerialAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSerialAst.txt
index c7c0bf911..a2dd8e68e 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSerialAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSerialAst.txt
@@ -13,14 +13,12 @@ JAVADOC -> JAVADOC [0:0]
| |--SERIAL_LITERAL -> @serial [3:0]
| |--WS -> [3:7]
| |--LITERAL_INCLUDE -> include [3:8]
-| `--DESCRIPTION -> DESCRIPTION [3:15]
-| `--NEWLINE -> \r\n [3:15]
+| `--NEWLINE -> \r\n [3:15]
|--JAVADOC_TAG -> JAVADOC_TAG [4:0]
| |--SERIAL_LITERAL -> @serial [4:0]
| |--WS -> [4:7]
| |--LITERAL_EXCLUDE -> exclude [4:8]
-| `--DESCRIPTION -> DESCRIPTION [4:15]
-| `--NEWLINE -> \r\n [4:15]
+| `--NEWLINE -> \r\n [4:15]
|--JAVADOC_TAG -> JAVADOC_TAG [5:0]
| |--SERIAL_FIELD_LITERAL -> @serialField [5:0]
| |--WS -> [5:12]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeArgsInInlineTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeArgsInInlineTagsAst.txt
new file mode 100644
index 000000000..44c63f4e2
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeArgsInInlineTagsAst.txt
@@ -0,0 +1,77 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--TEXT -> [0:1]
+|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [0:2]
+| |--JAVADOC_INLINE_TAG_START -> { [0:2]
+| |--LINK_LITERAL -> @link [0:3]
+| |--NEWLINE -> \n [0:8]
+| |--LEADING_ASTERISK -> * [1:0]
+| |--WS -> [1:1]
+| |--REFERENCE -> REFERENCE [1:6]
+| | `--PACKAGE_CLASS -> reference [1:6]
+| |--WS -> [1:15]
+| |--NEWLINE -> \n [1:20]
+| |--DESCRIPTION -> DESCRIPTION [2:0]
+| | |--LEADING_ASTERISK -> * [2:0]
+| | |--TEXT -> Description-on-multiple- [2:1]
+| | |--NEWLINE -> \n [2:30]
+| | |--LEADING_ASTERISK -> * [3:0]
+| | `--TEXT -> lines [3:1]
+| `--JAVADOC_INLINE_TAG_END -> } [3:11]
+|--NEWLINE -> \n [3:12]
+|--NEWLINE -> \n [4:0]
+|--LEADING_ASTERISK -> * [5:0]
+|--TEXT -> [5:1]
+|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [5:2]
+| |--JAVADOC_INLINE_TAG_START -> { [5:2]
+| |--LINKPLAIN_LITERAL -> @linkplain [5:3]
+| |--NEWLINE -> \n [5:13]
+| |--LEADING_ASTERISK -> * [6:0]
+| |--WS -> [6:1]
+| |--REFERENCE -> REFERENCE [6:6]
+| | `--PACKAGE_CLASS -> reference [6:6]
+| |--WS -> [6:15]
+| |--NEWLINE -> \n [6:20]
+| |--DESCRIPTION -> DESCRIPTION [7:0]
+| | |--LEADING_ASTERISK -> * [7:0]
+| | |--TEXT -> Description-on-multiple- [7:1]
+| | |--NEWLINE -> \n [7:30]
+| | |--LEADING_ASTERISK -> * [8:0]
+| | `--TEXT -> lines [8:1]
+| `--JAVADOC_INLINE_TAG_END -> } [8:11]
+|--NEWLINE -> \n [8:12]
+|--NEWLINE -> \n [9:0]
+|--NEWLINE -> \n [10:0]
+|--LEADING_ASTERISK -> * [11:0]
+|--TEXT -> [11:1]
+|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [11:2]
+| |--JAVADOC_INLINE_TAG_START -> { [11:2]
+| |--CUSTOM_NAME -> @customlink [11:3]
+| |--WS -> [11:14]
+| |--NEWLINE -> \n [11:19]
+| |--LEADING_ASTERISK -> * [12:0]
+| |--WS -> [12:1]
+| |--DESCRIPTION -> DESCRIPTION [12:6]
+| | |--TEXT -> reference [12:6]
+| | |--NEWLINE -> \n [12:20]
+| | |--LEADING_ASTERISK -> * [13:0]
+| | |--TEXT -> Description-on-multiple- [13:1]
+| | |--NEWLINE -> \n [13:30]
+| | |--LEADING_ASTERISK -> * [14:0]
+| | `--TEXT -> lines [14:1]
+| `--JAVADOC_INLINE_TAG_END -> } [14:11]
+|--NEWLINE -> \n [14:12]
+|--NEWLINE -> \n [15:0]
+|--LEADING_ASTERISK -> * [16:0]
+|--TEXT -> [16:1]
+|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [16:2]
+| |--JAVADOC_INLINE_TAG_START -> { [16:2]
+| |--VALUE_LITERAL -> @value [16:3]
+| |--WS -> [16:9]
+| |--NEWLINE -> \n [16:13]
+| |--LEADING_ASTERISK -> * [17:0]
+| |--WS -> [17:1]
+| |--REFERENCE -> REFERENCE [17:6]
+| | `--PACKAGE_CLASS -> Reference [17:6]
+| `--JAVADOC_INLINE_TAG_END -> } [17:15]
+`--EOF -> <EOF> [17:16]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeDescriptionInBlockJavadocTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeDescriptionInBlockJavadocTagsAst.txt
new file mode 100644
index 000000000..b7d396e39
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedSpaceBeforeDescriptionInBlockJavadocTagsAst.txt
@@ -0,0 +1,200 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--WS -> [0:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [0:2]
+| |--AUTHOR_LITERAL -> @author [0:2]
+| |--WS -> [0:9]
+| |--NEWLINE -> \n [0:11]
+| |--WS -> [1:0]
+| `--DESCRIPTION -> DESCRIPTION [1:6]
+| |--TEXT -> author-name [1:6]
+| |--HTML_ELEMENT -> HTML_ELEMENT [1:18]
+| | `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT [1:18]
+| | `--BR_TAG -> BR_TAG [1:18]
+| | |--START -> < [1:18]
+| | |--BR_HTML_TAG_NAME -> br [1:19]
+| | |--WS -> [1:21]
+| | |--ATTRIBUTE -> ATTRIBUTE [1:22]
+| | | |--HTML_TAG_NAME -> attr [1:22]
+| | | |--EQUALS -> = [1:26]
+| | | `--ATTR_VALUE -> "value" [1:27]
+| | `--SLASH_END -> /> [1:35]
+| |--NEWLINE -> \n [1:37]
+| `--NEWLINE -> \n [2:0]
+|--LEADING_ASTERISK -> * [3:0]
+|--WS -> [3:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [3:2]
+| |--DEPRECATED_LITERAL -> @deprecated [3:2]
+| |--NEWLINE -> \n [3:13]
+| |--WS -> [4:0]
+| `--DESCRIPTION -> DESCRIPTION [4:6]
+| |--TEXT -> deprecated-text [4:6]
+| |--NEWLINE -> \n [4:21]
+| `--NEWLINE -> \n [5:0]
+|--LEADING_ASTERISK -> * [6:0]
+|--WS -> [6:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [6:2]
+| |--EXCEPTION_LITERAL -> @exception [6:2]
+| |--WS -> [6:12]
+| |--CLASS_NAME -> CustomEx [6:18]
+| |--WS -> [6:26]
+| |--NEWLINE -> \n [6:28]
+| |--WS -> [7:0]
+| `--DESCRIPTION -> DESCRIPTION [7:6]
+| |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [7:6]
+| | |--JAVADOC_INLINE_TAG_START -> { [7:6]
+| | |--LINK_LITERAL -> @link [7:7]
+| | |--WS -> [7:12]
+| | |--REFERENCE -> REFERENCE [7:13]
+| | | `--PACKAGE_CLASS -> CustomEx [7:13]
+| | `--JAVADOC_INLINE_TAG_END -> } [7:21]
+| |--TEXT -> [7:22]
+| |--HTML_ELEMENT -> HTML_ELEMENT [7:23]
+| | `--HTML_TAG -> HTML_TAG [7:23]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [7:23]
+| | | |--START -> < [7:23]
+| | | |--HTML_TAG_NAME -> b [7:24]
+| | | `--END -> > [7:25]
+| | |--TEXT -> Internal [7:26]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [7:34]
+| | |--START -> < [7:34]
+| | |--SLASH -> / [7:35]
+| | |--HTML_TAG_NAME -> b [7:36]
+| | `--END -> > [7:37]
+| |--NEWLINE -> \n [7:38]
+| `--NEWLINE -> \n [8:0]
+|--LEADING_ASTERISK -> * [9:0]
+|--WS -> [9:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [9:2]
+| |--PARAM_LITERAL -> @param [9:2]
+| |--WS -> [9:8]
+| |--PARAMETER_NAME -> ParamName [9:17]
+| |--NEWLINE -> \n [9:26]
+| |--WS -> [10:0]
+| `--DESCRIPTION -> DESCRIPTION [10:6]
+| |--TEXT -> Param-description [10:6]
+| |--NEWLINE -> \n [10:23]
+| `--NEWLINE -> \n [11:0]
+|--LEADING_ASTERISK -> * [12:0]
+|--WS -> [12:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [12:2]
+| |--RETURN_LITERAL -> @return [12:2]
+| |--NEWLINE -> \n [12:9]
+| |--WS -> [13:0]
+| `--DESCRIPTION -> DESCRIPTION [13:6]
+| |--TEXT -> return-description [13:6]
+| |--NEWLINE -> \n [13:24]
+| `--NEWLINE -> \n [14:0]
+|--LEADING_ASTERISK -> * [15:0]
+|--WS -> [15:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [15:2]
+| |--SERIAL_LITERAL -> @serial [15:2]
+| |--NEWLINE -> \n [15:9]
+| |--WS -> [16:0]
+| `--DESCRIPTION -> DESCRIPTION [16:6]
+| |--TEXT -> DESCRIPTION [16:6]
+| |--NEWLINE -> \n [16:17]
+| `--NEWLINE -> \n [17:0]
+|--LEADING_ASTERISK -> * [18:0]
+|--WS -> [18:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [18:2]
+| |--SERIAL_LITERAL -> @serial [18:2]
+| |--NEWLINE -> \n [18:9]
+| |--LITERAL_INCLUDE -> include [19:0]
+| |--WS -> [19:7]
+| |--NEWLINE -> \n [19:11]
+| `--NEWLINE -> \n [20:0]
+|--LEADING_ASTERISK -> * [21:0]
+|--WS -> [21:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [21:2]
+| |--SERIAL_DATA_LITERAL -> @serialData [21:2]
+| |--NEWLINE -> \n [21:13]
+| |--WS -> [22:0]
+| `--DESCRIPTION -> DESCRIPTION [22:6]
+| |--TEXT -> DESCRIPTION [22:6]
+| |--NEWLINE -> \n [22:17]
+| |--TEXT -> on multiple lines [23:0]
+| |--NEWLINE -> \n [23:23]
+| `--NEWLINE -> \n [24:0]
+|--LEADING_ASTERISK -> * [25:0]
+|--WS -> [25:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [25:2]
+| |--SERIAL_FIELD_LITERAL -> @serialField [25:2]
+| |--WS -> [25:14]
+| |--FIELD_NAME -> fieldname [25:19]
+| |--WS -> [25:28]
+| |--FIELD_TYPE -> fieldtype [25:33]
+| |--NEWLINE -> \n [25:42]
+| |--NEWLINE -> \n [26:0]
+| |--WS -> [27:0]
+| `--DESCRIPTION -> DESCRIPTION [27:5]
+| |--TEXT -> description [27:5]
+| |--NEWLINE -> \n [27:16]
+| `--NEWLINE -> \n [28:0]
+|--LEADING_ASTERISK -> * [29:0]
+|--WS -> [29:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [29:2]
+| |--SINCE_LITERAL -> @since [29:2]
+| |--NEWLINE -> \n [29:8]
+| |--WS -> [30:0]
+| `--DESCRIPTION -> DESCRIPTION [30:12]
+| |--TEXT -> 8.2 [30:12]
+| |--NEWLINE -> \n [30:15]
+| `--NEWLINE -> \n [31:0]
+|--LEADING_ASTERISK -> * [32:0]
+|--WS -> [32:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [32:2]
+| |--THROWS_LITERAL -> @throws [32:2]
+| |--WS -> [32:9]
+| |--CLASS_NAME -> Exception [32:15]
+| |--WS -> [32:24]
+| `--DESCRIPTION -> DESCRIPTION [32:29]
+| |--TEXT -> Exception-description [32:29]
+| |--NEWLINE -> \n [32:50]
+| |--TEXT -> spanning multiple lines [33:0]
+| |--NEWLINE -> \n [33:32]
+| `--NEWLINE -> \n [34:0]
+|--LEADING_ASTERISK -> * [35:0]
+|--WS -> [35:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [35:2]
+| |--VERSION_LITERAL -> @version [35:2]
+| |--NEWLINE -> \n [35:10]
+| |--WS -> [36:0]
+| `--DESCRIPTION -> DESCRIPTION [36:13]
+| |--TEXT -> 8.2 - 8.3 - 8.4... [36:13]
+| |--NEWLINE -> \n [36:31]
+| `--NEWLINE -> \n [37:0]
+|--LEADING_ASTERISK -> * [38:0]
+|--WS -> [38:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [38:2]
+| |--CUSTOM_NAME -> @customTag [38:2]
+| |--NEWLINE -> \n [38:12]
+| |--WS -> [39:0]
+| |--NEWLINE -> \n [39:5]
+| |--WS -> [40:0]
+| `--DESCRIPTION -> DESCRIPTION [40:5]
+| |--TEXT -> DESCRIPTION [40:5]
+| |--NEWLINE -> \n [40:16]
+| `--NEWLINE -> \n [41:0]
+|--LEADING_ASTERISK -> * [42:0]
+|--WS -> [42:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [42:2]
+| |--SEE_LITERAL -> @see [42:2]
+| |--WS -> [42:6]
+| |--REFERENCE -> REFERENCE [42:7]
+| | |--PACKAGE_CLASS -> package.Class [42:7]
+| | |--HASH -> # [42:20]
+| | |--MEMBER -> member [42:21]
+| | `--PARAMETERS -> PARAMETERS [42:27]
+| | |--LEFT_BRACE -> ( [42:27]
+| | |--ARGUMENT -> Object [42:28]
+| | |--COMMA -> , [42:34]
+| | |--WS -> [42:35]
+| | |--ARGUMENT -> Object [42:36]
+| | `--RIGHT_BRACE -> ) [42:42]
+| |--WS -> [42:43]
+| |--NEWLINE -> \n [42:56]
+| `--DESCRIPTION -> DESCRIPTION [43:0]
+| |--LEADING_ASTERISK -> * [43:0]
+| `--TEXT -> Description [43:1]
+`--EOF -> <EOF> [43:21]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTextBeforeJavadocTagsAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTextBeforeJavadocTagsAst.txt
index 24ef3995b..1e5843a78 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTextBeforeJavadocTagsAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTextBeforeJavadocTagsAst.txt
@@ -12,7 +12,7 @@ JAVADOC -> JAVADOC [0:0]
| |--SEE_LITERAL -> @see [3:3]
| |--WS -> [3:7]
| |--REFERENCE -> REFERENCE [3:8]
-| | `--CLASS -> Integer [3:8]
+| | `--PACKAGE_CLASS -> Integer [3:8]
| |--WS -> [3:15]
| `--DESCRIPTION -> DESCRIPTION [3:16]
| |--TEXT -> Int [3:16]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTwoLinkTagsInRowAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTwoLinkTagsInRowAst.txt
index f4f0197a6..da3497038 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTwoLinkTagsInRowAst.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedTwoLinkTagsInRowAst.txt
@@ -6,8 +6,9 @@ JAVADOC -> JAVADOC [0:0]
| |--REFERENCE -> REFERENCE [0:7]
| | |--HASH -> # [0:7]
| | `--MEMBER -> WHITESPACE [0:8]
-| |--DESCRIPTION -> DESCRIPTION [0:18]
-| | `--TEXT -> WHITESPACE [0:18]
+| |--WS -> [0:18]
+| |--DESCRIPTION -> DESCRIPTION [0:19]
+| | `--TEXT -> WHITESPACE [0:19]
| `--JAVADOC_INLINE_TAG_END -> } [0:29]
|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [0:30]
| |--JAVADOC_INLINE_TAG_START -> { [0:30]
@@ -16,7 +17,8 @@ JAVADOC -> JAVADOC [0:0]
| |--REFERENCE -> REFERENCE [0:37]
| | |--HASH -> # [0:37]
| | `--MEMBER -> trimFrom [0:38]
-| |--DESCRIPTION -> DESCRIPTION [0:46]
-| | `--TEXT -> trimFrom [0:46]
+| |--WS -> [0:46]
+| |--DESCRIPTION -> DESCRIPTION [0:47]
+| | `--TEXT -> trimFrom [0:47]
| `--JAVADOC_INLINE_TAG_END -> } [0:55]
`--EOF -> <EOF> [0:56]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedUppercaseInPackageNameAst.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedUppercaseInPackageNameAst.txt
new file mode 100644
index 000000000..bcb26f924
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/grammars/javadoc/javadocTags/expectedUppercaseInPackageNameAst.txt
@@ -0,0 +1,394 @@
+JAVADOC -> JAVADOC [0:0]
+|--LEADING_ASTERISK -> * [0:0]
+|--WS -> [0:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [0:2]
+| |--SEE_LITERAL -> @see [0:2]
+| |--WS -> [0:6]
+| |--REFERENCE -> REFERENCE [0:7]
+| | |--HASH -> # [0:7]
+| | `--MEMBER -> fn [0:8]
+| `--NEWLINE -> \r\n [0:10]
+|--LEADING_ASTERISK -> * [1:0]
+|--WS -> [1:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [1:2]
+| |--SEE_LITERAL -> @see [1:2]
+| |--WS -> [1:6]
+| |--REFERENCE -> REFERENCE [1:7]
+| | |--HASH -> # [1:7]
+| | `--MEMBER -> FN [1:8]
+| `--NEWLINE -> \r\n [1:10]
+|--LEADING_ASTERISK -> * [2:0]
+|--WS -> [2:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [2:2]
+| |--SEE_LITERAL -> @see [2:2]
+| |--WS -> [2:6]
+| |--REFERENCE -> REFERENCE [2:7]
+| | |--HASH -> # [2:7]
+| | |--MEMBER -> C [2:8]
+| | `--PARAMETERS -> PARAMETERS [2:9]
+| | |--LEFT_BRACE -> ( [2:9]
+| | |--ARGUMENT -> Type [2:10]
+| | `--RIGHT_BRACE -> ) [2:14]
+| `--NEWLINE -> \r\n [2:15]
+|--LEADING_ASTERISK -> * [3:0]
+|--WS -> [3:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [3:2]
+| |--SEE_LITERAL -> @see [3:2]
+| |--WS -> [3:6]
+| |--REFERENCE -> REFERENCE [3:7]
+| | |--HASH -> # [3:7]
+| | |--MEMBER -> CN [3:8]
+| | `--PARAMETERS -> PARAMETERS [3:10]
+| | |--LEFT_BRACE -> ( [3:10]
+| | |--ARGUMENT -> Type [3:11]
+| | |--WS -> [3:15]
+| | |--ARGUMENT -> id [3:16]
+| | `--RIGHT_BRACE -> ) [3:18]
+| `--NEWLINE -> \r\n [3:19]
+|--LEADING_ASTERISK -> * [4:0]
+|--WS -> [4:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [4:2]
+| |--SEE_LITERAL -> @see [4:2]
+| |--WS -> [4:6]
+| |--REFERENCE -> REFERENCE [4:7]
+| | |--HASH -> # [4:7]
+| | |--MEMBER -> mN [4:8]
+| | `--PARAMETERS -> PARAMETERS [4:10]
+| | |--LEFT_BRACE -> ( [4:10]
+| | |--ARGUMENT -> Type [4:11]
+| | |--WS -> [4:15]
+| | |--ARGUMENT -> id [4:16]
+| | |--COMMA -> , [4:18]
+| | |--WS -> [4:19]
+| | |--ARGUMENT -> Type [4:20]
+| | |--COMMA -> , [4:24]
+| | |--WS -> [4:25]
+| | |--ARGUMENT -> Type [4:26]
+| | |--WS -> [4:30]
+| | |--ARGUMENT -> id [4:31]
+| | `--RIGHT_BRACE -> ) [4:33]
+| `--NEWLINE -> \r\n [4:34]
+|--LEADING_ASTERISK -> * [5:0]
+|--WS -> [5:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [5:2]
+| |--SEE_LITERAL -> @see [5:2]
+| |--WS -> [5:6]
+| |--REFERENCE -> REFERENCE [5:7]
+| | |--PACKAGE_CLASS -> CN [5:7]
+| | |--HASH -> # [5:9]
+| | `--MEMBER -> fieldName [5:10]
+| `--NEWLINE -> \r\n [5:19]
+|--LEADING_ASTERISK -> * [6:0]
+|--WS -> [6:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [6:2]
+| |--SEE_LITERAL -> @see [6:2]
+| |--WS -> [6:6]
+| |--REFERENCE -> REFERENCE [6:7]
+| | |--PACKAGE_CLASS -> CN [6:7]
+| | |--HASH -> # [6:9]
+| | `--MEMBER -> fn [6:10]
+| `--NEWLINE -> \r\n [6:12]
+|--LEADING_ASTERISK -> * [7:0]
+|--WS -> [7:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [7:2]
+| |--SEE_LITERAL -> @see [7:2]
+| |--WS -> [7:6]
+| |--REFERENCE -> REFERENCE [7:7]
+| | |--PACKAGE_CLASS -> name [7:7]
+| | |--HASH -> # [7:11]
+| | `--MEMBER -> FN [7:12]
+| `--NEWLINE -> \r\n [7:14]
+|--LEADING_ASTERISK -> * [8:0]
+|--WS -> [8:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [8:2]
+| |--SEE_LITERAL -> @see [8:2]
+| |--WS -> [8:6]
+| |--REFERENCE -> REFERENCE [8:7]
+| | |--PACKAGE_CLASS -> CN [8:7]
+| | |--HASH -> # [8:9]
+| | |--MEMBER -> C [8:10]
+| | `--PARAMETERS -> PARAMETERS [8:11]
+| | |--LEFT_BRACE -> ( [8:11]
+| | |--ARGUMENT -> Type [8:12]
+| | `--RIGHT_BRACE -> ) [8:16]
+| `--NEWLINE -> \r\n [8:17]
+|--LEADING_ASTERISK -> * [9:0]
+|--WS -> [9:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [9:2]
+| |--SEE_LITERAL -> @see [9:2]
+| |--WS -> [9:6]
+| |--REFERENCE -> REFERENCE [9:7]
+| | |--PACKAGE_CLASS -> CN [9:7]
+| | |--HASH -> # [9:9]
+| | |--MEMBER -> CN [9:10]
+| | `--PARAMETERS -> PARAMETERS [9:12]
+| | |--LEFT_BRACE -> ( [9:12]
+| | |--ARGUMENT -> Type [9:13]
+| | |--WS -> [9:17]
+| | |--ARGUMENT -> id [9:18]
+| | `--RIGHT_BRACE -> ) [9:20]
+| `--NEWLINE -> \r\n [9:21]
+|--LEADING_ASTERISK -> * [10:0]
+|--WS -> [10:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [10:2]
+| |--SEE_LITERAL -> @see [10:2]
+| |--WS -> [10:6]
+| |--REFERENCE -> REFERENCE [10:7]
+| | |--PACKAGE_CLASS -> CN [10:7]
+| | |--HASH -> # [10:9]
+| | |--MEMBER -> mN [10:10]
+| | `--PARAMETERS -> PARAMETERS [10:12]
+| | |--LEFT_BRACE -> ( [10:12]
+| | |--ARGUMENT -> Type [10:13]
+| | |--WS -> [10:17]
+| | |--ARGUMENT -> id [10:18]
+| | |--COMMA -> , [10:20]
+| | |--WS -> [10:21]
+| | |--ARGUMENT -> Type [10:22]
+| | |--COMMA -> , [10:26]
+| | |--WS -> [10:27]
+| | |--ARGUMENT -> Type [10:28]
+| | |--WS -> [10:32]
+| | |--ARGUMENT -> id [10:33]
+| | `--RIGHT_BRACE -> ) [10:35]
+| `--NEWLINE -> \r\n [10:36]
+|--LEADING_ASTERISK -> * [11:0]
+|--WS -> [11:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [11:2]
+| |--SEE_LITERAL -> @see [11:2]
+| |--WS -> [11:6]
+| |--REFERENCE -> REFERENCE [11:7]
+| | |--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName.ClassName [11:7]
+| | |--HASH -> # [11:58]
+| | `--MEMBER -> fieldName [11:59]
+| `--NEWLINE -> \r\n [11:68]
+|--LEADING_ASTERISK -> * [12:0]
+|--WS -> [12:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [12:2]
+| |--SEE_LITERAL -> @see [12:2]
+| |--WS -> [12:6]
+| |--REFERENCE -> REFERENCE [12:7]
+| | |--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName.ClassName [12:7]
+| | |--HASH -> # [12:58]
+| | `--MEMBER -> fn [12:59]
+| `--NEWLINE -> \r\n [12:61]
+|--LEADING_ASTERISK -> * [13:0]
+|--WS -> [13:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [13:2]
+| |--SEE_LITERAL -> @see [13:2]
+| |--WS -> [13:6]
+| |--REFERENCE -> REFERENCE [13:7]
+| | |--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName.ClassName [13:7]
+| | |--HASH -> # [13:58]
+| | `--MEMBER -> FN [13:59]
+| `--NEWLINE -> \r\n [13:61]
+|--LEADING_ASTERISK -> * [14:0]
+|--WS -> [14:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [14:2]
+| |--SEE_LITERAL -> @see [14:2]
+| |--WS -> [14:6]
+| |--REFERENCE -> REFERENCE [14:7]
+| | |--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName.ClassName [14:7]
+| | |--HASH -> # [14:58]
+| | |--MEMBER -> C [14:59]
+| | `--PARAMETERS -> PARAMETERS [14:60]
+| | |--LEFT_BRACE -> ( [14:60]
+| | |--ARGUMENT -> Type [14:61]
+| | `--RIGHT_BRACE -> ) [14:65]
+| `--NEWLINE -> \r\n [14:66]
+|--LEADING_ASTERISK -> * [15:0]
+|--WS -> [15:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [15:2]
+| |--SEE_LITERAL -> @see [15:2]
+| |--WS -> [15:6]
+| |--REFERENCE -> REFERENCE [15:7]
+| | |--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName.ClassName [15:7]
+| | |--HASH -> # [15:58]
+| | |--MEMBER -> CN [15:59]
+| | `--PARAMETERS -> PARAMETERS [15:61]
+| | |--LEFT_BRACE -> ( [15:61]
+| | |--ARGUMENT -> Type [15:62]
+| | |--WS -> [15:66]
+| | |--ARGUMENT -> id [15:67]
+| | `--RIGHT_BRACE -> ) [15:69]
+| `--NEWLINE -> \r\n [15:70]
+|--LEADING_ASTERISK -> * [16:0]
+|--WS -> [16:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [16:2]
+| |--SEE_LITERAL -> @see [16:2]
+| |--WS -> [16:6]
+| |--REFERENCE -> REFERENCE [16:7]
+| | |--PACKAGE_CLASS -> pn.CN [16:7]
+| | |--HASH -> # [16:12]
+| | |--MEMBER -> mN [16:13]
+| | `--PARAMETERS -> PARAMETERS [16:15]
+| | |--LEFT_BRACE -> ( [16:15]
+| | |--ARGUMENT -> Type [16:16]
+| | |--WS -> [16:20]
+| | |--ARGUMENT -> id [16:21]
+| | |--COMMA -> , [16:23]
+| | |--WS -> [16:24]
+| | |--ARGUMENT -> Type [16:25]
+| | |--COMMA -> , [16:29]
+| | |--WS -> [16:30]
+| | |--ARGUMENT -> Type [16:31]
+| | |--WS -> [16:35]
+| | |--ARGUMENT -> id [16:36]
+| | `--RIGHT_BRACE -> ) [16:38]
+| `--NEWLINE -> \r\n [16:39]
+|--LEADING_ASTERISK -> * [17:0]
+|--WS -> [17:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [17:2]
+| |--SEE_LITERAL -> @see [17:2]
+| |--WS -> [17:6]
+| |--REFERENCE -> REFERENCE [17:7]
+| | |--PACKAGE_CLASS -> pn.CN [17:7]
+| | |--HASH -> # [17:12]
+| | `--MEMBER -> FN [17:13]
+| `--NEWLINE -> \r\n [17:15]
+|--LEADING_ASTERISK -> * [18:0]
+|--WS -> [18:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [18:2]
+| |--SEE_LITERAL -> @see [18:2]
+| |--WS -> [18:6]
+| |--REFERENCE -> REFERENCE [18:7]
+| | |--PACKAGE_CLASS -> pn.CN [18:7]
+| | |--HASH -> # [18:12]
+| | `--MEMBER -> m [18:13]
+| `--NEWLINE -> \r\n [18:14]
+|--LEADING_ASTERISK -> * [19:0]
+|--WS -> [19:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [19:2]
+| |--SEE_LITERAL -> @see [19:2]
+| |--WS -> [19:6]
+| |--REFERENCE -> REFERENCE [19:7]
+| | `--PACKAGE_CLASS -> lowercase.UPPERCASE.CamelCase.packageName [19:7]
+| `--NEWLINE -> \r\n [19:48]
+|--LEADING_ASTERISK -> * [20:0]
+|--WS -> [20:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [20:2]
+| |--SEE_LITERAL -> @see [20:2]
+| |--WS -> [20:6]
+| |--REFERENCE -> REFERENCE [20:7]
+| | `--PACKAGE_CLASS -> pn.p [20:7]
+| `--NEWLINE -> \r\n [20:11]
+|--LEADING_ASTERISK -> * [21:0]
+|--WS -> [21:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [21:2]
+| |--SEE_LITERAL -> @see [21:2]
+| |--WS -> [21:6]
+| |--REFERENCE -> REFERENCE [21:7]
+| | `--PACKAGE_CLASS -> pn [21:7]
+| `--NEWLINE -> \r\n [21:9]
+|--LEADING_ASTERISK -> * [22:0]
+|--WS -> [22:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [22:2]
+| |--SEE_LITERAL -> @see [22:2]
+| |--WS -> [22:6]
+| |--REFERENCE -> REFERENCE [22:7]
+| | `--PACKAGE_CLASS -> Up.Lo [22:7]
+| |--WS -> [22:12]
+| `--DESCRIPTION -> DESCRIPTION [22:13]
+| |--HTML_ELEMENT -> HTML_ELEMENT [22:13]
+| | `--PARAGRAPH -> PARAGRAPH [22:13]
+| | |--P_TAG_START -> P_TAG_START [22:13]
+| | | |--START -> < [22:13]
+| | | |--P_HTML_TAG_NAME -> p [22:14]
+| | | `--END -> > [22:15]
+| | |--TEXT -> Up.Lo is a package [22:16]
+| | `--P_TAG_END -> P_TAG_END [22:34]
+| | |--START -> < [22:34]
+| | |--SLASH -> / [22:35]
+| | |--P_HTML_TAG_NAME -> p [22:36]
+| | `--END -> > [22:37]
+| `--NEWLINE -> \n [22:38]
+|--LEADING_ASTERISK -> * [23:0]
+|--WS -> [23:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [23:2]
+| |--SEE_LITERAL -> @see [23:2]
+| |--WS -> [23:6]
+| |--REFERENCE -> REFERENCE [23:7]
+| | |--PACKAGE_CLASS -> Up.Lo [23:7]
+| | |--HASH -> # [23:12]
+| | `--MEMBER -> member [23:13]
+| |--NEWLINE -> \n [23:19]
+| |--WS -> [24:0]
+| `--DESCRIPTION -> DESCRIPTION [24:10]
+| |--HTML_ELEMENT -> HTML_ELEMENT [24:10]
+| | `--PARAGRAPH -> PARAGRAPH [24:10]
+| | |--P_TAG_START -> P_TAG_START [24:10]
+| | | |--START -> < [24:10]
+| | | |--P_HTML_TAG_NAME -> p [24:11]
+| | | `--END -> > [24:12]
+| | |--HTML_TAG -> HTML_TAG [24:13]
+| | | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [24:13]
+| | | | |--START -> < [24:13]
+| | | | |--HTML_TAG_NAME -> a [24:14]
+| | | | |--WS -> [24:15]
+| | | | |--ATTRIBUTE -> ATTRIBUTE [24:16]
+| | | | | |--HTML_TAG_NAME -> href [24:16]
+| | | | | |--EQUALS -> = [24:20]
+| | | | | `--ATTR_VALUE -> "org.UpLo" [24:21]
+| | | | `--END -> > [24:32]
+| | | |--TEXT -> Up.Lo [24:33]
+| | | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [24:38]
+| | | |--START -> < [24:38]
+| | | |--SLASH -> / [24:39]
+| | | |--HTML_TAG_NAME -> a [24:40]
+| | | `--END -> > [24:41]
+| | |--TEXT -> is a [24:42]
+| | |--HTML_TAG -> HTML_TAG [24:48]
+| | | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [24:48]
+| | | | |--START -> < [24:48]
+| | | | |--HTML_TAG_NAME -> b [24:49]
+| | | | `--END -> > [24:50]
+| | | |--TEXT -> class [24:51]
+| | | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [24:56]
+| | | |--START -> < [24:56]
+| | | |--SLASH -> / [24:57]
+| | | |--HTML_TAG_NAME -> b [24:58]
+| | | `--END -> > [24:59]
+| | `--P_TAG_END -> P_TAG_END [24:60]
+| | |--START -> < [24:60]
+| | |--SLASH -> / [24:61]
+| | |--P_HTML_TAG_NAME -> p [24:62]
+| | `--END -> > [24:63]
+| `--NEWLINE -> \n [24:64]
+|--LEADING_ASTERISK -> * [25:0]
+|--WS -> [25:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [25:2]
+| |--SEE_LITERAL -> @see [25:2]
+| |--WS -> [25:6]
+| |--REFERENCE -> REFERENCE [25:7]
+| | |--PACKAGE_CLASS -> package.Class.NestedClassAtDepth1.NestedClassAtDepth2 [25:7]
+| | |--HASH -> # [25:60]
+| | `--MEMBER -> member [25:61]
+| |--NEWLINE -> \n [25:67]
+| `--DESCRIPTION -> DESCRIPTION [26:0]
+| |--HTML_ELEMENT -> HTML_ELEMENT [26:0]
+| | `--PARAGRAPH -> PARAGRAPH [26:0]
+| | |--P_TAG_START -> P_TAG_START [26:0]
+| | | |--START -> < [26:0]
+| | | |--P_HTML_TAG_NAME -> p [26:1]
+| | | `--END -> > [26:2]
+| | |--TEXT -> Separate package from class without context [26:3]
+| | |--NEWLINE -> \n [26:47]
+| | |--LEADING_ASTERISK -> * [27:0]
+| | |--TEXT -> [27:1]
+| | `--P_TAG_END -> P_TAG_END [27:2]
+| | |--START -> < [27:2]
+| | |--SLASH -> / [27:3]
+| | |--P_HTML_TAG_NAME -> p [27:4]
+| | `--END -> > [27:5]
+| `--NEWLINE -> \n [27:6]
+|--LEADING_ASTERISK -> * [28:0]
+|--WS -> [28:1]
+|--JAVADOC_TAG -> JAVADOC_TAG [28:2]
+| |--SEE_LITERAL -> @see [28:2]
+| |--WS -> [28:6]
+| |--REFERENCE -> REFERENCE [28:7]
+| | `--PACKAGE_CLASS -> javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent [28:7]
+| |--WS -> [28:76]
+| `--DESCRIPTION -> DESCRIPTION [28:77]
+| `--TEXT -> () [28:77]
+`--EOF -> <EOF> [28:79]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/gui/InputJavadocAttributesAndMethods.java b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/codeselectorpresentation/InputCodeSelectorPresentation.java
index eacb8536e..f5f557786 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/gui/InputJavadocAttributesAndMethods.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/codeselectorpresentation/InputCodeSelectorPresentation.java
@@ -1,7 +1,7 @@
/**
* class javadoc
*/
-class InputJavadocAttributesAndMethods {
+class InputCodeSelectorPresentation {
/** attribute javadoc*/
int attribute;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/gui/mainframemodel/InputMainFrameModel.java b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/mainframemodel/InputMainFrameModel.java
new file mode 100644
index 000000000..ccc6f39ab
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/mainframemodel/InputMainFrameModel.java
@@ -0,0 +1,16 @@
+/**
+* class javadoc
+*/
+class InputMainFrameModel {
+
+ /** attribute javadoc*/
+ int attribute;
+
+ /**
+ * method javadoc
+ */
+ public void method() {
+ /* just comment */
+ }
+
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/gui/parsetreetablepresentation/InputParseTreeTablePresentation.java b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/parsetreetablepresentation/InputParseTreeTablePresentation.java
new file mode 100644
index 000000000..788fe2686
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/gui/parsetreetablepresentation/InputParseTreeTablePresentation.java
@@ -0,0 +1,16 @@
+/**
+* class javadoc
+*/
+class InputParseTreeTablePresentation {
+
+ /** attribute javadoc*/
+ int attribute;
+
+ /**
+ * method javadoc
+ */
+ public void method() {
+ /* just comment */
+ }
+
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksDefaultConfig.java b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksDefaultConfig.java
deleted file mode 100644
index 760e4838a..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksDefaultConfig.java
+++ /dev/null
@@ -1,2 +0,0 @@
-
-package com.puppycrawl.tools.checkstyle.internal;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksImport-control_complete.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksImport-control_complete.xml
deleted file mode 100644
index 4ac674ed8..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/InputAllChecksImport-control_complete.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE import-control PUBLIC
- "-//Puppy Crawl//DTD Import Control 1.0//EN"
- "http://checkstyle.sourceforge.net/dtds/import_control_1_0.dtd">
-
-<import-control pkg="com">
- <allow class="some.class"/>
- <disallow class="another.class" local-only="true"/>
- <allow pkg="some.pkg"/>
- <disallow pkg="another.pkg" local-only="true"/>
- <disallow pkg="and.another.pkg" exact-match="true"/>
- <subpackage name="puppycrawl">
- <disallow pkg="some.pkg"/>
- <disallow class="some.class"/>
- </subpackage>
-</import-control>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksDefaultConfig.java b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksDefaultConfig.java
new file mode 100644
index 000000000..f5e1181df
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksDefaultConfig.java
@@ -0,0 +1,2 @@
+
+package com.puppycrawl.tools.checkstyle.internal.allchecks;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/import-control_complete.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksImportControl.xml
index 4ac674ed8..4ac674ed8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/import-control_complete.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/InputAllChecksImportControl.xml
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/package-info.java b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/package-info.java
new file mode 100644
index 000000000..0a05277dd
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/internal/allchecks/package-info.java
@@ -0,0 +1 @@
+package com.puppycrawl.tools.checkstyle.internal.allchecks;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParser.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParser.txt
new file mode 100644
index 000000000..95505e104
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParser.txt
@@ -0,0 +1,50 @@
+JAVADOC -> JAVADOC [3:3]
+|--NEWLINE -> \n [3:3]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> Some [4:2]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:8]
+| `--PARAGRAPH -> PARAGRAPH [4:8]
+| |--P_TAG_START -> P_TAG_START [4:8]
+| | |--START -> < [4:8]
+| | |--P_HTML_TAG_NAME -> p [4:9]
+| | `--END -> > [4:10]
+| |--TEXT -> Javadoc [4:11]
+| `--P_TAG_END -> P_TAG_END [4:18]
+| |--START -> < [4:18]
+| |--SLASH -> / [4:19]
+| |--P_HTML_TAG_NAME -> p [4:20]
+| `--END -> > [4:21]
+|--TEXT -> . [4:22]
+|--NEWLINE -> \n [4:23]
+|--LEADING_ASTERISK -> * [5:0]
+|--NEWLINE -> \n [5:2]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> Some Javadoc. [6:2]
+|--NEWLINE -> \n [6:16]
+|--LEADING_ASTERISK -> * [7:0]
+|--NEWLINE -> \n [7:2]
+|--LEADING_ASTERISK -> * [8:0]
+|--WS -> [8:2]
+|--JAVADOC_TAG -> JAVADOC_TAG [8:3]
+| |--SEE_LITERAL -> @see [8:3]
+| |--WS -> [8:7]
+| |--HTML_ELEMENT -> HTML_ELEMENT [8:8]
+| | `--HTML_TAG -> HTML_TAG [8:8]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [8:8]
+| | | |--START -> < [8:8]
+| | | |--HTML_TAG_NAME -> a [8:9]
+| | | |--WS -> [8:10]
+| | | |--ATTRIBUTE -> ATTRIBUTE [8:11]
+| | | | |--HTML_TAG_NAME -> href [8:11]
+| | | | |--EQUALS -> = [8:15]
+| | | | `--ATTR_VALUE -> "http://code.google.com" [8:16]
+| | | `--END -> > [8:41]
+| | |--TEXT -> Documentation about GWT emulated source [8:42]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [8:81]
+| | |--START -> < [8:81]
+| | |--SLASH -> / [8:82]
+| | |--HTML_TAG_NAME -> a [8:83]
+| | `--END -> > [8:84]
+| |--NEWLINE -> \n [8:85]
+| `--WS -> [9:0]
+`--EOF -> <EOF> [9:1]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParserWindows.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParserWindows.txt
new file mode 100644
index 000000000..f8a0a75ea
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/ExpectedJavadocDetailNodeParserWindows.txt
@@ -0,0 +1,50 @@
+JAVADOC -> JAVADOC [3:3]
+|--NEWLINE -> \r\n [3:3]
+|--LEADING_ASTERISK -> * [4:0]
+|--TEXT -> Some [4:2]
+|--HTML_ELEMENT -> HTML_ELEMENT [4:8]
+| `--PARAGRAPH -> PARAGRAPH [4:8]
+| |--P_TAG_START -> P_TAG_START [4:8]
+| | |--START -> < [4:8]
+| | |--P_HTML_TAG_NAME -> p [4:9]
+| | `--END -> > [4:10]
+| |--TEXT -> Javadoc [4:11]
+| `--P_TAG_END -> P_TAG_END [4:18]
+| |--START -> < [4:18]
+| |--SLASH -> / [4:19]
+| |--P_HTML_TAG_NAME -> p [4:20]
+| `--END -> > [4:21]
+|--TEXT -> . [4:22]
+|--NEWLINE -> \r\n [4:23]
+|--LEADING_ASTERISK -> * [5:0]
+|--NEWLINE -> \r\n [5:2]
+|--LEADING_ASTERISK -> * [6:0]
+|--TEXT -> Some Javadoc. [6:2]
+|--NEWLINE -> \r\n [6:16]
+|--LEADING_ASTERISK -> * [7:0]
+|--NEWLINE -> \r\n [7:2]
+|--LEADING_ASTERISK -> * [8:0]
+|--WS -> [8:2]
+|--JAVADOC_TAG -> JAVADOC_TAG [8:3]
+| |--SEE_LITERAL -> @see [8:3]
+| |--WS -> [8:7]
+| |--HTML_ELEMENT -> HTML_ELEMENT [8:8]
+| | `--HTML_TAG -> HTML_TAG [8:8]
+| | |--HTML_ELEMENT_START -> HTML_ELEMENT_START [8:8]
+| | | |--START -> < [8:8]
+| | | |--HTML_TAG_NAME -> a [8:9]
+| | | |--WS -> [8:10]
+| | | |--ATTRIBUTE -> ATTRIBUTE [8:11]
+| | | | |--HTML_TAG_NAME -> href [8:11]
+| | | | |--EQUALS -> = [8:15]
+| | | | `--ATTR_VALUE -> "http://code.google.com" [8:16]
+| | | `--END -> > [8:41]
+| | |--TEXT -> Documentation about GWT emulated source [8:42]
+| | `--HTML_ELEMENT_END -> HTML_ELEMENT_END [8:81]
+| | |--START -> < [8:81]
+| | |--SLASH -> / [8:82]
+| | |--HTML_TAG_NAME -> a [8:83]
+| | `--END -> > [8:84]
+| |--NEWLINE -> \r\n [8:85]
+| `--WS -> [9:0]
+`--EOF -> <EOF> [9:1]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/InputJavadocDetailNodeParser.java b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/InputJavadocDetailNodeParser.java
new file mode 100644
index 000000000..e93873706
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/javadocdetailnodeparser/InputJavadocDetailNodeParser.java
@@ -0,0 +1,10 @@
+package com.puppycrawl.tools.checkstyle;
+
+/**
+ * Some <p>Javadoc</p>.
+ *
+ * Some Javadoc.
+ *
+ * @see <a href="http://code.google.com">Documentation about GWT emulated source</a>
+ */
+public class InputJavadocDetailNodeParser {}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-custom-root-module.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-custom-root-module.xml
index 20e6f58b4..b47f57958 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-custom-root-module.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-custom-root-module.xml
@@ -3,6 +3,6 @@
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
-<module name="com.puppycrawl.tools.checkstyle.TestRootModuleChecker">
+<module name="com.puppycrawl.tools.checkstyle.internal.testmodules.TestRootModuleChecker">
<property name="property" value="${lineLength.severity}" default=""/>
</module>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-multi-thread-mode.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-multi-thread-mode.xml
index 47196f9fd..9374f455b 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-multi-thread-mode.xml
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainConfig-multi-thread-mode.xml
@@ -3,7 +3,7 @@
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
-<module name="com.puppycrawl.tools.checkstyle.TestRootModuleChecker">
+<module name="com.puppycrawl.tools.checkstyle.internal.testmodules.TestRootModuleChecker">
<property name="property" value="test" default="test"/>
<module name="Checker">
<module name="TreeWalker">
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainExpectedInputJavadocComment.txt b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainExpectedInputJavadocComment.txt
index 5b4d7a252..b0655f7a8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainExpectedInputJavadocComment.txt
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/main/InputMainExpectedInputJavadocComment.txt
@@ -1,10 +1,10 @@
JAVADOC -> JAVADOC [0:0]
|--HTML_ELEMENT -> HTML_ELEMENT [0:0]
| `--PARAGRAPH -> PARAGRAPH [0:0]
-| |--P_TAG_OPEN -> P_TAG_OPEN [0:0]
-| | |--OPEN -> < [0:0]
+| |--P_TAG_START -> P_TAG_START [0:0]
+| | |--START -> < [0:0]
| | |--P_HTML_TAG_NAME -> p [0:1]
-| | `--CLOSE -> > [0:2]
+| | `--END -> > [0:2]
| |--NEWLINE -> \r\n [0:3]
| |--TEXT -> My [1:0]
| |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [1:3]
@@ -14,15 +14,15 @@ JAVADOC -> JAVADOC [0:0]
| | |--TEXT -> Class [1:10]
| | `--JAVADOC_INLINE_TAG_END -> } [1:16]
| |--NEWLINE -> \r\n [1:17]
-| `--P_TAG_CLOSE -> P_TAG_CLOSE [2:0]
-| |--OPEN -> < [2:0]
+| `--P_TAG_END -> P_TAG_END [2:0]
+| |--START -> < [2:0]
| |--SLASH -> / [2:1]
| |--P_HTML_TAG_NAME -> p [2:2]
-| `--CLOSE -> > [2:3]
+| `--END -> > [2:3]
|--NEWLINE -> \r\n [2:4]
|--JAVADOC_TAG -> JAVADOC_TAG [3:0]
| |--SEE_LITERAL -> @see [3:0]
| |--WS -> [3:4]
| `--REFERENCE -> REFERENCE [3:5]
-| `--PACKAGE -> never [3:5]
+| `--PACKAGE_CLASS -> never [3:5]
`--EOF -> <EOF> [3:10]
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/packagenamesloader/InputPackageNamesLoaderFile.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/packagenamesloader/InputPackageNamesLoaderFile.xml
new file mode 100644
index 000000000..c634c7c1e
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/packagenamesloader/InputPackageNamesLoaderFile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE checkstyle-packages PUBLIC
+ "-//Puppy Crawl//DTD Package Names 1.0//EN"
+ "http://checkstyle.sourceforge.net/dtds/packages_1_0.dtd">
+
+<checkstyle-packages>
+ <package name="com.puppycrawl.tools.checkstyle">
+ <package name="checks">
+ <package name="annotation"/>
+ <package name="blocks"/>
+ <package name="coding"/>
+ <package name="design"/>
+ <package name="header"/>
+ <package name="imports"/>
+ <package name="indentation"/>
+ <package name="javadoc"/>
+ <package name="metrics"/>
+ <package name="modifier"/>
+ <package name="naming"/>
+ <package name="regexp"/>
+ <package name="sizes"/>
+ <package name="whitespace"/>
+ </package>
+ <package name="filefilters"/>
+ <package name="filters"/>
+ </package>
+</checkstyle-packages>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/cache.tmp b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile
index 7b89edbaf..7b89edbaf 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/cache.tmp
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/java.header b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile.header
index 3399e3b3e..3399e3b3e 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/java.header
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFile.header
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/externalResourse.tmp b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFileExternal.properties
index 7b89edbaf..7b89edbaf 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/externalResourse.tmp
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/propertycachefile/InputPropertyCacheFileExternal.properties
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalker.java b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalker.java
new file mode 100644
index 000000000..1309fde90
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalker.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.treewalker;
+/*comment*/
+public class InputTreeWalker {
+}
+class InputTreeWalkerInner {
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerHiddenComments.java b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerHiddenComments.java
index 675d295d5..a3a28797f 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerHiddenComments.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerHiddenComments.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle;
+package com.puppycrawl.tools.checkstyle.treewalker;
/**
* Some Javadoc.
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerNotJava.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerNotJava.xml
new file mode 100644
index 000000000..1cd82c599
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerNotJava.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE checkstyle-packages PUBLIC
+ "-//Puppy Crawl//DTD Package Names 1.0//EN"
+ "http://checkstyle.sourceforge.net/dtds/packages_1_0.dtd">
+
+<checkstyle-packages>
+</checkstyle-packages>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerSuppressionCommentFilter.java b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionCommentFilter.java
index 917b76e35..69dd15ac8 100644
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputTreeWalkerSuppressionCommentFilter.java
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionCommentFilter.java
@@ -1,4 +1,4 @@
-package com.puppycrawl.tools.checkstyle;
+package com.puppycrawl.tools.checkstyle.treewalker;
public class InputTreeWalkerSuppressionCommentFilter {
private int I;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionXpathFilter.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionXpathFilter.xml
new file mode 100644
index 000000000..21712522d
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerSuppressionXpathFilter.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+ "http://checkstyle.sourceforge.net/dtds/suppressions_1_0.dtd">
+<suppressions>
+</suppressions>
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAnnotation.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAnnotation.java
new file mode 100644
index 000000000..e2d86c6d3
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAnnotation.java
@@ -0,0 +1,6 @@
+package com.puppycrawl.tools.checkstyle.xpath.xpathmapper;
+
+@SuppressWarnings("test")
+public class InputXpathMapperAnnotation {
+
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAst.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAst.java
new file mode 100644
index 000000000..78d76567b
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperAst.java
@@ -0,0 +1,25 @@
+package com.puppycrawl.tools.checkstyle.xpath.xpathmapper;
+
+public class InputXpathMapperAst {
+
+ /**
+ * Returns if current node has children.
+ * @return if current node has children
+ */
+ public void callSomeMethod() {
+ int variable = 123;
+ String another = "HelloWorld";
+ String[] array = new String[3];
+ for (String cycle : array) {
+
+ }
+ }
+
+ /**
+ * Returns if current node has children.
+ * @return if current node has children
+ */
+ public String getSomeMethod() {
+ return "HelloWorld";
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperEnum.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperEnum.java
new file mode 100644
index 000000000..8827f2acc
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperEnum.java
@@ -0,0 +1,7 @@
+package com.puppycrawl.tools.checkstyle.xpath.xpathmapper;
+
+public enum InputXpathMapperEnum {
+ ONE,
+ TWO,
+ THREE
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperInterface.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperInterface.java
new file mode 100644
index 000000000..0a1c352ca
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathmapper/InputXpathMapperInterface.java
@@ -0,0 +1,8 @@
+package com.puppycrawl.tools.checkstyle.xpath.xpathmapper;
+
+public interface InputXpathMapperInterface {
+ int sum(int a, int b);
+ void init(String someVariable, int age);
+ String getName();
+ void delete();
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGenerator.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGenerator.java
new file mode 100644
index 000000000..f1cc40c47
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGenerator.java
@@ -0,0 +1,75 @@
+//Test Comment
+package com.puppycrawl.tools.checkstyle.xpath.xpathquerygenerator;
+
+import javax.swing.JToolBar;
+import java.io.File;
+import java.sql.Connection;
+import java.util.Arrays;
+import java.util.Iterator;
+
+import static java.io.File.listRoots;
+
+public class InputXpathQueryGenerator {
+
+ private Class mUse1 = Connection.class;
+ private Class mUse2 = java.io.File.class;
+ private Class mUse3 = Iterator[].class;
+ private Class mUse4 = java.util.Enumeration[].class;
+ private String ftpClient = null;
+
+ {
+ int[] x = {};
+ Arrays.sort(x);
+ Object obj = javax.swing.BorderFactory.createEmptyBorder();
+ File[] files = listRoots();
+ }
+
+ private JToolBar.Separator mSep = null;
+
+ private Object mUse5 = new Object();
+
+ private Object mUse6 = new javax.swing.JToggleButton.ToggleButtonModel();
+
+ private int Component;
+
+ public void Label() {
+ int i = 23;
+ switch (i) {
+ default:
+ break;
+ case 1:
+ break;
+ }
+ }
+
+ public void callSomeMethod() {
+ int variable = 123;
+ String another = "HelloWorld";
+ String[] array = new String[3];
+ for (String cycle : array) {
+ char a = 'b';
+ char b = a;
+ byte c = 1;
+ short d = 1;
+ }
+ }
+
+ /**
+ * Returns if current node has children.
+ * @return if current node has children
+ */
+ public String getSomeMethod() {
+ return "HelloWorld";
+ }
+
+ static void foo() {
+ for (int i = 0; i < 10; i++, i+=2) {
+
+ }
+ return;
+ }
+
+ private boolean saveUser(String name, String surname, int age) {
+ return true;
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGeneratorTabWidth.java b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGeneratorTabWidth.java
new file mode 100644
index 000000000..03545c16c
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/xpath/xpathquerygenerator/InputXpathQueryGeneratorTabWidth.java
@@ -0,0 +1,19 @@
+package com.puppycrawl.tools.checkstyle.xpath.xpathquerygenerator;
+
+public class InputXpathQueryGeneratorTabWidth {
+ public String toString() {
+ return "";
+ }
+
+ public void getName() {
+
+ }
+
+ private int tabAfterMe() {
+ return 1;
+ }
+
+ private String endLineTab = "qwe";
+
+
+}