Confusion in Reducibility In Sipser's Theory of Computation book, it is stated while reducing ATM to REGULARTM


  We let R be a TM that decides REGULARTM and construct TM S to
  decide ATM. Then S works in the following manner.


S = “On input , where M is a TM and w is a string:


Construct the following TM M2.

M2 = “On input x:


If x has the form 0n1n, accept .
If x does not have this form, run M on input w and
accept if M accepts w.”

Run R on input &lt; M2>
If R accepts, accept ; if R rejects, reject .”`


My question is, shouldn't M2 reject x of the form 0n1n?
Here, M2 hasn't been designed to accept Regular Languages. It has been designed to be used as argument of R. As per assumption that R can decide REGULARTM, R is free to reject M2 if the case arises. Remember, decidability includes both acceptance and rejection.

Update:
As per definition, R will accept only if argument TM accepts regular language. And, it will reject if argument TM accepts non-regular language. The setup of M2 harnesses this rejection property of R. If R hasn't rejected (as it can decide, it'll accept), it means point 2 of M2 was in action (which makes M accept w creating contradiction).