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 voidcheckCondExpr()Check the indentation of the conditional expression.voidcheckIndentation()Check the indentation of the expression we are handling.protected voidcheckTopLevelToken()Check the indent of the top level token.private static DetailASTgetIfStatementRightParen(DetailAST literalIfAst)Returns right parenthesis of if statement.protected IndentLevelgetIndentImpl()Compute the indentation amount for this handler.IndentLevelgetSuggestedChildIndent(AbstractExpressionHandler child)Indentation level suggested for a child element.private booleanisIfAfterElse()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:AbstractExpressionHandlerIndentation level suggested for a child element. Children don't have to respect this, but most do.- Overrides:
getSuggestedChildIndentin 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:AbstractExpressionHandlerCompute the indentation amount for this handler.- Overrides:
getIndentImplin 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:BlockParentHandlerCheck the indent of the top level token.- Overrides:
checkTopLevelTokenin classBlockParentHandler
-
checkCondExpr
private void checkCondExpr()
Check the indentation of the conditional expression.
-
checkIndentation
public void checkIndentation()
Description copied from class:AbstractExpressionHandlerCheck the indentation of the expression we are handling.- Overrides:
checkIndentationin 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.
-
-