[Laszlo-dev] For Review: Change 20090216-dda-V Summary: SWF9: Fix comma separated global declaration
Donald Anderson
dda at ddanderson.com
Fri Feb 20 05:49:12 PST 2009
Tucker,
It turns out this replacement happens in the JavascriptGenerator (line
420). Running the same testcase with dhtml
gives the spinning laszlo logo. I know SWF9Generator does the same
trick for a different case to handle globals, but replacing
a node with ASTEmptyExpression seems to be a common technique.
Probably because it's somewhat awkward to elide a
node as it affects the next higher level node. I'm inclined to add a
stronger comment in ParseTreeGenerator. Okay?
- Don
On Feb 16, 2009, at 2:12 PM, P T Withington wrote:
> I'm not real happy with this solution. It seems that the swf9 back-
> end is creating an illegal parse tree (replacing a variable
> declaration with an empty expression) and that you are then papering
> over that in the parse tree printer. I would rather see you fix the
> swf9 back-end to remove the variable declaration altogether from the
> parse tree.
>
> If that is not possible, can we at least have a comment in the code
> saying _why_ the parse tree printer has to deal with empty
> declarations?
>
> On 2009-02-16, at 13:17EST, Donald Anderson wrote:
>
>> Change 20090216-dda-V by dda at lester-2.local on 2009-02-16 12:11:27
>> EST
>> in /Users/dda/laszlo/src/svn/openlaszlo/trunk-b
>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: SWF9: Fix comma separated global declaration
>>
>> New Features:
>>
>> Bugs Fixed: [LPP-7746] SWF9: comma separated global var
>> declarations don't compile
>>
>> Technical Reviewer: ptw (pending)
>> QA Reviewer: (pending)
>> Doc Reviewer: (pending)
>>
>> Documentation:
>>
>> Release Notes:
>>
>> Details:
>> In SWF9, a variable statement that appears outside a method (that
>> is, a global var declaration),
>> is dismantled as the variable declaration appears in a separate
>> file named for the global variable,
>> e.g. var foo, bar ==> foo.as, bar.as
>> The original variable expressions are left behind as empty
>> expressions.
>> This changeset fixes the unparser so it knows to drop empty
>> expressions in a variable declaration list.
>> This was not noticed testing with single variables 'var foo', as
>> the unparser generated a comma separated
>> list of expressions - one blank expression, comma separated,
>> still yielded a blank result.
>>
>> Tests:
>> The test case from the JIRA now compiles. Same test case with
>> mix of initialized and uninitialized vars compiles.
>> The usual regression tests: smokecheck, lzpix, weather on
>> swf9,swf8,dhtml
>>
>> Files:
>> M WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java
>>
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090216-dda-V.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/20090220/13d12e8d/attachment.html
More information about the Laszlo-dev
mailing list