int max = paths == null ? 0 : paths.length;
final SimpleLookupTable indexedFileNames = new SimpleLookupTable(max==0 ? 33 : max+11);
final String OK = "OK"; //$NON-NLS-1$
final String DELETED = "DELETED"; //$NON-NLS-1$
if (paths == null) {
this.folder.accept(new IResourceProxyVisitor() {
public boolean visit(IResourceProxy proxy) {
if (IndexBinaryFolder.this.isCancelled) return false;
if (proxy.getType() == IResource.FILE) {
if (org.eclipse.jdt.internal.compiler.util.Util.isClassFileName(proxy.getName())) {
IFile file = (IFile) proxy.requestResource();
String containerRelativePath = Util.relativePath(file.getFullPath(), IndexBinaryFolder.this.containerPath.segmentCount());
indexedFileNames.put(containerRelativePath, file);
}
return false;
}
return true;
}
}, IResource.NONE);
} else {
for (int i = 0; i < max; i++) {
indexedFileNames.put(paths[i], DELETED);
}
final long indexLastModified = index.getIndexLastModified();
this.folder.accept(
new IResourceProxyVisitor() {
public boolean visit(IResourceProxy proxy) throws CoreException {
if (IndexBinaryFolder.this.isCancelled) return false;
if (proxy.getType() == IResource.FILE) {
if (org.eclipse.jdt.internal.compiler.util.Util.isClassFileName(proxy.getName())) {
IFile file = (IFile) proxy.requestResource();