Class IfHandler
java.lang.Object
com.puppycrawl.tools.checkstyle.checks.indentation.AbstractExpressionHandler
com.puppycrawl.tools.checkstyle.checks.indentation.BlockParentHandler
com.puppycrawl.tools.checkstyle.checks.indentation.IfHandler
Handler for if statements.
-
Constructor Summary
ConstructorsConstructorDescriptionIfHandler
(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 void
Check the indentation of the conditional expression.void
Check the indentation of the expression we are handling.protected void
Check the indent of the top level token.private static DetailAST
getIfStatementRightParen
(DetailAST literalIfAst) Returns right parenthesis of if statement.protected IndentLevel
Compute the indentation amount for this handler.Indentation level suggested for a child element.private boolean
Determines if this 'if' statement is part of an 'else' clause and on the same line.Methods inherited from class com.puppycrawl.tools.checkstyle.checks.indentation.BlockParentHandler
canChildrenBeNested, curlyIndent, getCheckedChildren, getChildrenExpectedIndent, getLeftCurly, getListChild, getNonListChild, getRightCurly, getTopLevelAst
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
-
Constructor Details
-
IfHandler
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
-
getSuggestedChildIndent
Description copied from class:AbstractExpressionHandler
Indentation level suggested for a child element. Children don't have to respect this, but most do.- Overrides:
getSuggestedChildIndent
in classBlockParentHandler
- Parameters:
child
- child AST (so suggestion level can differ based on child type)- Returns:
- suggested indentation for child
-
getIndentImpl
Description copied from class:AbstractExpressionHandler
Compute the indentation amount for this handler.- Overrides:
getIndentImpl
in classAbstractExpressionHandler
- Returns:
- the expected indentation amount
-
isIfAfterElse
Determines if this 'if' statement is part of an 'else' clause and on the same line.- Returns:
- true if this 'if' is part of an 'else', false otherwise
-
checkTopLevelToken
Description copied from class:BlockParentHandler
Check the indent of the top level token.- Overrides:
checkTopLevelToken
in classBlockParentHandler
-
checkCondExpr
Check the indentation of the conditional expression. -
checkIndentation
Description copied from class:AbstractExpressionHandler
Check the indentation of the expression we are handling.- Overrides:
checkIndentation
in classBlockParentHandler
-
getIfStatementRightParen
Returns right parenthesis of if statement.- Parameters:
literalIfAst
- literal-if ast node(TokenTypes.LITERAL_IF)- Returns:
- right parenthesis of if statement.
-