diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java index 575be9e2a79..c82623bd92b 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java @@ -18,7 +18,6 @@ package org.jetbrains.jet.lang.resolve.lazy; import com.google.common.base.Predicates; import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import com.intellij.openapi.util.io.FileUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.ConfigurationKind; @@ -28,9 +27,7 @@ import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.psi.JetNamespaceHeader; import org.jetbrains.jet.lang.psi.JetPsiFactory; -import org.jetbrains.jet.lang.psi.JetSimpleNameExpression; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.test.util.NamespaceComparator; @@ -57,18 +54,7 @@ public class LazyResolveStdlibLoadingTest extends KotlinTestWithEnvironmentManag protected void doTestForGivenFiles( List files ) { - Set namespaceShortNames = Sets.newLinkedHashSet(); - for (JetFile file : files) { - JetNamespaceHeader header = file.getNamespaceHeader(); - if (header != null) { - List names = header.getParentNamespaceNames(); - Name name = names.isEmpty() ? header.getNameAsName() : names.get(0).getReferencedNameAsName(); - namespaceShortNames.add(name); - } - else { - throw new IllegalStateException("There's a file in stdlib that declares the default package: " + file.getName()); - } - } + Set namespaceShortNames = LazyResolveTestUtil.getTopLevelPackagesFromFileList(files); ModuleDescriptor module = LazyResolveTestUtil.resolveEagerly(files, stdlibEnvironment); ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, stdlibEnvironment); diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java index 35a1ecb1484..21e28b129a6 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve.lazy; import com.google.common.base.Predicate; import com.google.common.base.Predicates; +import com.google.common.collect.Sets; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; @@ -30,9 +31,7 @@ import org.jetbrains.jet.lang.DefaultModuleConfiguration; import org.jetbrains.jet.lang.ModuleConfiguration; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; -import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.psi.JetImportDirective; -import org.jetbrains.jet.lang.psi.JetPsiFactory; +import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; import org.jetbrains.jet.lang.resolve.java.JavaPackageScope; @@ -45,6 +44,7 @@ import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Set; /** * @author abreslav @@ -122,4 +122,21 @@ public class LazyResolveTestUtil { session = new ResolveSession(project, lazyModule, moduleConfiguration, declarationProviderFactory); return lazyModule; } + + @NotNull + public static Set getTopLevelPackagesFromFileList(@NotNull List files) { + Set shortNames = Sets.newLinkedHashSet(); + for (JetFile file : files) { + JetNamespaceHeader header = file.getNamespaceHeader(); + if (header != null) { + List names = header.getParentNamespaceNames(); + Name name = names.isEmpty() ? header.getNameAsName() : names.get(0).getReferencedNameAsName(); + shortNames.add(name); + } + else { + throw new IllegalStateException("There's a file that declares the default package: " + file.getName()); + } + } + return shortNames; + } }