summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Rubezhny2013-08-02 14:26:42 (EDT)
committer U-ADMINIB-0N21K1B\chrisjaun2013-08-14 10:40:53 (EDT)
commitc73c61d19b8abecebc04ee1de32afe89f5eeaa9f (patch)
tree0035c24da1dc6c238ed6976594342e34ae8a0d38
parent077b0a0180e615336e7aed6dd39528cca6025629 (diff)
downloadwebtools.jsdt.core-c73c61d19b8abecebc04ee1de32afe89f5eeaa9f.zip
webtools.jsdt.core-c73c61d19b8abecebc04ee1de32afe89f5eeaa9f.tar.gz
webtools.jsdt.core-c73c61d19b8abecebc04ee1de32afe89f5eeaa9f.tar.bz2
Bugzilla 357353.
-rw-r--r--bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java
index 8aef848..9e59c29 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java
@@ -1189,7 +1189,17 @@ public void markAsDefinitelyNonNull(LocalVariableBinding local) {
for (int j = 0; j < extraLength; j++) {
this.extra[j] = new long[length];
}
+ } else {
+ int oldLength; // might need to grow the arrays
+ if (vectorIndex >= (oldLength = this.extra[0].length)) {
+ for (int j = 0; j < extraLength; j++) {
+ System.arraycopy(this.extra[j], 0,
+ (this.extra[j] = new long[vectorIndex + 1]), 0,
+ oldLength);
+ }
+ }
}
+
this.extra[2][vectorIndex]
|= (mask = 1L << (position % BitCacheSize));
this.extra[4][vectorIndex] |= mask;