Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /// Remove unneeded conversion to bool
0003 ///
0004 //# Relational and logical operators evaluate to bool,
0005 //# explicit conversion is overly verbose and unneeded.
0006 //
0007 // Copyright: (C) 2016 Andrew F. Davis <afd@ti.com>
0008 
0009 virtual patch
0010 virtual context
0011 virtual org
0012 virtual report
0013 
0014 //----------------------------------------------------------
0015 //  For patch mode
0016 //----------------------------------------------------------
0017 
0018 @depends on patch@
0019 expression A, B;
0020 symbol true, false;
0021 @@
0022 
0023 (
0024   A == B
0025 |
0026   A != B
0027 |
0028   A > B
0029 |
0030   A < B
0031 |
0032   A >= B
0033 |
0034   A <= B
0035 |
0036   A && B
0037 |
0038   A || B
0039 )
0040 - ? true : false
0041 
0042 //----------------------------------------------------------
0043 //  For context mode
0044 //----------------------------------------------------------
0045 
0046 @r depends on !patch@
0047 expression A, B;
0048 symbol true, false;
0049 position p;
0050 @@
0051 
0052 (
0053   A == B
0054 |
0055   A != B
0056 |
0057   A > B
0058 |
0059   A < B
0060 |
0061   A >= B
0062 |
0063   A <= B
0064 |
0065   A && B
0066 |
0067   A || B
0068 )
0069 * ? true : false@p
0070 
0071 //----------------------------------------------------------
0072 //  For org mode
0073 //----------------------------------------------------------
0074 
0075 @script:python depends on r&&org@
0076 p << r.p;
0077 @@
0078 
0079 msg = "WARNING: conversion to bool not needed here"
0080 coccilib.org.print_todo(p[0], msg)
0081 
0082 //----------------------------------------------------------
0083 //  For report mode
0084 //----------------------------------------------------------
0085 
0086 @script:python depends on r&&report@
0087 p << r.p;
0088 @@
0089 
0090 msg = "WARNING: conversion to bool not needed here"
0091 coccilib.report.print_report(p[0], msg)