<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 30, 2013 at 12:20 PM, Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>&gt;</span> wrote:<br>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">In that case class renaming will have to be reviewed. If I have an environment E with a class C, but I&#39;ve imported the environment IE, which also has a class C, and the C from IE shadows the C from E, then either we shouldn&#39;t allow renaming C from E, or we should change the renaming code to not modify references in E in this case.</span><br>
</div>
</blockquote></div><br></div><div class="gmail_extra">Yeah. That&#39;s actually a special case of the more general problem of adding or removing bindings during development. If you removed C from IE, then suddenly the C in E becomes visible, and methods compiled in E should be rebound. It&#39;s something that should be handled at the tools level rather than down in the guts of Environment. Per Tim&#39;s suggestion, we can throw notifications when this happens, and leave it up to the tools, load-script or whatever to deal with them.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">One way we might handle it at the tools level is to have a conflict browser. It would show names which have more than one binding in a given environment, and the classes/globals they could be bound to. There would be commands for choosing which one to expose to your environment, and would automatically rejigger the imports to make that happen. </div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Similarly, the &quot;references to it&quot; browser should pay attention to the actual value being bound, rather than name it&#39;s bound to, or the actual binding in the CompiledMethod. </div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Colin</div></div>