<div dir="ltr">Hi folks,<div><br></div><div>I don't know if this is a bug or the expected behavior.</div><div><br></div><div>Today I ran the tests in <font face="monospace">BaseImageTests</font> with the <font face="monospace">CodeCoverage</font> package (<a href="https://github.com/npapagna/cuis-code-coverage">https://github.com/npapagna/cuis-code-coverage</a>) loaded and one of the <span style="font-family:monospace">DecompilerTests </span>failed.</div><div>The reason seems to be that <font face="monospace">Decompiler</font> does not restore unused temporary variables.</div><div><br></div><div>In particular, <font face="monospace">DecompilerTests>>#testDecompilerInClassesCNtoCZ</font> was failing on <font face="monospace">CodeCoverageTest temporaryVariable</font>:<br><div>(For context: this method is needed to reproduce a test scenario for the CodeCoverage tool)</div><div><br></div><div><font face="monospace">CodeCoverageTest >> #temporaryVariable<br>    | a |<br>    a</font>.</div><div><font face="monospace"><br></font></div>To reproduce without the CodeCoverage package, evaluate:<div><font face="monospace"><br></font></div><div><font face="monospace">Object compile: 'm1 |a| a'.<br><br>newCodeString := (Decompiler new<br>    decompile: #m1<br>    in: Object<br>    method: Object >> #m1) decompileString.</font></div></div><div><font face="monospace"><br></font></div>Notice that <font face="monospace">newCodeString</font> is <font face="monospace">'m1 ^ self.'</font> and it should be <font face="monospace">'m1 |a| a'</font>(if this is really a bug).<div><font face="monospace"><br></font></div><div>The code above was run on HEAD at the moment (6c13d4eda2e9a8c56362ae3363d7b013917227c5).</div><div><br></div><div>Is this something that needs to be fixed?</div><div><div><font face="monospace"><br></font></div>Best,<br>Nico PM</div></div>