Package org.sonar.python.checks
Class ConstantConditionCheck
- java.lang.Object
-
- org.sonar.plugins.python.api.tree.BaseTreeVisitor
-
- org.sonar.plugins.python.api.PythonVisitorCheck
-
- org.sonar.python.checks.ConstantConditionCheck
-
- All Implemented Interfaces:
PythonCheck,TreeVisitor
public class ConstantConditionCheck extends PythonVisitorCheck
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.sonar.plugins.python.api.PythonCheck
PythonCheck.PreciseIssue
-
-
Constructor Summary
Constructors Constructor Description ConstantConditionCheck()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidvisitBinaryExpression(BinaryExpression binaryExpression)Checks if boolean expressions are used as an alternative to 'Conditional Expression'.voidvisitComprehensionIf(ComprehensionIf comprehensionIf)voidvisitConditionalExpression(ConditionalExpression conditionalExpression)voidvisitFileInput(FileInput fileInput)voidvisitIfStatement(IfStatement ifStatement)-
Methods inherited from class org.sonar.plugins.python.api.PythonVisitorCheck
addIssue, addIssue, getContext, scanFile
-
Methods inherited from class org.sonar.plugins.python.api.tree.BaseTreeVisitor
scan, scan, visitAliasedName, visitAnnotatedAssignment, visitArgumentList, visitAssertStatement, visitAssignmentExpression, visitAssignmentStatement, visitAwaitExpression, visitBreakStatement, visitCallExpression, visitClassDef, visitCompoundAssignment, visitComprehensionFor, visitContinueStatement, visitDecorator, visitDelStatement, visitDictCompExpression, visitDictionaryLiteral, visitDottedName, visitEllipsis, visitElseClause, visitExceptClause, visitExecStatement, visitExpressionList, visitExpressionStatement, visitFinallyClause, visitFormatSpecifier, visitFormattedExpression, visitForStatement, visitFunctionDef, visitGlobalStatement, visitImportFrom, visitImportName, visitKeyValuePair, visitLambda, visitListLiteral, visitName, visitNone, visitNonlocalStatement, visitNumericLiteral, visitParameter, visitParameterList, visitParenthesizedExpression, visitPassStatement, visitPrintStatement, visitPyListOrSetCompExpression, visitQualifiedExpression, visitRaiseStatement, visitRegularArgument, visitRepr, visitReturnStatement, visitSetLiteral, visitSliceExpression, visitSliceItem, visitSliceList, visitStatementList, visitStringElement, visitStringLiteral, visitSubscriptionExpression, visitToken, visitTryStatement, visitTuple, visitTupleParameter, visitTypeAnnotation, visitUnaryExpression, visitUnpackingExpression, visitWhileStatement, visitWithItem, visitWithStatement, visitYieldExpression, visitYieldStatement
-
-
-
-
Method Detail
-
visitFileInput
public void visitFileInput(FileInput fileInput)
- Specified by:
visitFileInputin interfaceTreeVisitor- Overrides:
visitFileInputin classBaseTreeVisitor
-
visitIfStatement
public void visitIfStatement(IfStatement ifStatement)
- Specified by:
visitIfStatementin interfaceTreeVisitor- Overrides:
visitIfStatementin classBaseTreeVisitor
-
visitConditionalExpression
public void visitConditionalExpression(ConditionalExpression conditionalExpression)
- Specified by:
visitConditionalExpressionin interfaceTreeVisitor- Overrides:
visitConditionalExpressionin classBaseTreeVisitor
-
visitComprehensionIf
public void visitComprehensionIf(ComprehensionIf comprehensionIf)
- Specified by:
visitComprehensionIfin interfaceTreeVisitor- Overrides:
visitComprehensionIfin classBaseTreeVisitor
-
visitBinaryExpression
public void visitBinaryExpression(BinaryExpression binaryExpression)
Checks if boolean expressions are used as an alternative to 'Conditional Expression'. e.g. 'x = f() or 3 or g()' Note that one level of nesting is checked: deeply nested boolean expressions are ignored.- Specified by:
visitBinaryExpressionin interfaceTreeVisitor- Overrides:
visitBinaryExpressionin classBaseTreeVisitor
-
-