public Expression bitwise_xor()
{
Expression expression = null;
IToken token = null;
try
{
expression = this.bitwise_and();
while ((this.LA(1) == 0x49) && tokenSet_16_.member(this.LA(2)))
{
BinaryOperatorType type;
token = this.LT(1);
this.match(0x49);
if (base.inputState.guessing == 0)
{
type = 0x20;
}
Expression expression2 = this.bitwise_and();
if (base.inputState.guessing == 0)
{
BinaryExpression expression3;
BinaryExpression expression1 = expression3 = new BinaryExpression(ToLexicalInfo(token));
expression3.set_Operator(type);
expression3.set_Left(expression);
expression3.set_Right(expression2);
expression = expression3;
}
}
return expression;
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_20_);
return expression;
}
return expression;
}