I haven't tested your change, but I wonder how compiler/Class.lzs can 
access Debug.FUNCTION_NAME before compiler/LzBootstrapDebugService.lzs, 
which defines these constants, is loaded? And why did you use the 
bracket notation also in the Java classes, e.g. here:
> -      getname = "arguments.callee._dbg_name";
> +      getname = "arguments.callee['" + Function.FUNCTION_NAME + "']";
Why don't you use:
> getname = "arguments.callee." +  Function.FUNCTION_NAME;




On 9/2/2009 9:28 PM, P T Withington wrote:
> Change 20090902-ptw-Q by [email protected] on 2009-09-02 13:13:42 EDT
>      in /Users/ptw/OpenLaszlo/trunk-2
>      for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Don't emit named function expressions in Javascript because  
> IE is brain-dead
>
> Bugs Fixed: LPP-8431 IE7 DHTML getting global properties clobbered  
> (partial)
>
> Technical Reviewer: hminsky (pending)
> QA Reviewer: max (pending)
>
> Details:
>      Because IE is brain-dead, and we don't want to have to generate
>      different code for different browsers, we don't emit named
>      function expressions any more.  To partially recoup the loss of
>      Javascript debuggability, I made the property that we store debug
>      function names on be a configurable constant and set it to the
>      name that the Firefox and Webkit debuggers use (displayName).
>      This means that at least those two browsers should continue to
>      give useful backtraces and profile output.
>
>      This change means we no longer need the 'simple' versions of the
>      debug LFC, so I have removed them and the supporting machinery and
>      builds.
>
> Tests:
>      Inspection of compiler javascript output.  Can right-click on the
>      canvas in DHTML without an error.  Debugger still can print
>      method names.  Webkit profiler knows method names (in debug mode).
>
> Files:
> M      WEB-INF/lps/lfc/services/LzCSSStyle.lzs
> M      WEB-INF/lps/lfc/debugger/LzInit.lzs
> M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
> M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
> M      WEB-INF/lps/lfc/debugger/platform/swf/LzDebug.as
> M      WEB-INF/lps/lfc/debugger/platform/dhtml/LzDebug.js
> M      WEB-INF/lps/lfc/debugger/LzBacktrace.lzs
> M      WEB-INF/lps/lfc/core/LzEventable.lzs
> M      WEB-INF/lps/lfc/build.xml
> M      WEB-INF/lps/lfc/compiler/LzRuntime.lzs
> M      WEB-INF/lps/lfc/compiler/LzBootstrapDebugService.lzs
> M      WEB-INF/lps/lfc/compiler/Class.lzs
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/Function.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
> M      build.properties
> M      lps/includes/source/embednew.js
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090902-ptw-Q.tar
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to