diff options
Diffstat (limited to 'eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java')
-rw-r--r-- | eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java b/eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java index 7a84a09aa98..dbed4e511e7 100644 --- a/eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java +++ b/eclipse/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/builder/Slice2JavaBuilder.java @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved. // // This plug-in is provided to you under the terms and conditions // of the Eclipse Public License Version 1.0 ("EPL"). A copy of @@ -1013,12 +1013,14 @@ public class Slice2JavaBuilder extends IncrementalProjectBuilder Map<IFile, Entry> output = new HashMap<IFile, Entry>(); // Map of source files to build entry. private IFolder _generated; + private IPath _generatedPath; // Map of absolute path to project location. private Map<IPath, IFile> _sources = new HashMap<IPath, IFile>(); Slice2JavaGeneratedParser(IFolder generated, Set<IFile> candidates) { _generated = generated; + _generatedPath = generated.getProjectRelativePath(); for(IFile f : candidates) { _sources.put(f.getLocation(), f); @@ -1043,7 +1045,8 @@ public class Slice2JavaBuilder extends IncrementalProjectBuilder private IFile convert(String fname) { IPath p = new Path(fname); // fname contains "generated/...". - return _generated.getFile(p.removeFirstSegments(1)); + int match = p.matchingFirstSegments(_generatedPath); + return _generated.getFile(p.removeFirstSegments(match)); } public Set<IFile> visitSource(Node source) throws SAXException |