Look packages up through JavaDescriptorResolver
This commit is contained in:
+3
-1
@@ -23,6 +23,7 @@ import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.ImportPath;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolver;
|
||||
@@ -178,7 +179,8 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
||||
externalSignatureResolver,
|
||||
errorReporter,
|
||||
signatureChecker,
|
||||
javaResolverCache
|
||||
javaResolverCache,
|
||||
this
|
||||
),
|
||||
module
|
||||
);
|
||||
|
||||
+2
-1
@@ -24,7 +24,8 @@ public open class LazyJavaSubModule(
|
||||
outerContext.externalSignatureResolver,
|
||||
outerContext.errorReporter,
|
||||
outerContext.methodSignatureChecker,
|
||||
outerContext.javaResolverCache
|
||||
outerContext.javaResolverCache,
|
||||
outerContext.javaDescriptorResolver
|
||||
)
|
||||
|
||||
private val _packageFragments: MemoizedFunctionToNullable<FqName, NamespaceDescriptor> = c.storageManager.createMemoizedFunctionWithNullableValues {
|
||||
|
||||
+11
-4
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.ExternalSignatureResolver
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.MethodSignatureChecker
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaResolverCache
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
|
||||
|
||||
open class GlobalJavaResolverContext(
|
||||
val storageManager: StorageManager,
|
||||
@@ -35,7 +36,8 @@ open class GlobalJavaResolverContext(
|
||||
val externalSignatureResolver: ExternalSignatureResolver,
|
||||
val errorReporter: ErrorReporter,
|
||||
val methodSignatureChecker: MethodSignatureChecker,
|
||||
val javaResolverCache: JavaResolverCache
|
||||
val javaResolverCache: JavaResolverCache,
|
||||
val javaDescriptorResolver: JavaDescriptorResolver
|
||||
)
|
||||
|
||||
open class LazyJavaResolverContext(
|
||||
@@ -47,10 +49,12 @@ open class LazyJavaResolverContext(
|
||||
externalSignatureResolver: ExternalSignatureResolver,
|
||||
errorReporter: ErrorReporter,
|
||||
methodSignatureChecker: MethodSignatureChecker,
|
||||
javaResolverCache: JavaResolverCache
|
||||
javaResolverCache: JavaResolverCache,
|
||||
javaDescriptorResolver: JavaDescriptorResolver
|
||||
) : GlobalJavaResolverContext(storageManager, finder, javaClassResolver,
|
||||
externalAnnotationResolver, externalSignatureResolver,
|
||||
errorReporter, methodSignatureChecker, javaResolverCache)
|
||||
errorReporter, methodSignatureChecker, javaResolverCache,
|
||||
javaDescriptorResolver)
|
||||
|
||||
fun LazyJavaResolverContext.withTypes(
|
||||
typeParameterResolver: TypeParameterResolver = TypeParameterResolver.EMPTY
|
||||
@@ -64,6 +68,7 @@ fun LazyJavaResolverContext.withTypes(
|
||||
errorReporter,
|
||||
methodSignatureChecker,
|
||||
javaResolverCache,
|
||||
javaDescriptorResolver,
|
||||
LazyJavaTypeResolver(this, typeParameterResolver),
|
||||
typeParameterResolver)
|
||||
|
||||
@@ -77,11 +82,13 @@ class LazyJavaResolverContextWithTypes(
|
||||
errorReporter: ErrorReporter,
|
||||
methodSignatureChecker: MethodSignatureChecker,
|
||||
javaResolverCache: JavaResolverCache,
|
||||
javaDescriptorResolver: JavaDescriptorResolver,
|
||||
val typeResolver: LazyJavaTypeResolver,
|
||||
val typeParameterResolver: TypeParameterResolver
|
||||
) : LazyJavaResolverContext(subModule, storageManager, finder, javaClassResolver,
|
||||
externalAnnotationResolver, externalSignatureResolver,
|
||||
errorReporter, methodSignatureChecker, javaResolverCache)
|
||||
errorReporter, methodSignatureChecker, javaResolverCache,
|
||||
javaDescriptorResolver)
|
||||
|
||||
fun LazyJavaResolverContextWithTypes.child(
|
||||
containingDeclaration: DeclarationDescriptor,
|
||||
|
||||
+5
-2
@@ -13,6 +13,7 @@ import org.jetbrains.jet.utils.flatten
|
||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaClass
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver
|
||||
import org.jetbrains.kotlin.util.inn
|
||||
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule
|
||||
|
||||
public abstract class LazyJavaPackageFragmentScope(
|
||||
c: LazyJavaResolverContext,
|
||||
@@ -46,7 +47,7 @@ public abstract class LazyJavaPackageFragmentScope(
|
||||
|
||||
override fun getClassifier(name: Name): ClassifierDescriptor? = classes(name)
|
||||
|
||||
override fun getNamespace(name: Name): NamespaceDescriptor? = c.subModule.getPackageFragment(getContainingDeclaration().getFqName().child(name))
|
||||
override fun getNamespace(name: Name): NamespaceDescriptor? = c.javaDescriptorResolver.resolveNamespace(getContainingDeclaration().getFqName().child(name), DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES)
|
||||
|
||||
override fun getImplicitReceiversHierarchy(): List<ReceiverParameterDescriptor> = listOf()
|
||||
|
||||
@@ -62,7 +63,9 @@ public class LazyPackageFragmentScopeForJavaPackage(
|
||||
override fun computeMemberIndex(): MemberIndex = computeMemberIndexForSamConstructors(EMPTY_MEMBER_INDEX)
|
||||
|
||||
override fun getAllClassNames(): Collection<Name> {
|
||||
return jPackage.getClasses().map { c -> c.getName() }
|
||||
return jPackage.getClasses().iterator()
|
||||
.filter { c -> c.getOriginKind() != JavaClass.OriginKind.KOTLIN_LIGHT_CLASS }
|
||||
.map { c -> c.getName() }.toList()
|
||||
}
|
||||
|
||||
override fun getAllPackageNames(): Collection<Name> =
|
||||
|
||||
Reference in New Issue
Block a user