[jbosstools-commits] JBoss Tools SVN: r41768 - trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Jun 7 09:32:28 EDT 2012


Author: vrubezhny
Date: 2012-06-07 09:32:27 -0400 (Thu, 07 Jun 2012)
New Revision: 41768

Modified:
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java
Log:
JBIDE-10738
As-you-type EL validation

Added a check due to prevent BLE

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java	2012-06-07 12:42:38 UTC (rev 41767)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java	2012-06-07 13:32:27 UTC (rev 41768)
@@ -424,16 +424,28 @@
 	}
 
 	protected void process(DirtyRegion dirtyRegion) {
-		if (!isInstalled() || isInRewrite() || dirtyRegion == null || getDocument() == null || fIsCanceled) {
+		IDocument doc = getDocument();
+		
+		if (!isInstalled() || isInRewrite() || dirtyRegion == null || doc == null || fIsCanceled) {
 			return;
 		}
 
+		int start = dirtyRegion.getOffset();
+		int end = dirtyRegion.getOffset() + dirtyRegion.getLength();
+
+		// Check the document boundaries 
+		int docLen = doc.getLength();
+		if (docLen == 0)
+			return;
+		
+		if (start > docLen)
+			start = docLen;
+		if (end >= docLen) 
+			end = docLen - 1;
+		
 		/*
 		 * Expand dirtyRegion to partitions boundaries 
 		 */
-		int start = dirtyRegion.getOffset();
-		int end = dirtyRegion.getOffset() + dirtyRegion.getLength();
-
 		try {
 			ITypedRegion startPartition = (fDocument instanceof IDocumentExtension3) ? 
 					((IDocumentExtension3)fDocument).getPartition(IJavaPartitions.JAVA_PARTITIONING, start, true) :



More information about the jbosstools-commits mailing list