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





Reply via email to