<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"><<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>></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'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'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'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's something that should be handled at the tools level rather than down in the guts of Environment. Per Tim'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 "references to it" browser should pay attention to the actual value being bound, rather than name it's bound to, or the actual binding in the CompiledMethod. </div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Colin</div></div>