From c73c61d19b8abecebc04ee1de32afe89f5eeaa9f Mon Sep 17 00:00:00 2001 From: Victor Rubezhny Date: Fri, 2 Aug 2013 14:26:42 -0400 Subject: Bugzilla 357353. --- .../wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 8aef848c..9e59c29c 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; -- cgit v1.2.3