Minor, introduce DeclarationProviderFactory.EMPTY

This commit is contained in:
Alexander Udalov
2016-09-30 14:43:12 +03:00
parent 0ed9897b03
commit 214abea4d6
4 changed files with 15 additions and 16 deletions
@@ -21,8 +21,14 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.resolve.lazy.data.KtClassLikeInfo; import org.jetbrains.kotlin.resolve.lazy.data.KtClassLikeInfo;
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import java.util.Collections;
public interface DeclarationProviderFactory { public interface DeclarationProviderFactory {
DeclarationProviderFactory EMPTY =
new FileBasedDeclarationProviderFactory(LockBasedStorageManager.NO_LOCKS, Collections.<KtFile>emptyList());
@NotNull @NotNull
ClassMemberDeclarationProvider getClassMemberDeclarationProvider(@NotNull KtClassLikeInfo classLikeInfo); ClassMemberDeclarationProvider getClassMemberDeclarationProvider(@NotNull KtClassLikeInfo classLikeInfo);
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyPublicApi
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.JvmClassName
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -49,12 +49,9 @@ class AdditionalBuiltInsMembersSignatureListsTest : KotlinTestWithEnvironment()
val jvmBuiltIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS) val jvmBuiltIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS)
val emptyModule = KotlinTestUtils.createEmptyModule("<empty>", JvmPlatform, jvmBuiltIns) val emptyModule = KotlinTestUtils.createEmptyModule("<empty>", JvmPlatform, jvmBuiltIns)
val moduleContext = ModuleContext(emptyModule, environment.project)
val providerFactory = FileBasedDeclarationProviderFactory(moduleContext.storageManager, emptyList())
val container = createContainerForTopDownSingleModuleAnalyzerForJvm( val container = createContainerForTopDownSingleModuleAnalyzerForJvm(
moduleContext, CliLightClassGenerationSupport.CliBindingTrace(), providerFactory, ModuleContext(emptyModule, environment.project), CliLightClassGenerationSupport.CliBindingTrace(),
GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty DeclarationProviderFactory.EMPTY, GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty
) )
emptyModule.initialize(container.get<JavaDescriptorResolver>().packageFragmentProvider) emptyModule.initialize(container.get<JavaDescriptorResolver>().packageFragmentProvider)
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.load.java.structure.reflect.classId
import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava import org.jetbrains.kotlin.load.kotlin.DeserializationComponentsForJava
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
import org.jetbrains.kotlin.test.* import org.jetbrains.kotlin.test.*
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
import java.io.File import java.io.File
@@ -57,11 +57,10 @@ abstract class AbstractLocalClassProtoTest : TestCaseWithTmpdir() {
val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK, tmpdir) val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK, tmpdir)
val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
val moduleContext = TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(environment.project, configuration) val moduleContext = TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(environment.project, configuration)
val providerFactory = FileBasedDeclarationProviderFactory(moduleContext.storageManager, emptyList())
val container = createContainerForTopDownSingleModuleAnalyzerForJvm( val container = createContainerForTopDownSingleModuleAnalyzerForJvm(
moduleContext, CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(), moduleContext, CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(), DeclarationProviderFactory.EMPTY,
providerFactory, GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty
) )
moduleContext.initializeModuleContents(container.get<JavaDescriptorResolver>().packageFragmentProvider) moduleContext.initializeModuleContents(container.get<JavaDescriptorResolver>().packageFragmentProvider)
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -57,12 +57,9 @@ abstract class AbstractBuiltInsWithJDKMembersTest : KotlinTestWithEnvironment()
val jvmBuiltIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS) val jvmBuiltIns = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS)
val emptyModule = KotlinTestUtils.createEmptyModule("<empty>", JvmPlatform, jvmBuiltIns) val emptyModule = KotlinTestUtils.createEmptyModule("<empty>", JvmPlatform, jvmBuiltIns)
val moduleContext = ModuleContext(emptyModule, environment.project)
val providerFactory = FileBasedDeclarationProviderFactory(moduleContext.storageManager, emptyList())
val container = createContainerForTopDownSingleModuleAnalyzerForJvm( val container = createContainerForTopDownSingleModuleAnalyzerForJvm(
moduleContext, CliLightClassGenerationSupport.CliBindingTrace(), providerFactory, ModuleContext(emptyModule, environment.project), CliLightClassGenerationSupport.CliBindingTrace(),
GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty DeclarationProviderFactory.EMPTY, GlobalSearchScope.allScope(environment.project), PackagePartProvider.Empty
) )
emptyModule.initialize(container.get<JavaDescriptorResolver>().packageFragmentProvider) emptyModule.initialize(container.get<JavaDescriptorResolver>().packageFragmentProvider)