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) :
Show replies by date