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
-
public class IfHandler extends BlockParentHandler
Handler for if statements.
-
-
Constructor Summary
Constructors Constructor Description IfHandler(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkCondExpr()
Check the indentation of the conditional expression.void
checkIndentation()
Check the indentation of the expression we are handling.protected void
checkTopLevelToken()
Check the indent of the top level token.private static DetailAST
getIfStatementRightParen(DetailAST literalIfAst)
Returns right parenthesis of if statement.protected IndentLevel
getIndentImpl()
Compute the indentation amount for this handler.IndentLevel
getSuggestedChildIndent(AbstractExpressionHandler child)
Indentation level suggested for a child element.private boolean
isIfAfterElse()
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 Detail
-
IfHandler
public IfHandler(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 Detail
-
getSuggestedChildIndent
public IndentLevel getSuggestedChildIndent(AbstractExpressionHandler child)
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
protected IndentLevel getIndentImpl()
Description copied from class:AbstractExpressionHandler
Compute the indentation amount for this handler.- Overrides:
getIndentImpl
in classAbstractExpressionHandler
- Returns:
- the expected indentation amount
-
isIfAfterElse
private boolean 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
protected void checkTopLevelToken()
Description copied from class:BlockParentHandler
Check the indent of the top level token.- Overrides:
checkTopLevelToken
in classBlockParentHandler
-
checkCondExpr
private void checkCondExpr()
Check the indentation of the conditional expression.
-
checkIndentation
public void checkIndentation()
Description copied from class:AbstractExpressionHandler
Check the indentation of the expression we are handling.- Overrides:
checkIndentation
in classBlockParentHandler
-
getIfStatementRightParen
private static DetailAST getIfStatementRightParen(DetailAST literalIfAst)
Returns right parenthesis of if statement.- Parameters:
literalIfAst
- literal-if ast node(TokenTypes.LITERAL_IF)- Returns:
- right parenthesis of if statement.
-
-