Inject reflectionTypes into LazyJavaResolverContext

This commit is contained in:
Denis Zharkov
2015-04-08 18:42:26 +03:00
parent 07a4e8a405
commit 0abc63261d
6 changed files with 18 additions and 10 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.load.java.lazy
import org.jetbrains.kotlin.builtins.ReflectionTypes
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.storage.MemoizedFunctionToNullable
import org.jetbrains.kotlin.name.FqName
@@ -28,10 +29,12 @@ import org.jetbrains.kotlin.utils.emptyOrSingletonList
public class LazyJavaPackageFragmentProvider(
outerContext: GlobalJavaResolverContext,
module: ModuleDescriptor
module: ModuleDescriptor,
reflectionTypes: ReflectionTypes
) : PackageFragmentProvider {
private val c = LazyJavaResolverContext(outerContext, this, FragmentClassResolver(), module, TypeParameterResolver.EMPTY)
private val c =
LazyJavaResolverContext(outerContext, this, FragmentClassResolver(), module, reflectionTypes, TypeParameterResolver.EMPTY)
private val packageFragments: MemoizedFunctionToNullable<FqName, LazyJavaPackageFragment> =
c.storageManager.createMemoizedFunctionWithNullableValues {
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.load.java.lazy
import org.jetbrains.kotlin.builtins.ReflectionTypes
import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.load.java.lazy.types.LazyJavaTypeResolver
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
@@ -50,6 +51,7 @@ open class LazyJavaResolverContext(
val packageFragmentProvider: LazyJavaPackageFragmentProvider,
val javaClassResolver: LazyJavaClassResolver,
val module: ModuleDescriptor,
val reflectionTypes: ReflectionTypes,
val typeParameterResolver: TypeParameterResolver
) : GlobalJavaResolverContext(
globalContext.storageManager,
@@ -71,7 +73,7 @@ open class LazyJavaResolverContext(
fun LazyJavaResolverContext.child(
typeParameterResolver: TypeParameterResolver
) = LazyJavaResolverContext(this, packageFragmentProvider, javaClassResolver, module, typeParameterResolver)
) = LazyJavaResolverContext(this, packageFragmentProvider, javaClassResolver, module, reflectionTypes, typeParameterResolver)
fun LazyJavaResolverContext.child(