}
public Expression parseInfixOperator(final Expression leftExp, final InfixOpType opType) {
ParseHelper parse = new ParseHelper(assertNotNull(leftExp));
Expression rightExp = null;
consumeLookAhead();
if(opType == InfixOpType.NOT_IS || opType == InfixOpType.NOT_IN) {
consumeLookAhead(); // consume second token
}
if(opType != InfixOpType.MUL) {
parse.storeError(checkValidAssociativityN(leftExp, opType));
} else {
assertTrue(lastLexElement().type == DeeTokens.STAR);
}
Expression middleExp = null;
parsing: {
if(opType == InfixOpType.CONDITIONAL) {
middleExp = nullExpToParseMissing(parseExpression().node);