diff options
author | Jay Arthanareeswaran | 2018-04-17 15:31:04 +0000 |
---|---|---|
committer | Jay Arthanareeswaran | 2018-04-17 15:39:37 +0000 |
commit | ad0d5ebe1c4cbc56434942c80d09ee2a70517c8a (patch) | |
tree | 19c16d5dec14acf385348a5063bfd98132ac5b1b /org.eclipse.jdt.core | |
parent | a7ec0cdf57237db6f0435ffa131bdca3f6716579 (diff) | |
download | eclipse.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.java | 9 |
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)) { |