<div dir="ltr"><div>Hi,</div><div> Attached is a series of cs and tests for the following refactoring fixes and enhancements:<br><h3 dir="ltr">Inline Method</h3><ul dir="ltr"><li><strong>Two sends in one statement.</strong> Inlining failed with overlapping replacements. Now only the send itself is replaced.</li><li><strong style="background-color:transparent">Evaluation order.</strong><span style="background-color:transparent"> A method with several statements is inlined as `</span><code style="background-color:transparent">[ ... ] value`</code><span style="background-color:transparent"> when moving its statements before the sender's statement would change the order: several sends in the statement, or something other than literals evaluated before the send. The block keeps original method source format.</span></li><li><strong style="background-color:transparent">Temporaries of a block.</strong><span style="background-color:transparent"> When inlining a method as block, they are declared inside the block and keep their name, unless the containing scope already has it.</span></li></ul><h3 dir="ltr">Extract to Temporary and Add Parameter</h3><ul dir="ltr"><li>Both added names to <code>Undeclared</code> when parsing code. They now parse ignoring undeclared names. </li></ul><h3 dir="ltr">Tests</h3><ul dir="ltr"><li><strong>Flaky tests.</strong> Five tests asserted on the global <code>Undeclared</code>. They now use <code>RefactoringTest>>should:notLeaveUndeclared:</code>, which removes the name first.</li><li><strong>Tests that need an undeclared name </strong>were fixed</li><li><strong>New tests.</strong> for <code>InlineMethod</code>, <code>ExtractToTemporary and</code> <code>AddParameter</code></li></ul><h3 dir="ltr">Renames</h3><ul dir="ltr"><li><code>isReceiverOfPieceTemporary:</code> and the other names with "piece" that I had written now say <code>CodeToExtract</code>.</li></ul><h3 dir="ltr"></h3></div><div><br></div><div>They are small changes (some not so small :) ), but I decided to send them all together to avoid bothering with this :-)</div><div><br></div><div>Cheers!<br>Hernan.</div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:small"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal"><span style="font-weight:bold">Hernán Wilkinson</span><br>Agile Software Development, Teaching & Coaching</span></font></span></span></strong></span></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">Phone: +54-011</span></font></span></span></strong></span><font face="tahoma, sans-serif" size="2">-4893-2057</font></div><div style="font-size:12.8px"><strong style="font-family:tahoma,sans-serif;font-size:xx-small"><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">Twitter: @HernanWilkinson</span></font></span></span></strong></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">site: <a href="http://www.10pines.com/" style="color:rgb(17,65,112)" target="_blank">http://www.10Pines.com</a></span></font></span></span></strong></span></div><div style="font-size:12.8px"><font face="tahoma, sans-serif"><span style="border-collapse:collapse">Address: Alem 896</span></font>, Floor 6, Buenos Aires, Argentina</div></div></div></div></div></div></div></div></div>