#104, add visit for missing binary expressions + handle in/is negation

This commit is contained in:
Basile Burg 2016-11-21 23:57:40 +01:00
parent 58f8503b00
commit 25384f63c9
No known key found for this signature in database
GPG Key ID: 1868039F415CB8CF
1 changed files with 11 additions and 1 deletions

View File

@ -434,7 +434,12 @@ private final class HalsteadMetric: ASTVisitor
static if (is(T == AndExpression)) op = `&`;
else static if (is(T == AndAndExpression)) op = `&&`;
else static if (is(T == AsmAndExp)) op = `&`;
else static if (is(T == InExpression)) op = `in`;
else static if (is(T == AsmLogAndExp)) op = "?";
else static if (is(T == AsmLogOrExp)) op = "?";
else static if (is(T == AsmOrExp)) op = "|";
else static if (is(T == AsmXorExp)) op = "|";
else static if (is(T == IdentityExpression)) op = expr.negated ? "!is" : "is";
else static if (is(T == InExpression)) op = expr.negated ? "!in" : "in";
else static if (is(T == OrExpression)) op = `|`;
else static if (is(T == OrOrExpression)) op = `||`;
else static if (is(T == PowExpression)) op = `^`;
@ -459,11 +464,16 @@ private final class HalsteadMetric: ASTVisitor
AsmAddExp,
AsmAndExp,
AsmEqualExp,
AsmLogAndExp,
AsmLogOrExp,
AsmMulExp,
AsmOrExp,
AsmRelExp,
AsmShiftExp,
AsmXorExp,
AssignExpression,
EqualExpression,
IdentityExpression,
InExpression,
MulExpression,
OrExpression,