Lines 47-52
Link Here
|
47 |
import org.eclipse.jdt.internal.compiler.env.AccessRestriction; |
47 |
import org.eclipse.jdt.internal.compiler.env.AccessRestriction; |
48 |
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; |
48 |
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; |
49 |
import org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt; |
49 |
import org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt; |
|
|
50 |
import org.eclipse.jdt.internal.core.JavaProjectElementInfo.ProjectCache; |
50 |
import org.eclipse.jdt.internal.core.builder.JavaBuilder; |
51 |
import org.eclipse.jdt.internal.core.builder.JavaBuilder; |
51 |
import org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy; |
52 |
import org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy; |
52 |
import org.eclipse.jdt.internal.core.search.AbstractSearchScope; |
53 |
import org.eclipse.jdt.internal.core.search.AbstractSearchScope; |
Lines 55-60
Link Here
|
55 |
import org.eclipse.jdt.internal.core.search.JavaWorkspaceScope; |
56 |
import org.eclipse.jdt.internal.core.search.JavaWorkspaceScope; |
56 |
import org.eclipse.jdt.internal.core.search.indexing.IndexManager; |
57 |
import org.eclipse.jdt.internal.core.search.indexing.IndexManager; |
57 |
import org.eclipse.jdt.internal.core.search.processing.JobManager; |
58 |
import org.eclipse.jdt.internal.core.search.processing.JobManager; |
|
|
59 |
import org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject; |
58 |
import org.eclipse.jdt.internal.core.util.LRUCache; |
60 |
import org.eclipse.jdt.internal.core.util.LRUCache; |
59 |
import org.eclipse.jdt.internal.core.util.Messages; |
61 |
import org.eclipse.jdt.internal.core.util.Messages; |
60 |
import org.eclipse.jdt.internal.core.util.Util; |
62 |
import org.eclipse.jdt.internal.core.util.Util; |
Lines 893-898
Link Here
|
893 |
|
895 |
|
894 |
IPath resourcePath = resource.getFullPath(); |
896 |
IPath resourcePath = resource.getFullPath(); |
895 |
try { |
897 |
try { |
|
|
898 |
JavaProjectElementInfo projectInfo = (JavaProjectElementInfo) getJavaModelManager().getInfo(project); |
899 |
ProjectCache projectCache = projectInfo == null ? null : projectInfo.projectCache; |
900 |
HashtableOfArrayToObject allPkgFragmentsCache = projectCache == null ? null : projectCache.allPkgFragmentsCache; |
896 |
IClasspathEntry[] entries = |
901 |
IClasspathEntry[] entries = |
897 |
org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName(resourcePath.lastSegment()) |
902 |
org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName(resourcePath.lastSegment()) |
898 |
? project.getRawClasspath() // JAVA file can only live inside SRC folder (on the raw path) |
903 |
? project.getRawClasspath() // JAVA file can only live inside SRC folder (on the raw path) |
Lines 922-927
Link Here
|
922 |
pkgPath = pkgPath.removeLastSegments(1); |
927 |
pkgPath = pkgPath.removeLastSegments(1); |
923 |
} |
928 |
} |
924 |
String[] pkgName = pkgPath.segments(); |
929 |
String[] pkgName = pkgPath.segments(); |
|
|
930 |
|
931 |
// if package name is in the cache, then it has already been validated |
932 |
// (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=133141) |
933 |
if (allPkgFragmentsCache != null && allPkgFragmentsCache.containsKey(pkgName)) |
934 |
return root.getPackageFragment(pkgName); |
935 |
|
925 |
if (pkgName.length != 0 && JavaConventions.validatePackageName(Util.packageName(pkgPath, sourceLevel, complianceLevel), sourceLevel, complianceLevel).getSeverity() == IStatus.ERROR) { |
936 |
if (pkgName.length != 0 && JavaConventions.validatePackageName(Util.packageName(pkgPath, sourceLevel, complianceLevel), sourceLevel, complianceLevel).getSeverity() == IStatus.ERROR) { |
926 |
return null; |
937 |
return null; |
927 |
} |
938 |
} |