LogicPrecedenceCheck

Checks for code with confusing && and || operator precedence

if (a && b || c) // bad
if (a && (b || c)) // good

Constructors

this
this(string fileName, const(Scope)* sc, bool skipTests)
Undocumented in source.

Members

Aliases

visit
alias visit = BaseAnalyzer.visit
Undocumented in source.

Functions

visit
void visit(OrOrExpression orOr)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

KEY
enum string KEY;
Undocumented in source.

Inherited Members

From BaseAnalyzer

messages
Message[] messages()
Undocumented in source. Be warned that the author may not have intended to support it.
visit
alias visit = ASTVisitor.visit
Undocumented in source.
visit
void visit(Unittest unittest_)

Visits a unittest.

inAggregate
bool inAggregate;
Undocumented in source.
skipTests
bool skipTests;
Undocumented in source.
visitTemplate
template visitTemplate(T)
Undocumented in source.
addErrorMessage
void addErrorMessage(size_t line, size_t column, string key, string message)
Undocumented in source. Be warned that the author may not have intended to support it.
fileName
string fileName;

The file name

sc
const(Scope)* sc;
Undocumented in source.
_messages
MessageSet _messages;
Undocumented in source.

Meta