parse.y: relax literal in condition warnings
* parse.y (cond0): do not warn literal boolean (true and false) in condition expressions, as they are often used as infinite loops, deactivated code block, etc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a20158381e
commit
4dc5b6ff58
4
parse.y
4
parse.y
@ -9823,6 +9823,10 @@ cond0(struct parser_params *p, NODE *node, int method_op, const YYLTYPE *loc)
|
|||||||
warn_unless_e_option(p, node, "regex literal in condition");
|
warn_unless_e_option(p, node, "regex literal in condition");
|
||||||
nd_set_type(node, NODE_MATCH);
|
nd_set_type(node, NODE_MATCH);
|
||||||
}
|
}
|
||||||
|
else if (node->nd_lit == Qtrue ||
|
||||||
|
node->nd_lit == Qfalse) {
|
||||||
|
/* booleans are OK, e.g., while true */
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if (!method_op)
|
if (!method_op)
|
||||||
parser_warning(p, node, "literal in condition");
|
parser_warning(p, node, "literal in condition");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user