diff options
Diffstat (limited to 'org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java')
-rw-r--r-- | org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java index 22333a8a4b..fc2f3f9600 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2014 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -56,14 +56,18 @@ public PackageFragmentRootInfo() { static Object[] computeFolderNonJavaResources(IPackageFragmentRoot root, IContainer folder, char[][] inclusionPatterns, char[][] exclusionPatterns) throws JavaModelException { IResource[] nonJavaResources = new IResource[5]; int nonJavaResourcesCounter = 0; - JavaProject project = (JavaProject) root.getJavaProject(); try { - IClasspathEntry[] classpath = project.getResolvedClasspath(); IResource[] members = folder.members(); int length = members.length; if (length > 0) { - String sourceLevel = project.getOption(JavaCore.COMPILER_SOURCE, true); - String complianceLevel = project.getOption(JavaCore.COMPILER_COMPLIANCE, true); + // if package fragment root refers to folder in another IProject, then + // folder.getProject() is different than root.getJavaProject().getProject() + // use the other java project's options to verify the name + IJavaProject otherJavaProject = JavaCore.create(folder.getProject()); + String sourceLevel = otherJavaProject.getOption(JavaCore.COMPILER_SOURCE, true); + String complianceLevel = otherJavaProject.getOption(JavaCore.COMPILER_COMPLIANCE, true); + JavaProject javaProject = (JavaProject) root.getJavaProject(); + IClasspathEntry[] classpath = javaProject.getResolvedClasspath(); nextResource: for (int i = 0; i < length; i++) { IResource member = members[i]; switch (member.getType()) { |