public void CheckForEmptyCoroutine(Method node)
 {
     if (this.IsEmptyCoroutine(node))
     {
         ReturnStatement statement;
         ReturnStatement statement1 = statement = new ReturnStatement(LexicalInfo.Empty);
         statement.set_Expression(Expression.Lift(this.EmptyEnumeratorReference));
         node.get_Body().Add(statement);
     }
 }
 public void return_statement(Block b)
 {
     IToken token = null;
     try
     {
         Expression expression;
         token = this.LT(1);
         this.match(30);
         if (tokenSet_16_.member(this.LA(1)) && tokenSet_49_.member(this.LA(2)))
         {
             expression = this.expression();
         }
         else if (!tokenSet_15_.member(this.LA(1)) || !tokenSet_20_.member(this.LA(2)))
         {
             throw new NoViableAltException(this.LT(1), this.getFilename());
         }
         if (base.inputState.guessing == 0)
         {
             ReturnStatement statement;
             ReturnStatement statement1 = statement = new ReturnStatement(ToLexicalInfo(token));
             statement.set_Expression(expression);
             b.Add(statement);
         }
     }
     catch (RecognitionException exception)
     {
         if (base.inputState.guessing != 0)
         {
             throw;
         }
         this.reportError(exception);
         this.recover(exception, tokenSet_15_);
     }
 }