JavaPackage.getClasses() shouldn't be used directly

This commit is contained in:
Alexander Udalov
2013-08-28 20:45:58 +04:00
parent e62a2bbf2f
commit 31a13dc688
5 changed files with 9 additions and 4 deletions
@@ -131,7 +131,8 @@ public final class DescriptorResolverUtils {
}
@NotNull
public static Collection<JavaClass> filterDuplicateClasses(@NotNull Collection<JavaClass> classes) {
public static Collection<JavaClass> getClassesInPackage(@NotNull JavaPackage javaPackage) {
Collection<JavaClass> classes = javaPackage.getClasses();
Set<FqName> addedQualifiedNames = new HashSet<FqName>(classes.size());
List<JavaClass> result = new ArrayList<JavaClass>(classes.size());
@@ -248,7 +248,7 @@ public final class JavaNamespaceResolver {
JavaPackage javaPackage = javaClassFinder.findPackage(packageName);
if (javaPackage == null) return Collections.emptyList();
Collection<JavaClass> classes = DescriptorResolverUtils.filterDuplicateClasses(javaPackage.getClasses());
Collection<JavaClass> classes = DescriptorResolverUtils.getClassesInPackage(javaPackage);
List<Name> result = new ArrayList<Name>(classes.size());
for (JavaClass javaClass : classes) {
if (DescriptorResolverUtils.isCompiledKotlinClass(javaClass)) {
@@ -93,7 +93,7 @@ public final class JavaPackageScope extends JavaBaseScope {
}
}
for (JavaClass javaClass : DescriptorResolverUtils.filterDuplicateClasses(javaPackage.getClasses())) {
for (JavaClass javaClass : DescriptorResolverUtils.getClassesInPackage(javaPackage)) {
if (DescriptorResolverUtils.isCompiledKotlinPackageClass(javaClass)) continue;
if (javaClass.getOriginKind() == JavaClass.OriginKind.KOTLIN_LIGHT_CLASS) continue;
@@ -93,7 +93,7 @@ import java.util.Map;
public static MembersCache buildForPackage(@NotNull JavaPackage javaPackage) {
MembersCache membersCache = new MembersCache();
Collection<JavaClass> classes = DescriptorResolverUtils.filterDuplicateClasses(javaPackage.getClasses());
Collection<JavaClass> classes = DescriptorResolverUtils.getClassesInPackage(javaPackage);
membersCache.new ExtraPackageMembersProcessor(classes).process();
return membersCache;
@@ -22,6 +22,10 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
import java.util.Collection;
public interface JavaPackage extends JavaElement {
/**
* NOTE: do not use this method directly
* @see org.jetbrains.jet.lang.resolve.java.resolver.DescriptorResolverUtils#getClassesInPackage(JavaPackage)
*/
@NotNull
Collection<JavaClass> getClasses();