| // SPDX-License-Identifier: GPL-2.0-only | |
| /// Remove unneeded conversion to bool | |
| /// | |
| //# Relational and logical operators evaluate to bool, | |
| //# explicit conversion is overly verbose and unneeded. | |
| // | |
| // Copyright: (C) 2016 Andrew F. Davis <afd@ti.com> | |
| virtual patch | |
| virtual context | |
| virtual org | |
| virtual report | |
| //---------------------------------------------------------- | |
| // For patch mode | |
| //---------------------------------------------------------- | |
| @depends on patch@ | |
| expression A, B; | |
| symbol true, false; | |
| @@ | |
| ( | |
| A == B | |
| | | |
| A != B | |
| | | |
| A > B | |
| | | |
| A < B | |
| | | |
| A >= B | |
| | | |
| A <= B | |
| | | |
| A && B | |
| | | |
| A || B | |
| ) | |
| - ? true : false | |
| //---------------------------------------------------------- | |
| // For context mode | |
| //---------------------------------------------------------- | |
| @r depends on !patch@ | |
| expression A, B; | |
| symbol true, false; | |
| position p; | |
| @@ | |
| ( | |
| A == B | |
| | | |
| A != B | |
| | | |
| A > B | |
| | | |
| A < B | |
| | | |
| A >= B | |
| | | |
| A <= B | |
| | | |
| A && B | |
| | | |
| A || B | |
| ) | |
| * ? true : false@p | |
| //---------------------------------------------------------- | |
| // For org mode | |
| //---------------------------------------------------------- | |
| @script:python depends on r&&org@ | |
| p << r.p; | |
| @@ | |
| msg = "WARNING: conversion to bool not needed here" | |
| coccilib.org.print_todo(p[0], msg) | |
| //---------------------------------------------------------- | |
| // For report mode | |
| //---------------------------------------------------------- | |
| @script:python depends on r&&report@ | |
| p << r.p; | |
| @@ | |
| msg = "WARNING: conversion to bool not needed here" | |
| coccilib.report.print_report(p[0], msg) |