approved!


On Tue, Dec 1, 2009 at 10:42 AM, P T Withington <[email protected]> wrote:

> Can you review this?  It makes it so your swf10 backtraces can be inspected
> and legible.  Try causing a runtime error and then do .getStackTrace() on
> the error object.  If you inspect the abbreviated string, it prints out
> nicely.
>
> Change 20091124-ptw-p by [email protected] on 2009-11-24 19:18:55 EST
>    in /Users/ptw/OpenLaszlo/trunk-2
>    for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Learn how to inspect long strings again
>
> Bugs Fixed: LPP-8635 Debug.inspect lost the ability to expand abbreviated
> strings
>
> Technical Reviewer: hminsky (pending)
>
> Overview:
>
>    Rename the __String parameters `pretty` and `unique` to what they
>    really do: `escape` (i.e., make non-printing characters in strings
>    show up) and `readable` (i.e., if you can't return a
>    representation that eval would say is === to the original, use the
>    stylized debug representation <<type #uid | description>> to
>    indicate so).
>
> Details:
>
>    swf9stubs, LzMessage, LzDebug.{js,as}, LzFormatter: Update
>    parameter names.
>
>    LzDebug: Update parameter names and documentation for __String and
>    __StringDescription.  Change the return contract of
>    __StringDescription to say whether or not the representation
>    created is 'readable' or not.  Be more accurate about what is
>    readable.  For string-like, only escaped, primitive strings that
>    have not been truncated qualify.  Remove a lot of hairy inspection
>    that was trying (but incorrectly) computing readable.  Don't enter
>    non-objects into the circular reference table.  Make the decision
>    as to when to used "unreadable" representations sane.  When
>    inspecting non-objects, turn off length limit, escape, and
>    readable, so you see the full content.
>
> Tests:
>    Create a program that causes a runtime error, e.g.:
>
>      (function (x) { return x.foo })(3);
>
>    Run in swf10.  Inspect the error.  In the Debugger, evaluate
>
>      _.getStackTrace()
>
>    You will get an abbreviated string like:
>
>      «string(1838)| ReferenceError: Error #1069: P?»
>
>    Inspect that, and you should see the expanded string, which is the
>    backtrace from the runtime:
>
>      lzx> Debug.inspect(«string(1838)| ReferenceError: Error #1069: P?»)
>      ReferenceError: Error #1069: Property foo not found on Number and
> there is no default value.
>              at
> <anonymous>()[/usr/local/tomcat/jakarta-tomcat-5.0.30/temp/lzswf9/Users/ptw/OpenLaszlo/trunk-2/test/build/ptw/$lzc$class_$2Fcanvas$2Fa.as:69]
>              at
> $lzc$class_$2Fcanvas$2Fa/foo()[/usr/local/tomcat/jakarta-tomcat-5.0.30/temp/lzswf9/Users/ptw/OpenLaszlo/trunk-2/test/build/ptw/$lzc$class_$2Fcanvas$2Fa.as:82]
>      [...]
>
> Files:
> M      WEB-INF/lps/lfc/debugger/swf9stubs.lzs
> M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
> M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
> M      WEB-INF/lps/lfc/debugger/platform/dhtml/LzDebug.js
> M      WEB-INF/lps/lfc/debugger/platform/swf9/LzDebug.as
> M      WEB-INF/lps/lfc/compiler/LzFormatter.lzs
>
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091124-ptw-p.tar
>



-- 
Henry Minsky
Software Architect
[email protected]
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to