Lines 350-357
Link Here
|
350 |
if (index != -1) { |
350 |
if (index != -1) { |
351 |
cuName= cuName.substring(0, index); |
351 |
cuName= cuName.substring(0, index); |
352 |
} |
352 |
} |
353 |
Object value = this.packageFragments.get(pkgName); |
353 |
int pkgIndex = this.packageFragments.getIndex(pkgName); |
354 |
if (value != null) { |
354 |
if (pkgIndex != -1) { |
|
|
355 |
Object value = this.packageFragments.valueTable[pkgIndex]; |
356 |
// reuse existing String[] |
357 |
pkgName = (String[]) this.packageFragments.keyTable[pkgIndex]; |
355 |
if (value instanceof PackageFragmentRoot) { |
358 |
if (value instanceof PackageFragmentRoot) { |
356 |
return findCompilationUnit(pkgName, cuName, (PackageFragmentRoot) value); |
359 |
return findCompilationUnit(pkgName, cuName, (PackageFragmentRoot) value); |
357 |
} else { |
360 |
} else { |
Lines 556-571
Link Here
|
556 |
return result; |
559 |
return result; |
557 |
} else { |
560 |
} else { |
558 |
String[] splittedName = Util.splitOn('.', name, 0, name.length()); |
561 |
String[] splittedName = Util.splitOn('.', name, 0, name.length()); |
559 |
Object value = this.packageFragments.get(splittedName); |
562 |
int pkgIndex = this.packageFragments.getIndex(splittedName); |
560 |
if (value == null) |
563 |
if (pkgIndex == -1) |
561 |
return null; |
564 |
return null; |
|
|
565 |
Object value = this.packageFragments.valueTable[pkgIndex]; |
566 |
// reuse existing String[] |
567 |
String[] pkgName = (String[]) this.packageFragments.keyTable[pkgIndex]; |
562 |
if (value instanceof PackageFragmentRoot) { |
568 |
if (value instanceof PackageFragmentRoot) { |
563 |
return new IPackageFragment[] {((PackageFragmentRoot) value).getPackageFragment(splittedName)}; |
569 |
return new IPackageFragment[] {((PackageFragmentRoot) value).getPackageFragment(pkgName)}; |
564 |
} else { |
570 |
} else { |
565 |
IPackageFragmentRoot[] roots = (IPackageFragmentRoot[]) value; |
571 |
IPackageFragmentRoot[] roots = (IPackageFragmentRoot[]) value; |
566 |
IPackageFragment[] result = new IPackageFragment[roots.length]; |
572 |
IPackageFragment[] result = new IPackageFragment[roots.length]; |
567 |
for (int i= 0; i < roots.length; i++) { |
573 |
for (int i= 0; i < roots.length; i++) { |
568 |
result[i] = ((PackageFragmentRoot) roots[i]).getPackageFragment(splittedName); |
574 |
result[i] = ((PackageFragmentRoot) roots[i]).getPackageFragment(pkgName); |
569 |
} |
575 |
} |
570 |
return result; |
576 |
return result; |
571 |
} |
577 |
} |
Lines 900-916
Link Here
|
900 |
} |
906 |
} |
901 |
} else { |
907 |
} else { |
902 |
String[] splittedName = Util.splitOn('.', name, 0, name.length()); |
908 |
String[] splittedName = Util.splitOn('.', name, 0, name.length()); |
903 |
Object value = this.packageFragments.get(splittedName); |
909 |
int pkgIndex = this.packageFragments.getIndex(splittedName); |
904 |
if (value instanceof PackageFragmentRoot) { |
910 |
if (pkgIndex != -1) { |
905 |
requestor.acceptPackageFragment(((PackageFragmentRoot) value).getPackageFragment(splittedName)); |
911 |
Object value = this.packageFragments.valueTable[pkgIndex]; |
906 |
} else { |
912 |
// reuse existing String[] |
907 |
IPackageFragmentRoot[] roots = (IPackageFragmentRoot[]) value; |
913 |
String[] pkgName = (String[]) this.packageFragments.keyTable[pkgIndex]; |
908 |
if (roots != null) { |
914 |
if (value instanceof PackageFragmentRoot) { |
909 |
for (int i = 0, length = roots.length; i < length; i++) { |
915 |
requestor.acceptPackageFragment(((PackageFragmentRoot) value).getPackageFragment(pkgName)); |
910 |
if (requestor.isCanceled()) |
916 |
} else { |
911 |
return; |
917 |
IPackageFragmentRoot[] roots = (IPackageFragmentRoot[]) value; |
912 |
PackageFragmentRoot root = (PackageFragmentRoot) roots[i]; |
918 |
if (roots != null) { |
913 |
requestor.acceptPackageFragment(root.getPackageFragment(splittedName)); |
919 |
for (int i = 0, length = roots.length; i < length; i++) { |
|
|
920 |
if (requestor.isCanceled()) |
921 |
return; |
922 |
PackageFragmentRoot root = (PackageFragmentRoot) roots[i]; |
923 |
requestor.acceptPackageFragment(root.getPackageFragment(pkgName)); |
924 |
} |
914 |
} |
925 |
} |
915 |
} |
926 |
} |
916 |
} |
927 |
} |