[Laszlo-dev] For Review: Change 20090108-dda-O Summary: Remove references to 'this' in static functions (revised)
Donald Anderson
dda at ddanderson.com
Fri Jan 9 08:48:04 PST 2009
Oh, right, that would have been a lot easier.
I'll make a new changeset.
On Jan 9, 2009, at 11:02 AM, P T Withington wrote:
> Shouldn't it be sufficient to simply use the same flag you use to
> ignore the withThis pragma for js2 to conditionalize emitting the
> `with (this)` in your try closure? (I think you use the
> `remaplocals()` predicate, but maybe that should be renamed `isjs2()`?
>
> On 2009-01-09, at 09:44EST, Donald Anderson wrote:
>
>> Change 20090108-dda-O by dda at lester.local on 2009-01-08 06:25:08 EST
>> in /Users/dda/laszlo/src/svn/openlaszlo/trunk-c
>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: Remove references to 'this' in static functions (revised)
>>
>> New Features:
>>
>> Bugs Fixed: LPP-7514 (Compilation error when setting
>> compiler.swf9.catcherrors=true in lps.properties)
>>
>> Technical Reviewer: ptw (pending)
>> QA Reviewer: (pending)
>> Doc Reviewer: (pending)
>>
>> Documentation:
>>
>> Release Notes:
>>
>> Details:
>> [This changeset revises an earlier one sent to review, fixing an
>> ugly workaround.
>> Everything indicated under Tests has been retested with this
>> revision.]
>>
>> The implementation of catchFunctionExceptions (catcherrors) was
>> blind to static functions,
>> 'this' cannot be used in static functions.
>>
>> To tell that a function is static, this changeset peeks up the
>> tree to the parent
>> of the function node, which should be a ASTModifiedDefinition
>> ('moddef'), and checks the static
>> flag there. A shortcut in copying part of the tree without the
>> moddef
>> needed to be fixed, to do that, a 'shallow copy' function was
>> added to the moddef class.
>>
>> An alternate way of detecting static-ness is to set a 'static'
>> property in the options.
>> I had tried in addressing LPP-5813 (not yet completed), and had
>> some trouble getting
>> it to work. It's not clear which one is cleaner, but the one
>> that works wins for me.
>>
>> This fix is slightly more encompassing than it needs to be, it
>> also disables any possibility
>> of applying the WITH_THIS directive within a static function.
>> This should always be
>> correct. Changing that to be narrower did not affect the SWF8
>> problem.
>>
>>
>> Tests:
>> (dhtml,swf8,swf9) x (lzpix,weather,smokecheck,hello) x (enable
>> catcherrors, disable catcherrors)
>>
>> Files:
>> M WEB-INF/lps/server/src/org/openlaszlo/sc/
>> JavascriptGenerator.java
>> M WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
>> M WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
>> M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/parser/
>> ASTModifiedDefinition.java
>>
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090108-dda-O.tar
>>
>>
>>
>> --
>>
>> Don Anderson
>> Java/C/C++, Berkeley DB, systems consultant
>>
>> voice: 617-306-2057
>> email: dda at ddanderson.com
>> www: http://www.ddanderson.com
>>
>>
>>
>>
>>
>
--
Don Anderson
Java/C/C++, Berkeley DB, systems consultant
voice: 617-306-2057
email: dda at ddanderson.com
www: http://www.ddanderson.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20090109/bf95b8d8/attachment.html
More information about the Laszlo-dev
mailing list