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