Author: dgolovin
Date: 2008-06-27 16:01:28 -0400 (Fri, 27 Jun 2008)
New Revision: 8991
Modified:
branches/jbosstools-2.1.x/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-2461 fix eclipse hang if length of expression
inside #{} is 0
Modified:
branches/jbosstools-2.1.x/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java
===================================================================
---
branches/jbosstools-2.1.x/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java 2008-06-27
19:03:20 UTC (rev 8990)
+++
branches/jbosstools-2.1.x/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java 2008-06-27
20:01:28 UTC (rev 8991)
@@ -101,8 +101,9 @@
if (v == -1) v = valText.indexOf("${", startBracket + exprLength);
if (v == -1) return null;
startBracket = v;
-
+
int endBracket = valText.indexOf("}", startBracket + 2);
+
exprStart = valStart + startBracket + 2;
int exprEnd = (endBracket == -1 ? valEnd - 1: valStart + endBracket);
int lineBreaker = valText.indexOf('\n', startBracket + 2);
@@ -110,8 +111,9 @@
if (lineBreaker != -1 && lineBreaker + valStart < exprEnd) exprEnd =
valStart + lineBreaker;
if (lineBreaker1 != -1 && lineBreaker1 + valStart < exprEnd) exprEnd =
valStart + lineBreaker1;
exprLength = exprEnd - exprStart;
-
- if (exprStart <= offset && exprEnd >= offset) {
+ if(exprLength==0) {
+ return null;
+ } else if (exprStart <= offset && exprEnd >= offset) {
int start = exprStart;
int length = exprLength;