History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LPP-5178
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: -- --
Assignee: Donald Anderson
Reporter: Donald Anderson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
OpenLaszlo

Support some/all new JS2 keywords for SWF9 target

Created: 30/Nov/07 12:09 PM   Updated: 30/Jun/08 01:07 PM
Component/s: Compiler - JavaScript
Affects Version/s: DevilDog
Fix Version/s: RingDing (4.1)

Time Tracking:
Not Specified

Severity: Minor
Fixed in Change#: 7,536
Runtime: N/A
Fix in hand: False


 Description  « Hide
See LPP-5175, which allows for new keywords, like final, override, dynamic,
as well as visibility names: public, private, internal, protected and namespace names.
These can appear before the 'class', 'function', 'var' keywords (some may not
apply in all cases). These should be passed on to the external SWF9 compiler.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Donald Anderson - 13/Dec/07 02:02 PM
------------------------------------------------------------------------
r7536 | dda | 2007-12-13 16:59:55 -0500 (Thu, 13 Dec 2007) | 41 lines
Changed paths:
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/sc/src/org/openlaszlo/sc/parser/ASTModifiedDefinition.java
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9ParseTreePrinter.java

Change 20071213-dda-K by dda@freddie.local on 2007-12-13 16:46:48 EST
    in /Users/dda/laszlo/src/svn/openlaszlo/branches/devildog
    for http://svn.openlaszlo.org/openlaszlo/branches/devildog

Summary: SWF9: Fixes related to propogating through new AS3 keywords and getting buildlfc working further.

New Features: none

Bugs Fixed: LPP-5434, LPP-5178

Technical Reviewer: ptw (pending)
QA Reviewer: hminsky (pending)
Doc Reviewer: (pending)

Documentation: none

Release Notes: none

Details:
    Emit static, etc. keywords that appear before methods, vars, classes.
    Even though prelim work was done to parse these previously, needed to fix up a
    few things:

  + when walking through the AST, the 'ModifiedDefinition' node was elided from the tree.
    Now, if we are parsing for SWF9, these nodes are kept in the tree.

  + added a visitModifiedDefinition in ParseTreePrinter that is modified in SWF9ParseTreePrinter

  + fixed some simple setters on ASTModifiedDefinition class.

   Now when we emit the 'static' keyword in front of the 'function' definition,
   the presence of the /* -*- file .... */ comment between these two - putting
   'static' and 'function' on two separate lines, triggered an apparent bug
   in the third party compiler. Some extra work was needed to get 'static' and
   'function' next to each other on the same line. (This will also be handled
   correctly for 'class' if we decide to emit the file comment there.)

Tests:
   just buildlfc


------------------------------------------------------------------------

Donald Anderson - 14/Dec/07 03:52 PM
------------------------------------------------------------------------
r7555 | dda | 2007-12-14 18:51:07 -0500 (Fri, 14 Dec 2007) | 31 lines
Changed paths:
   M /openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9ParseTreePrinter.java

Change 20071214-dda-z by dda@freddie.local on 2007-12-14 18:43:15 EST
    in /Users/dda/laszlo/src/svn/openlaszlo/branches/devildog
    for http://svn.openlaszlo.org/openlaszlo/branches/devildog

Summary: Fixed modifiers for 'class'

New Features: none

Bugs Fixed: LPP-5178

Technical Reviewer: ptw (pending)
QA Reviewer: hminsky (pending)
Doc Reviewer: (pending)

Documentation: none

Release Notes: none

Details:
    Modifiers were not being emitted in the proper place for classes,
    in fact they were being emitted in the wrong output file.
    This is because the entire class declaration is boxed by
    'annotations' that are used in splitting files. The
    modifiers need to be put inside the annotations, not
    just in front of them.

Tests:
    buildlfc with 'LzNode' class marked as dynamic now emits
    dynamic in the right place.


------------------------------------------------------------------------