Class ClassDefHandler
java.lang.Object
com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
com.puppycrawl.tools.checkstyle.checks.indentation.BlockParentHandler
com.puppycrawl.tools.checkstyle.checks.indentation.ClassDefHandler
Handler for class definitions.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionClassDefHandler(IndentationCheck indentCheck, DetailAST ast, AbstractExpressionHandler parent) Construct an instance of this handler with the given indentation check, abstract syntax tree, and parent handler. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidChecks modifiers for annotation definitions, skipping modifiers that are not at the start of the line.private voidChecks modifiers for class definitions, skipping wrapped modifiers that appear on lines after the first modifier line.voidCheck the indentation of the expression we are handling.private voidcheckLineModifiers(DetailAST firstModifier, int firstModifierLine) Checks modifiers on the first modifier line.private voidChecks modifiers for class/annotation definitions.private voidcheckNonFirstLineModifiers(DetailAST firstNonAnnotationMod) Checks modifiers on the line of the first non-annotation modifier, skipping correctly-indented annotations to avoid false positives when annotations wrap before the class keyword.protected int[]Returns array of token types which should be checked among children.private static DetailASTgetFirstNonAnnotationModifier(DetailAST firstModifier) Finds the first non-annotation modifier node.private static StringgetHandlerName(DetailAST ast) Creates a handler name for this class according to ast type.protected DetailASTGet the left curly brace portion of the expression we are handling.protected DetailASTGet the child element representing the list of statements.protected DetailASTGet the right curly brace portion of the expression we are handling.protected DetailASTGet the top level expression being managed by this handler.Methods inherited from class com.puppycrawl.tools.checkstyle.checks.indentation.BlockParentHandler
canChildrenBeNested, checkTopLevelToken, curlyIndent, getChildrenExpectedIndent, getNonListChild, getSuggestedChildIndent, shouldCheckLeftParen, shouldCheckRightParenMethods inherited from class com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
checkChildren, checkExpressionSubtree, checkLeftParen, checkRightParen, checkWrappingIndentation, checkWrappingIndentation, expandedTabsColumnNo, findSubtreeAst, getBasicOffset, getBraceAdjustment, getFirstAstNode, getFirstLine, getFirstToken, getIndent, getIndentCheck, getIndentImpl, getLineStart, getLineStart, getMainAst, getParent, isOnStartOfLine, logError, logError, shouldCheckIndentationForChild, shouldIncreaseIndent
-
Field Details
-
MODIFIER
Token for modifier.- See Also:
-
-
Constructor Details
-
ClassDefHandler
public ClassDefHandler(IndentationCheck indentCheck, DetailAST ast, AbstractExpressionHandler parent) Construct an instance of this handler with the given indentation check, abstract syntax tree, and parent handler.- Parameters:
indentCheck- the indentation checkast- the abstract syntax treeparent- the parent handler
-
-
Method Details
-
getLeftCurly
Description copied from class:BlockParentHandlerGet the left curly brace portion of the expression we are handling.- Overrides:
getLeftCurlyin classBlockParentHandler- Returns:
- the left curly brace expression
-
getRightCurly
Description copied from class:BlockParentHandlerGet the right curly brace portion of the expression we are handling.- Overrides:
getRightCurlyin classBlockParentHandler- Returns:
- the right curly brace expression
-
getTopLevelAst
Description copied from class:BlockParentHandlerGet the top level expression being managed by this handler.- Overrides:
getTopLevelAstin classBlockParentHandler- Returns:
- the top level expression
-
getListChild
Description copied from class:BlockParentHandlerGet the child element representing the list of statements.- Overrides:
getListChildin classBlockParentHandler- Returns:
- the statement list child
-
checkIndentation
Description copied from class:AbstractExpressionHandlerCheck the indentation of the expression we are handling.- Overrides:
checkIndentationin classBlockParentHandler
-
getCheckedChildren
Description copied from class:BlockParentHandlerReturns array of token types which should be checked among children.- Overrides:
getCheckedChildrenin classBlockParentHandler- Returns:
- array of token types to check.
-
checkModifiers
Checks modifiers for class/annotation definitions. -
checkAnnotationDefModifiers
Checks modifiers for annotation definitions, skipping modifiers that are not at the start of the line. -
checkClassDefModifiers
Checks modifiers for class definitions, skipping wrapped modifiers that appear on lines after the first modifier line. Annotations that wrap before the class keyword are skipped only when they are correctly indented, since a correctly indented annotation before a wrongly indented class keyword is not itself a violation. -
checkLineModifiers
Checks modifiers on the first modifier line.- Parameters:
firstModifier- the first modifierfirstModifierLine- line number of the first modifier
-
checkNonFirstLineModifiers
Checks modifiers on the line of the first non-annotation modifier, skipping correctly-indented annotations to avoid false positives when annotations wrap before the class keyword.- Parameters:
firstNonAnnotationMod- the first non-annotation modifier
-
getFirstNonAnnotationModifier
Finds the first non-annotation modifier node.- Parameters:
firstModifier- the first modifier in the modifiers list- Returns:
- the first non-annotation modifier node
-
getHandlerName
Creates a handler name for this class according to ast type.- Parameters:
ast- the abstract syntax tree.- Returns:
- handler name for this class.
-