Thanks, Andre!
These should work in the latest change set:
On Mar 2, 2011, at 8:41 AM, André Bargull wrote:
> Some built-in properties aren't handled properly (missing in the schema?):
>> function test33() {
>> return constructor;
>> }
>> function test34() {
>> return toString();
>> }
>> function test35() {
>> return valueOf();
>> }
> compiled to:
>> function () {
>> return constructor
>> }
>> function () {
>> return toString()
>> }
>> function () {
>> return valueOf()
>> }
>
On Mar 2, 2011, at 8:13 AM, André Bargull wrote:
> The "with(this)" elimination shouldn't take place in the following situations:
> - within a "with"-block
> -- "with(this)" still needs to emitted in this case
> - within function closures
> -- "this." must not be added in this case
>
Those are also fixed by the change set.
> And "with(this)" elimination in try/catch doesn't work correctly right now,
> but I guess this is blocked by LPP-8762.
I don't do anything special for try/catch right now. But the 'this.' insertion
shares code with the variable analyzer, so if the latter is improved to fix
issues with try/catch, this insertion should work accordingly.
--
Don Anderson
Java/C/C++, Berkeley DB, systems consultant
voice: 617-306-2057
email: [email protected]
www: http://www.ddanderson.com
blog: http://libdb.wordpress.com