From 81069cd2131efc91492e80b7d6544308a7f31c86 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 14 Nov 2013 17:29:55 +0400 Subject: [PATCH] Minor code improvements --- .../resolve/java/JavaDescriptorResolver.java | 1 + .../descriptors/LazyJavaAnnotationDescriptor.kt | 2 +- .../java/lazy/descriptors/LazyJavaMemberScope.kt | 1 + .../jet/lang/resolve/java/lazy/resolvers.kt | 16 ++-------------- .../java/lazy/types/LazyJavaTypeResolver.kt | 2 +- 5 files changed, 6 insertions(+), 16 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index fdc2031765c..811b520566c 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -150,6 +150,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes new GlobalJavaResolverContext( storageManager, new JavaClassFinder() { + @Nullable @Override public JavaClass findClass(@NotNull FqName fqName) { diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt index 21af629c63a..133d90b1bfd 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt @@ -80,7 +80,7 @@ class LazyJavaAnnotationDescriptor( private val _allValueArguments = c.storageManager.createLazyValue { val constructors = getAnnotationClass().getConstructors() if (constructors.isEmpty()) - mapOf>() + mapOf>() else constructors.first().getValueParameters().keysToMapExceptNulls { vp -> getValueArgument(vp) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt index 426a3a35ea7..48a5ec9f85b 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt @@ -43,6 +43,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.ExternalSignatureResolver import org.jetbrains.jet.lang.resolve.java.sam.SingleAbstractMethodUtils import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPropertyDescriptorForObject import org.jetbrains.jet.lang.descriptors.impl.ClassDescriptorImpl +import org.jetbrains.jet.utils.Printer public abstract class LazyJavaMemberScope( protected val c: LazyJavaResolverContextWithTypes, diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/resolvers.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/resolvers.kt index 3aa4fb30760..13653d282c0 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/resolvers.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/resolvers.kt @@ -40,26 +40,14 @@ trait TypeParameterResolver { fun resolveTypeParameter(javaTypeParameter: JavaTypeParameter): TypeParameterDescriptor? } -class TypeParameterResolverImpl( - _typeParameters: Collection, - private val parent: TypeParameterResolver = TypeParameterResolver.EMPTY -) : TypeParameterResolver { - - private val parameters = _typeParameters.valuesToMap { p -> p.javaTypeParameter } - - override fun resolveTypeParameter(javaTypeParameter: JavaTypeParameter): TypeParameterDescriptor? { - return parameters[javaTypeParameter] ?: parent.resolveTypeParameter(javaTypeParameter) - } -} - class LazyJavaTypeParameterResolver( val c: LazyJavaResolverContextWithTypes, private val containingDeclaration: DeclarationDescriptor, private val typeParameters: Set ) : TypeParameterResolver { - private val resolve: (JavaTypeParameter) -> TypeParameterDescriptor? = c.storageManager.createMemoizedFunctionWithNullableValues { - javaTypeParameter -> + private val resolve = c.storageManager.createMemoizedFunctionWithNullableValues { + (javaTypeParameter: JavaTypeParameter) -> if (javaTypeParameter in typeParameters) LazyJavaTypeParameterDescriptor( c.withTypes(this), diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt index 5f5b421602b..408ee3f40d9 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt @@ -145,7 +145,7 @@ class LazyJavaTypeResolver( private fun getConstructorTypeParameterSubstitute(): JetType { // If a Java-constructor declares its own type parameters, we have no way of directly expressing them in Kotlin, // so we replace thwm by intersections of their upper bounds - var supertypesJet = HashSet() + val supertypesJet = HashSet() for (supertype in (classifier() as JavaTypeParameter).getUpperBounds()) { supertypesJet.add(transformJavaType(supertype, UPPER_BOUND.toAttributes())) }