The evaluator inserts line number #0 to the script, see
lps/components/debugger/platform/swf8/eval.lzs:
lz_script : "#file interactive-eval-"+ seq +
"\n#line 0\n" + expr } );
The <AFTER_LINE_DIRECTIVE> add -1 to the line info:
<AFTER_LINE_DIRECTIVE> SKIP: {
<~[]>
{
input_stream.adjustBeginLineColumn(beginLine - 1, 1);
input_stream.backup(1);
} : DEFAULT
}
That makes: 0 - 1 = -1 :-(
On 1/10/2011 5:08 PM, P T Withington wrote:
Approved.
I thought we had the evaluator hand in a fake file/line something like
"debug-eval" and an ever incrementing counter. Who is passing in a negative
line number, that seems bogus.
On 2011-01-08, at 16:18, André Bargull wrote:
Change bargull-20110108-Zpd by barg...@bargull02 on 2011-01-08 22:13:00
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Don't emit negative line-info when substituting statements
Bugs Fixed: LPP-8758 (Cannot use "subclassof" operator in debugger) (partial)
Technical Reviewer: ptw
QA Reviewer: (pending)
Details:
Don't emit negative line-number info, the parser only allows positive
line-numbers.
Tests:
Eval'ing 'Object subclassof Object' works in swf8
Files:
M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/bargull-20110108-Zpd.tar