Class CaseHandler
java.lang.Object
com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
com.puppycrawl.tools.checkstyle.checks.indentation.CaseHandler
Handler for case statements.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int[]The child elements of a case expression. -
Constructor Summary
ConstructorsConstructorDescriptionCaseHandler(IndentationCheck indentCheck, DetailAST expr, AbstractExpressionHandler parent) Construct an instance of this handler with the given indentation check, abstract syntax tree, and parent handler. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidCheck the indentation of the case statement.voidCheck the indentation of the expression we are handling.protected IndentLevelCompute the indentation amount for this handler.Indentation level suggested for a child element.private booleanChecks if CASE_GROUP node is placed at the same line as SWITCH_LITERAL node.Methods inherited from class com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
checkChildren, checkExpressionSubtree, checkLeftParen, checkModifiers, checkRightParen, checkWrappingIndentation, checkWrappingIndentation, expandedTabsColumnNo, findSubtreeAst, getBasicOffset, getBraceAdjustment, getFirstAstNode, getFirstLine, getFirstToken, getIndent, getIndentCheck, getLineStart, getLineStart, getMainAst, getParent, isOnStartOfLine, logError, logError, shouldIncreaseIndent
-
Field Details
-
CASE_CHILDREN
The child elements of a case expression.
-
-
Constructor Details
-
CaseHandler
Construct an instance of this handler with the given indentation check, abstract syntax tree, and parent handler.- Parameters:
indentCheck- the indentation checkexpr- the abstract syntax treeparent- the parent handler
-
-
Method Details
-
getIndentImpl
Description copied from class:AbstractExpressionHandlerCompute the indentation amount for this handler.- Overrides:
getIndentImplin classAbstractExpressionHandler- Returns:
- the expected indentation amount
-
checkCase
Check the indentation of the case statement. -
getSuggestedChildIndent
Description copied from class:AbstractExpressionHandlerIndentation level suggested for a child element. Children don't have to respect this, but most do.- Overrides:
getSuggestedChildIndentin classAbstractExpressionHandler- Parameters:
child- child AST (so suggestion level can differ based on child type)- Returns:
- suggested indentation for child
-
checkIndentation
Description copied from class:AbstractExpressionHandlerCheck the indentation of the expression we are handling.- Specified by:
checkIndentationin classAbstractExpressionHandler
-
isSameLineAsSwitch
Checks if CASE_GROUP node is placed at the same line as SWITCH_LITERAL node.- Returns:
- true, if CASE_GROUP node is places at the same line as SWITCH_LITERAL node.
-