Fix #113
This commit is contained in:
parent
9774359763
commit
ffe9a5d986
|
|
@ -50,8 +50,8 @@ class BackwardsRangeCheck : BaseAnalyzer
|
||||||
}
|
}
|
||||||
hasLeft = false;
|
hasLeft = false;
|
||||||
hasRight = false;
|
hasRight = false;
|
||||||
foreachStatement.accept(this);
|
|
||||||
}
|
}
|
||||||
|
foreachStatement.accept(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
override void visit(UnaryExpression unary)
|
override void visit(UnaryExpression unary)
|
||||||
|
|
@ -83,22 +83,24 @@ class BackwardsRangeCheck : BaseAnalyzer
|
||||||
|
|
||||||
override void visit(SliceExpression sliceExpression)
|
override void visit(SliceExpression sliceExpression)
|
||||||
{
|
{
|
||||||
import std.stdio;
|
if (sliceExpression.lower !is null && sliceExpression.upper !is null)
|
||||||
state = State.left;
|
|
||||||
sliceExpression.lower.accept(this);
|
|
||||||
state = State.right;
|
|
||||||
sliceExpression.upper.accept(this);
|
|
||||||
state = State.ignore;
|
|
||||||
if (hasLeft && hasRight && left > right)
|
|
||||||
{
|
{
|
||||||
import std.string;
|
state = State.left;
|
||||||
string message = format(
|
sliceExpression.lower.accept(this);
|
||||||
"%d is larger than %d. This slice is likely incorrect.",
|
state = State.right;
|
||||||
left, right);
|
sliceExpression.upper.accept(this);
|
||||||
addErrorMessage(line, this.column, message);
|
state = State.ignore;
|
||||||
|
if (hasLeft && hasRight && left > right)
|
||||||
|
{
|
||||||
|
import std.string;
|
||||||
|
string message = format(
|
||||||
|
"%d is larger than %d. This slice is likely incorrect.",
|
||||||
|
left, right);
|
||||||
|
addErrorMessage(line, this.column, message);
|
||||||
|
}
|
||||||
|
hasLeft = false;
|
||||||
|
hasRight = false;
|
||||||
}
|
}
|
||||||
hasLeft = false;
|
|
||||||
hasRight = false;
|
|
||||||
sliceExpression.accept(this);
|
sliceExpression.accept(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue