protected Statement assignment_or_method_invocation()
{
Statement stmt;
IToken op = null;
stmt = null;
Expression lhs = null;
Expression rhs = null;
StatementModifier modifier = null;
BinaryOperatorType binaryOperator = BinaryOperatorType.None;
IToken token = null;
try { // for error handling
lhs=slicing_expression();
{
op = LT(1);
match(ASSIGN);
if (0==inputState.guessing)
{
token = op; binaryOperator = OperatorParser.ParseAssignment(op.getText());
}
rhs=array_or_expression();
}
if (0==inputState.guessing)
{
stmt = new ExpressionStatement(
new BinaryExpression(ToLexicalInfo(token),
binaryOperator,
lhs, rhs));
stmt.Modifier = modifier;
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "assignment_or_method_invocation");
recover(ex,tokenSet_19_);
}
else
{
throw ex;
}
}
return stmt;
}