Yes, please.

On 2011-01-14, at 10:18, André Bargull wrote:

> 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