Doc approved.  Thanks, this is cool.

jrs

On Oct 11, 2006, at 5:15 PM, P T Withington wrote:

> Change change.ogKuESXeY.txt by [EMAIL PROTECTED] /Users/ptw/ 
> pending-changes/ on 2006-10-11 16:06:26 EDT
>
> Summary: Improve debugging of classes
>
> New Features: Debug builds now include names for function expressions
> (in particular class methods) so that browser-native debuggers can
> give more informative backtraces
>
> In the Laszlo debugger, class methods will have a type '<class>
> function' or '<class> static function', where <class> is the class
> they are defined in.
>
> Technical Reviewer: henry (pending)
> QA Reviewer: max (pending)
> Doc Reviewer: jsundman (pending)
>
> Documentation: Javascript programmers should be encouraged to name
> their functions, even if they are function expressions, for
> debugability.  Class definitions will automatically do so.
>
> Here is a sample output showing the new format of class
> methods:
>
> lzx> Debug.inspect(«NewClass(0)#0| LzView»)
> «NewClass(0)#0| LzView» {
> _dbg_name: LzView
> _dbg_typename: NewClass
> addProperty: «NewClass static function(2)#1| addProperty»
> addProxyPolicy: «LzView static function(1)#2| addProxyPolicy»
> addStaticProperty: «NewClass static function(2)#3| addStaticProperty»
> classname: LzView
> constructor: «Object#4| NewClass»
> make: «Instance static function(0)#5| make»
> prototype: «LzView#6| Object »
> removeProxyPolicy: «LzView static function(1)#7| removeProxyPolicy»
> tagname: view
> }
> «NewClass(0)#0| LzView»
> lzx>
>
> Details:
>     LxDebug.*: remove some stale code from functionName.  Generalize
>     DHTML function name search pattern.
>
>     Class.lzs: Do a better job of bootstrapping Instance, Class, and
>     Trait so they behave more correctly.  Conditionalize $debug
>     annotation.  Enable shim debug statements (which should not fire,
>     indicating we can remove the last vestige of shim).  Add
>     addStaticProperty for Class and Trait, to dynamically add static
>     properties.  Rename method `owner` to `superclass` (since that is
>     what it is).
>
>     LzParsedPath: remove comment re: invalid bug LPP-2414
>
>     Compiler: Remove kludge that assigned function expressions names.
>     This no longer works now that we are not building classes with
>     global assignments.  Put newlines after ';' in non-compressed
>     mode, and emit names for function expressions in non-compressed
>     (debug) mode.
>
>     JavascriptGenerator, CodeGenerator: remove old code that composed
>     function names for class methods (these names were not valid js
>     identifiers, so could not be used by browser-native debuggers).
>     Use the method name as the function name instead.
>
> Tests:
>     IWFM
>
> Files:
> M      lfc/debugger/platform/swf/LzDebug.as
> M      lfc/debugger/platform/dhtml/LzDebug.js
> M      lfc/core/Class.lzs
> M      lfc/data/LzParsedPath.lzs
> M      server/src/org/openlaszlo/sc/Compiler.java
> M      server/src/org/openlaszlo/sc/JavascriptGenerator.java
> M      server/src/org/openlaszlo/sc/CodeGenerator.java
>
> <patch.ptw.xPLr.tgz>



_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to