False positive on inout @property functions

This commit is contained in:
Hackerpilot 2015-02-01 03:08:42 -08:00
parent 16d76d8b05
commit 2b79fca42e
1 changed files with 5 additions and 3 deletions

View File

@ -63,19 +63,21 @@ class FunctionAttributeCheck : BaseAnalyzer
bool foundProperty = false;
foreach (attribute; dec.attributes)
foundConst = foundConst || attribute.attribute.type == tok!"const"
|| attribute.attribute.type == tok!"immutable";
|| attribute.attribute.type == tok!"immutable"
|| attribute.attribute.type == tok!"inout";
foreach (attribute; dec.memberFunctionAttributes)
{
foundProperty = foundProperty || (attribute.atAttribute !is null
&& attribute.atAttribute.identifier.text == "property");
foundConst = foundConst || attribute.tokenType == tok!"const"
|| attribute.tokenType == tok!"immutable";
|| attribute.tokenType == tok!"immutable"
|| attribute.tokenType == tok!"inout";
}
if (foundProperty && !foundConst)
{
addErrorMessage(dec.name.line, dec.name.column, KEY,
"Zero-parameter '@property' function should be"
~ " marked 'const'.");
~ " marked 'const', 'inout', or 'immutable'.");
}
}
dec.accept(this);