in src/main/csharp/Selector/SelectorParser.cs [123:172]
public IExpression GetEqualityExpression() {
IExpression left;
IExpression right;
left = GetComparisonExpression();
while (true) {
switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
case IS:
case 28:
case 29:
;
break;
default:
goto label_3;
}
switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
case 28:
mcc_consume_token(28);
right = GetComparisonExpression();
left = ComparisonExpression.CreateEqual(left, right);
break;
case 29:
mcc_consume_token(29);
right = GetComparisonExpression();
left = ComparisonExpression.CreateNotEqual(left, right);
break;
default:
if (mcc_2_1(2)) {
mcc_consume_token(IS);
mcc_consume_token(NULL);
left = ComparisonExpression.CreateIsNull(left);
} else {
switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
case IS:
mcc_consume_token(IS);
mcc_consume_token(NOT);
mcc_consume_token(NULL);
left = ComparisonExpression.CreateIsNotNull(left);
break;
default:
mcc_consume_token(-1);
throw new ParseException();
}
}
break;
}
}label_3: ;
{return left;}
throw new Exception("Missing return statement in function");
}