Change bargull-20110113-T2l by barg...@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