X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/builder/IncrementalImageBuilder.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/builder/IncrementalImageBuilder.java index 91e2b85..c738342 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/builder/IncrementalImageBuilder.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/builder/IncrementalImageBuilder.java @@ -10,15 +10,12 @@ *******************************************************************************/ package net.sourceforge.phpdt.internal.core.builder; import java.util.ArrayList; -import net.sourceforge.phpdt.core.compiler.CharOperation; + import net.sourceforge.phpdt.core.compiler.IProblem; import net.sourceforge.phpdt.internal.compiler.CompilationResult; -import net.sourceforge.phpdt.internal.core.Util; import net.sourceforge.phpdt.internal.core.util.SimpleLookupTable; -import net.sourceforge.phpdt.internal.ui.util.PHPFileUtil; -import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.builder.IdentifierIndexManager; -import org.eclipse.core.resources.IContainer; +import net.sourceforge.phpdt.internal.core.util.Util; + import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IMarker; @@ -70,52 +67,55 @@ public class IncrementalImageBuilder extends AbstractImageBuilder { notifier.subTask(Util.bind("build.analyzingDeltas")); //$NON-NLS-1$ IResourceDelta sourceDelta = (IResourceDelta) deltas .get(javaBuilder.currentProject); - if (sourceDelta != null) + if (sourceDelta != null) { + sourceDelta.accept(new ParserVisitor(javaBuilder.currentProject, notifier.monitor)); + if (!findSourceFiles(sourceDelta)) return false; - notifier.updateProgressDelta(0.10f); - Object[] keyTable = deltas.keyTable; - Object[] valueTable = deltas.valueTable; - final IdentifierIndexManager indexManager = PHPeclipsePlugin.getDefault() - .getIndexManager(javaBuilder.currentProject); - for (int i = 0, l = valueTable.length; i < l; i++) { - IResourceDelta delta = (IResourceDelta) valueTable[i]; - if (delta != null) { - IResource resource = delta.getResource(); - int resourceType = resource.getType(); - if (resourceType == IResource.FILE) { - switch (delta.getKind()) { - case IResourceDelta.ADDED : - if ((resource.getFileExtension() != null) - && PHPFileUtil.isPHPFile((IFile) resource)) { - // update indexfile for the project: - indexManager.addFile((IFile) resource); - } - break; - case IResourceDelta.CHANGED : - if ((resource.getFileExtension() != null) - && PHPFileUtil.isPHPFile((IFile) resource)) { - // update indexfile for the project: - indexManager.changeFile((IFile) resource); - } - break; - case IResourceDelta.REMOVED : - if ((resource.getFileExtension() != null) - && PHPFileUtil.isPHPFile((IFile) resource)) { - // update indexfile for the project: - indexManager.removeFile((IFile) resource); - } - break; - } - } - // ClasspathLocation[] classFoldersAndJars = (ClasspathLocation[]) - // javaBuilder.binaryLocationsPerProject.get(keyTable[i]); - // if (classFoldersAndJars != null) - // if (!findAffectedSourceFiles(delta, classFoldersAndJars)) return - // false; - } } notifier.updateProgressDelta(0.10f); +// Object[] keyTable = deltas.keyTable; +// Object[] valueTable = deltas.valueTable; +//// final IdentifierIndexManager indexManager = PHPeclipsePlugin.getDefault() +//// .getIndexManager(javaBuilder.currentProject); +// for (int i = 0, l = valueTable.length; i < l; i++) { +// IResourceDelta delta = (IResourceDelta) valueTable[i]; +// if (delta != null) { +// IResource resource = delta.getResource(); +// int resourceType = resource.getType(); +// if (resourceType == IResource.FILE) { +// switch (delta.getKind()) { +// case IResourceDelta.ADDED : +// if ((resource.getFileExtension() != null) +// && PHPFileUtil.isPHPFile((IFile) resource)) { +// // update indexfile for the project: +//// indexManager.addFile((IFile) resource); +// } +// break; +// case IResourceDelta.CHANGED : +// if ((resource.getFileExtension() != null) +// && PHPFileUtil.isPHPFile((IFile) resource)) { +// // update indexfile for the project: +//// indexManager.changeFile((IFile) resource); +// } +// break; +// case IResourceDelta.REMOVED : +// if ((resource.getFileExtension() != null) +// && PHPFileUtil.isPHPFile((IFile) resource)) { +// // update indexfile for the project: +//// indexManager.removeFile((IFile) resource); +// } +// break; +// } +// } +// // ClasspathLocation[] classFoldersAndJars = (ClasspathLocation[]) +// // javaBuilder.binaryLocationsPerProject.get(keyTable[i]); +// // if (classFoldersAndJars != null) +// // if (!findAffectedSourceFiles(delta, classFoldersAndJars)) return +// // false; +// } +// } + notifier.updateProgressDelta(0.10f); notifier.subTask(Util.bind("build.analyzingSources")); //$NON-NLS-1$ addAffectedSourceFiles(); notifier.updateProgressDelta(0.05f); @@ -391,7 +391,7 @@ public class IncrementalImageBuilder extends AbstractImageBuilder { case IResourceDelta.ADDED : IPath addedPackagePath = resource.getFullPath() .removeFirstSegments(segmentCount); - createFolder(addedPackagePath, md.binaryFolder); // ensure package + // createFolder(addedPackagePath, md.binaryFolder); // ensure package // exists in the // output folder // add dependents even when the package thinks it exists to be on @@ -414,7 +414,7 @@ public class IncrementalImageBuilder extends AbstractImageBuilder { removedPackagePath).exists()) { // only a package fragment was removed, same as removing // multiple source files - createFolder(removedPackagePath, md.binaryFolder); // ensure +// createFolder(removedPackagePath, md.binaryFolder); // ensure // package // exists // in the @@ -442,7 +442,7 @@ public class IncrementalImageBuilder extends AbstractImageBuilder { return; case IResource.FILE : String resourceName = resource.getName(); - if (Util.isJavaFileName(resourceName)) { + if (net.sourceforge.phpdt.internal.compiler.util.Util.isJavaFileName(resourceName)) { IPath typePath = resource.getFullPath().removeFirstSegments( segmentCount).removeFileExtension(); String typeLocator = resource.getProjectRelativePath().toString(); @@ -519,52 +519,52 @@ public class IncrementalImageBuilder extends AbstractImageBuilder { // copy all other resource deltas to the output folder IPath resourcePath = resource.getFullPath().removeFirstSegments( segmentCount); - IResource outputFile = md.binaryFolder.getFile(resourcePath); +// IResource outputFile = md.binaryFolder.getFile(resourcePath); switch (sourceDelta.getKind()) { case IResourceDelta.ADDED : - if (outputFile.exists()) { - if (PHPBuilder.DEBUG) - System.out.println("Deleting existing file " + resourcePath); //$NON-NLS-1$ - outputFile.delete(IResource.FORCE, null); - } +// if (outputFile.exists()) { +// if (PHPBuilder.DEBUG) +// System.out.println("Deleting existing file " + resourcePath); //$NON-NLS-1$ +// outputFile.delete(IResource.FORCE, null); +// } if (PHPBuilder.DEBUG) System.out.println("Copying added file " + resourcePath); //$NON-NLS-1$ - createFolder(resourcePath.removeLastSegments(1), md.binaryFolder); // ensure +// createFolder(resourcePath.removeLastSegments(1), md.binaryFolder); // ensure // package // exists // in // the // output // folder - resource.copy(outputFile.getFullPath(), IResource.FORCE, null); - outputFile.setDerived(true); +// resource.copy(outputFile.getFullPath(), IResource.FORCE, null); +// outputFile.setDerived(true); return; case IResourceDelta.REMOVED : - if (outputFile.exists()) { - if (PHPBuilder.DEBUG) - System.out.println("Deleting removed file " + resourcePath); //$NON-NLS-1$ - outputFile.delete(IResource.FORCE, null); - } +// if (outputFile.exists()) { +// if (PHPBuilder.DEBUG) +// System.out.println("Deleting removed file " + resourcePath); //$NON-NLS-1$ +// outputFile.delete(IResource.FORCE, null); +// } return; case IResourceDelta.CHANGED : if ((sourceDelta.getFlags() & IResourceDelta.CONTENT) == 0) return; // skip it since it really isn't changed - if (outputFile.exists()) { - if (PHPBuilder.DEBUG) - System.out.println("Deleting existing file " + resourcePath); //$NON-NLS-1$ - outputFile.delete(IResource.FORCE, null); - } +// if (outputFile.exists()) { +// if (PHPBuilder.DEBUG) +// System.out.println("Deleting existing file " + resourcePath); //$NON-NLS-1$ +// outputFile.delete(IResource.FORCE, null); +// } if (PHPBuilder.DEBUG) System.out.println("Copying changed file " + resourcePath); //$NON-NLS-1$ - createFolder(resourcePath.removeLastSegments(1), md.binaryFolder); // ensure + // createFolder(resourcePath.removeLastSegments(1), md.binaryFolder); // ensure // package // exists // in // the // output // folder - resource.copy(outputFile.getFullPath(), IResource.FORCE, null); - outputFile.setDerived(true); +// resource.copy(outputFile.getFullPath(), IResource.FORCE, null); +// outputFile.setDerived(true); } return; }