Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Arthanareeswaran2018-04-17 15:31:04 +0000
committerJay Arthanareeswaran2018-04-17 15:39:37 +0000
commitad0d5ebe1c4cbc56434942c80d09ee2a70517c8a (patch)
tree19c16d5dec14acf385348a5063bfd98132ac5b1b /org.eclipse.jdt.core
parenta7ec0cdf57237db6f0435ffa131bdca3f6716579 (diff)
downloadeclipse.jdt.core-ad0d5ebe1c4cbc56434942c80d09ee2a70517c8a.tar.gz
eclipse.jdt.core-ad0d5ebe1c4cbc56434942c80d09ee2a70517c8a.tar.xz
eclipse.jdt.core-ad0d5ebe1c4cbc56434942c80d09ee2a70517c8a.zip
Bug 482254 - Make the array copy conditionalI20180418-2000I20180417-2000
Change-Id: I7cd866263455668a70df8caca676749837c308a1 Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
Diffstat (limited to 'org.eclipse.jdt.core')
-rw-r--r--org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnitResolver.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnitResolver.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnitResolver.java
index 8fbe1a362c..2fa9187e51 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnitResolver.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnitResolver.java
@@ -1005,9 +1005,12 @@ class CompilationUnitResolver extends Compiler {
}
sourceUnits[count++] = new org.eclipse.jdt.internal.compiler.batch.CompilationUnit(contents, sourceUnitPath, encoding);
}
- org.eclipse.jdt.internal.compiler.env.ICompilationUnit[] newArray = new org.eclipse.jdt.internal.compiler.env.ICompilationUnit[count];
- System.arraycopy(sourceUnits, 0, newArray, 0, count);
- beginToCompile(newArray, bindingKeys);
+ if (count < length) {
+ org.eclipse.jdt.internal.compiler.env.ICompilationUnit[] newArray = new org.eclipse.jdt.internal.compiler.env.ICompilationUnit[count];
+ System.arraycopy(sourceUnits, 0, newArray, 0, count);
+ sourceUnits = newArray;
+ }
+ beginToCompile(sourceUnits, bindingKeys);
// process all units (some more could be injected in the loop by the lookup environment)
for (int i = 0; i < this.totalUnits; i++) {
if (resolvedRequestedSourcesAndKeys(i)) {

Back to the top