[Really ready for review now.  Backtraces work in swf9/10!]

Change 20090929-ptw-y by [email protected] on 2009-09-29 18:01:59 EDT
     in /Users/ptw/OpenLaszlo/trunk
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: A cut at getting backtracing to work in swf9

Bugs Fixed:
LPP-1933 Compiler does not scope #pragma to compile-time conditional  
block
LPP-8479 Debug.evalCarefully not necessary after LPP-8222?
[I got carried away trying to make the line numbering in the debugger
more accurate...]

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

Release Notes:
    The debugger indicates when the file/line information on a debugger
    message is not accurate.  If the location information is coming
    from the view associated with the error, rather than @file it will
    print %file.  If the line number is only approximate (backtracing
    is not enabled), rather than #line it will print ~line.

Details:

     regression, lzunit: Update to return from for-in (to work around
     AS3 bug in backtrace compiles.  arrayEquals and xmlequals are more
     accurate now.

     lztext:  Split the tests so as not to overflow the swf8 compiler
     block size in backtrace compiles.

     lzunit-test:  Correct arg defaults so you don't get a bogus file
     name in string runtimes.

     LzPreloader, LzApplication, SWF9Writer, eval: Disable backtraces
     with a pragma.

     LzMessage, LzMonitor, LzTrace: Make file and line prefixes
     private, remove as3 clause now that backtraces are available
     there, remove handling of uncaught errors now that they can't
     happen.  Improve heuristication of file/line from arguments.
     Indicate accuracy of file/line annotations (per release notes).

     LzDebug.*, LzDebugStub, LZBootstrapDebugService: Adjust for
     debugger being instantiated at load time in as3 (vs. incrementally
     in js1).  Add kludges for nested try/finally not working in swf8.
     Work around return from for-in bug in as3.  Move stackOverlow and
     backtrace methods here, rather than trying to add them
     dynamically.

     Library, LzBacktrace: Rewrite as classes, include in all runtimes.
     Had to rename stackframe `function` and `this` attributes to
     `callee` and `context`.  Simplified debug and string methods.

     build: Make it so you can build a backtrace lfc independently of a
     debug lfc.

     CompilationManager, TopLevelCompiler, info-response: fix to
     calculate LFC size correctly

     CodeGenerator, JavascriptGenerator: Treat a compile-time
     conditional clause as a directive block scope per LPP-1933.
     Enable backtracing in swf9.  Simplify transformation of <script>
     functions.  Make sure only user variables are transformed, not
     annotations introduced by the compiler.  Adjust backtrace
     annotation to work in as3 compiler.  Move function name/line
     information to backtrace annotation from function object.

     SWF9External:  Use LPS methods to compute LFC names, consider the
     backtrace flag.

     SWF9Generator:  Force public members for NAME_FUNCTIONS

     SWF9ParseTreePrinter:  Compensate for flex compiler not
     understanding comma expressions in [].

     Compiler:  Clean up option defaulting so that debug LFC is
     compiled in debug mode.

     build-properties:  Stop building swf7 and swf9.

Tests:
     More stuff works, still failing for swf9+debug+bactrace

Files:
M      test/smoke/regression.lzl
M      test/smoke/lztext.lzl
M      test/smoke/lzunit-test.lzl
M      WEB-INF/lps/lfc/kernel/swf9/LzPreloader.as
M      WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
M      WEB-INF/lps/lfc/debugger/platform/swf9/LzDebug.as
M      WEB-INF/lps/lfc/debugger/LzMonitor.lzs
M      WEB-INF/lps/lfc/debugger/Library.lzs
M      WEB-INF/lps/lfc/debugger/LzTrace.lzs
M      WEB-INF/lps/lfc/debugger/LzBacktrace.lzs
M      WEB-INF/lps/lfc/build.xml
M      WEB-INF/lps/lfc/compiler/LzDebugStub.lzs
M      WEB-INF/lps/lfc/compiler/LzBootstrapDebugService.lzs
M      WEB-INF/lps/server/src/org/openlaszlo/cm/CompilationManager.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/ 
SWF9ParseTreePrinter.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/compiler/ 
ToplevelCompiler.java
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java
M      WEB-INF/lps/templates/info-response.xslt
M      build.properties
M      lps/components/debugger/platform/swf9/eval.lzs
M      lps/components/lzunit/lzunit.lzx

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090929-ptw-y.tar
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to