Change 20100720-ptw-e by [email protected] on 2010-07-20 18:49:55 EDT
    in /Users/ptw/OpenLaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Make presentation types singletons

Bugs Fixed:
    LPP-7354 Presentation Types (partial)
    LPP-8961 Replace delegates with method closures (partial, adding 
Function/bind)
    LPP-7086 SWF9 cannot print Function/method names (partial, deprecation 
warnings)

Technical Reviewer: [email protected] or [email protected] (pending)
QA Reviewer: [email protected] (pending)

Overview:
    I'm converting presentation types to singletons so they can better
    take advantage of inheritance (in support of adding user <type>s).

Details:
    LzDebug:  Add a new internal API methodName that computes a method
    name from an instance and a method closure from that instance.
    This API is defaulted on all runtimes other than AS3, where it
    uses Andre's clever code to finde the method name by introspecting
    the instance.  Simplified the circular printer detector to cache
    full descriptions (i.e., the representation and the readability
    state of that representation), rather than only caching readable
    representations.  This gives a prettier output when printing an
    object where the same object may show up many times, albeit not as
    a circular reference.  E.g.,
    `Debug.inspect(lz.node.presentationtypes)`.

    swf9/LzDebug:  Add Andre's clever implementation of methodName.

    LzNode:  Remove stale compatibility code noted in passing.  Remove
    usage of DefaultPresentationType.  Issue a warning if there is no
    applicable presentation type.

    PresentationTypes:  Rewrite as singletons.  Add some debug
    printing support.  Remove DefaultPresentationType.

    LzRuntime:  Add Function/bind to support bound methods in JS1 and
    curried methods in AS3.  Ensure bound methods can be printed
    prettily by the debugger.

    LzBootstrapDebugService:  Use Debug.methodName to get
    Debug.deprecated working on swf9/10.

    basevaluecomponent:  Change the default type to expression rather
    than no type at all so you do not get a warning and presumably so
    you get more what you intended.

Tests:

    ant lztest, smokecheck, 
docs/src/developers/programs/{colorswatch,csscolors}.lzx

Files:
M       WEB-INF/lps/lfc/debugger/LzDebug.lzs
M       WEB-INF/lps/lfc/debugger/platform/swf9/LzDebug.as
M       WEB-INF/lps/lfc/core/LzNode.lzs
M       WEB-INF/lps/lfc/core/PresentationTypes.lzs
M       WEB-INF/lps/lfc/compiler/LzRuntime.lzs
M       WEB-INF/lps/lfc/compiler/LzBootstrapDebugService.lzs
M       lps/components/base/basevaluecomponent.lzx

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100720-ptw-e.tar

Reply via email to