Simon Bull schrieb:
> Hi All,
>
> I am using Qx 0.6.5.
>
> I have a custom js class called ViewState that is composed of ViewCategories, 
> which are composed of OptionGroups, which are composed of Options.  Each of 
> these classes implements a clone method that looks something like this (this 
> one is from the top level Object, ViewState):
>
> qx.Proto.clone = function()
> {
>     var cloneArgs = {};
>     cloneArgs.viewCategories = [];
>     var vcs = this.getViewCategories();
>     for (var i = 0; i < vcs.length; i++)
>     {
>         var vc = vcs[i];
>         if (vc != null)
>         {
>             var cloneViewCategory = vc.clone();
>             cloneArgs.viewCategories[cloneArgs.viewCategories.length] = 
> cloneViewCategory;
>         }
>     }
>     var clone = new ext.data.viewstate.ViewState(cloneArgs);
>     return clone;
> }
>
>
> My code runs fine after a make source, but fails after a make build.  Looking 
> into the custom.js file I see that lines of code like:
>
> var clone = new ext.data.viewstate.ViewState(cloneArgs);
>
> are compressed to:
>
> var $b = new ext.data.viewstate.ViewState($a);
>
> which is all good.
>
>
> However, some (not all) of the lines of code that look like:
>
> var cloneViewCategory = vc.clone();
>
> are compressed to:
>
> var $c = $d.$b();
>
>
> which is wrong, it should something like:
>
> var $c = $d.clone();
>
>
> If I change the source code from 
> "var clone = new ext.data.viewstate.ViewState(cloneArgs);" 
>
> to 
>
> "var foobar = new ext.data.viewstate.ViewState(cloneArgs);"
>
> then both the make source and make build versions work fine.
>
> It appears that the make script is confusing the local var name "clone" with 
> the method name "clone".  Perhaps this is related to the recursive nature of 
> my clone() method?
>
>
> Has anyone else seen this problem?
>
>
> Simon
>   
Hello Simon,

this looks loke a bug in the local variable optimizer. I'll have a look 
on this and try to reproduce it here.

best Fabian


P.S.
If you find issues like this, don't hasitate to open a bug in the 
bugzilla :-)

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to