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