Class SwitchRuleHandler
java.lang.Object
com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
com.puppycrawl.tools.checkstyle.checks.indentation.SwitchRuleHandler
Handler for switch rules.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int[]The child elements of a switch rule. -
Constructor Summary
ConstructorsConstructorDescriptionSwitchRuleHandler(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 booleanisSameLineAsSwitch(DetailAST node) Checks if the current SWITCH_RULE node is placed on the same line as the given SWITCH_LITERAL node.Methods inherited from class AbstractExpressionHandler
checkChildren, checkExpressionSubtree, checkLeftParen, checkModifiers, checkRightParen, checkWrappingIndentation, checkWrappingIndentation, expandedTabsColumnNo, findSubtreeAst, getBasicOffset, getBraceAdjustment, getFirstAstNode, getFirstLine, getFirstToken, getIndent, getIndentCheck, getLineStart, getLineStart, getMainAst, getParent, isOnStartOfLine, logError, logError, shouldCheckIndentationForChild, shouldIncreaseIndent
-
Field Details
-
SWITCH_RULE_CHILDREN
private static final int[] SWITCH_RULE_CHILDRENThe child elements of a switch rule.
-
-
Constructor Details
-
SwitchRuleHandler
public SwitchRuleHandler(IndentationCheck indentCheck, DetailAST expr, AbstractExpressionHandler parent) 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
private void 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
public void checkIndentation()Description copied from class:AbstractExpressionHandlerCheck the indentation of the expression we are handling.- Specified by:
checkIndentationin classAbstractExpressionHandler
-
isSameLineAsSwitch
Checks if the current SWITCH_RULE node is placed on the same line as the given SWITCH_LITERAL node.- Parameters:
node- the SWITCH_LITERAL node to compare with- Returns:
- true if the current SWITCH_RULE node is on the same line as the given SWITCH_LITERAL node
-