mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 18:26:01 +02:00
Bug 261459.
This commit is contained in:
parent
7477e61a48
commit
efbe11870e
1 changed files with 19 additions and 1 deletions
|
@ -11,16 +11,20 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.core.index;
|
package org.eclipse.cdt.core.index;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.cdt.core.model.ICProject;
|
||||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||||
import org.eclipse.cdt.internal.core.index.IndexFileLocation;
|
import org.eclipse.cdt.internal.core.index.IndexFileLocation;
|
||||||
import org.eclipse.cdt.internal.core.resources.ResourceLookup;
|
import org.eclipse.cdt.internal.core.resources.ResourceLookup;
|
||||||
|
import org.eclipse.core.filesystem.EFS;
|
||||||
|
import org.eclipse.core.filesystem.IFileStore;
|
||||||
import org.eclipse.core.filesystem.URIUtil;
|
import org.eclipse.core.filesystem.URIUtil;
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
|
|
||||||
|
@ -63,7 +67,21 @@ public class IndexLocationFactory {
|
||||||
* URI is not a filesystem path.
|
* URI is not a filesystem path.
|
||||||
*/
|
*/
|
||||||
public static IPath getAbsolutePath(IIndexFileLocation location) {
|
public static IPath getAbsolutePath(IIndexFileLocation location) {
|
||||||
return URIUtil.toPath(location.getURI());
|
IPath path = URIUtil.toPath(location.getURI());
|
||||||
|
// Workaround for platform bug http://bugs.eclipse.org/bugs/show_bug.cgi?id=261457
|
||||||
|
if (path == null) {
|
||||||
|
try {
|
||||||
|
IFileStore store = EFS.getStore(location.getURI());
|
||||||
|
if (store == null)
|
||||||
|
return null;
|
||||||
|
File file = store.toLocalFile(EFS.NONE, null);
|
||||||
|
if (file == null)
|
||||||
|
return null;
|
||||||
|
path = new Path(file.getAbsolutePath());
|
||||||
|
} catch (CoreException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue