Author: markt
Date: Thu Nov 29 14:27:23 2007
New Revision: 599605
URL: http://svn.apache.org/viewvc?rev=599605&view=rev
Log:
Fix bug 43757. Rather than use string matching to work out the line in the JSP
with the error, use the SMAP info and the knowledge that for a scriptlet there
is a one to one line mapping.
Modified:
tomcat/trunk/java/org/apache/jasper/compiler/ErrorDispatcher.java
Modified: tomcat/trunk/java/org/apache/jasper/compiler/ErrorDispatcher.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/ErrorDispatcher.java?rev=599605&r1=599604&r2=599605&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/ErrorDispatcher.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/ErrorDispatcher.java Thu Nov
29 14:27:23 2007
@@ -527,13 +527,26 @@
page.visit(errVisitor);
Node errNode = errVisitor.getJspSourceNode();
if ((errNode != null) && (errNode.getStart() != null)) {
- javacError = new JavacErrorDetail(
- fname,
- lineNum,
- errNode.getStart().getFile(),
- errNode.getStart().getLineNumber(),
- errMsgBuf,
- ctxt);
+ // If this is a scriplet node then there is a one to one mapping
+ // between JSP lines and Java lines
+ if (errVisitor.getJspSourceNode() instanceof Node.Scriptlet) {
+ javacError = new JavacErrorDetail(
+ fname,
+ lineNum,
+ errNode.getStart().getFile(),
+ errNode.getStart().getLineNumber() + lineNum -
+ errVisitor.getJspSourceNode().getBeginJavaLine(),
+ errMsgBuf,
+ ctxt);
+ } else {
+ javacError = new JavacErrorDetail(
+ fname,
+ lineNum,
+ errNode.getStart().getFile(),
+ errNode.getStart().getLineNumber(),
+ errMsgBuf,
+ ctxt);
+ }
} else {
/*
* javac error line number cannot be mapped to JSP page
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]