Should I file an improvement request for this feature?

On 1/13/2011 5:41 PM, P T Withington wrote:
Nicely done.  Approved.

I wonder if we should have a flag in our debugger to have it optionally enter 
the native debugger any time it would signal an error?  Native debuggers 
probably already have a 'catch errors' feature, whereby they enter the debugger 
if an error is about to be thrown, but we've not implemented our runtime errors 
that way:  we just call Debug.error.  So, one idea would be for Debug.error to 
check for the flag and call the native debugger if the flag is set, rather than 
just returning.

Another approach would be to be more disciplined with our runtime errors.  To 
actually throw an error for each of them and rely on our normal debug/catch 
mechanism to report them.

On 2011-01-12, at 20:43, André Bargull wrote:

Change bargull-20110113-T2l by bargull@Bargull02 on 2011-01-13 02:23:19
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: allow "debugger" statement in code

New Features: LPP-5540 (DHTML: using "debugger"-keyword), LPP-9372 (Add LFC 
APIs for native breakpoints and stack traces) (partial)

Technical Reviewer: ptw
QA Reviewer: max

Overview:
The "debugger" statement is now allowed in code and opens the runtime debugger 
if available


Details:
Parser.jjt:
- add<DEBUGGER>  to the allowed tokens for IdentifierOrKeyword() since 
"debugger" is allowed to be in a MemberExpression
- add new DebuggerStatement() production
- add DebuggerStatement() to the TopLevelStatement() production

CommonGenerator:
- handle ASTDebuggerStatement in visitStatement()

EmptyParserVisitor:
- add visit() method for ASTDebuggerStatement

GenericVisitor:
- handle ASTDebuggerStatement in visitStatement()
- add visit method for ASTDebuggerStatement

ParserTreePrinter:
- handle ASTDebuggerStatement in visit()
- implement visit method which simply outputs "debugger"

SWF9Generator:
- override visit method from CommonGenerator and replace ASTDebuggerStatement with 
function call to "$lzsc$debugger()"

SWF9ParseTreePrinter:
- throw exception in visit method for ASTDebuggerStatement, it should already 
have been processed by SWF9Generator

LzRuntime.lzs:
- provide access to the enterDebugger() function, this helps to avoid importing the 
"flash.debugger" package everytime the debugger statement is used



Tests:
test case from bugreport in dhtml+firebug, swf10+fdb opens the runtime debugger

Files:
M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
M WEB-INF/lps/lfc/compiler/LzRuntime.lzs
M WEB-INF/lps/server/src/org/openlaszlo/sc/EmptyParserVisitor.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.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/GenericVisitor.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/bargull-20110113-T2l.tar



Reply via email to