Minor code improvements
This commit is contained in:
+1
@@ -150,6 +150,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
new GlobalJavaResolverContext(
|
new GlobalJavaResolverContext(
|
||||||
storageManager,
|
storageManager,
|
||||||
new JavaClassFinder() {
|
new JavaClassFinder() {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public JavaClass findClass(@NotNull FqName fqName) {
|
public JavaClass findClass(@NotNull FqName fqName) {
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@ class LazyJavaAnnotationDescriptor(
|
|||||||
private val _allValueArguments = c.storageManager.createLazyValue {
|
private val _allValueArguments = c.storageManager.createLazyValue {
|
||||||
val constructors = getAnnotationClass().getConstructors()
|
val constructors = getAnnotationClass().getConstructors()
|
||||||
if (constructors.isEmpty())
|
if (constructors.isEmpty())
|
||||||
mapOf<ValueParameterDescriptor, CompileTimeConstant<out Any?>>()
|
mapOf<ValueParameterDescriptor, CompileTimeConstant<*>>()
|
||||||
else
|
else
|
||||||
constructors.first().getValueParameters().keysToMapExceptNulls {
|
constructors.first().getValueParameters().keysToMapExceptNulls {
|
||||||
vp -> getValueArgument(vp)
|
vp -> getValueArgument(vp)
|
||||||
|
|||||||
+1
@@ -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.sam.SingleAbstractMethodUtils
|
||||||
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPropertyDescriptorForObject
|
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPropertyDescriptorForObject
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.ClassDescriptorImpl
|
import org.jetbrains.jet.lang.descriptors.impl.ClassDescriptorImpl
|
||||||
|
import org.jetbrains.jet.utils.Printer
|
||||||
|
|
||||||
public abstract class LazyJavaMemberScope(
|
public abstract class LazyJavaMemberScope(
|
||||||
protected val c: LazyJavaResolverContextWithTypes,
|
protected val c: LazyJavaResolverContextWithTypes,
|
||||||
|
|||||||
+2
-14
@@ -40,26 +40,14 @@ trait TypeParameterResolver {
|
|||||||
fun resolveTypeParameter(javaTypeParameter: JavaTypeParameter): TypeParameterDescriptor?
|
fun resolveTypeParameter(javaTypeParameter: JavaTypeParameter): TypeParameterDescriptor?
|
||||||
}
|
}
|
||||||
|
|
||||||
class TypeParameterResolverImpl(
|
|
||||||
_typeParameters: Collection<LazyJavaTypeParameterDescriptor>,
|
|
||||||
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(
|
class LazyJavaTypeParameterResolver(
|
||||||
val c: LazyJavaResolverContextWithTypes,
|
val c: LazyJavaResolverContextWithTypes,
|
||||||
private val containingDeclaration: DeclarationDescriptor,
|
private val containingDeclaration: DeclarationDescriptor,
|
||||||
private val typeParameters: Set<JavaTypeParameter>
|
private val typeParameters: Set<JavaTypeParameter>
|
||||||
) : TypeParameterResolver {
|
) : TypeParameterResolver {
|
||||||
|
|
||||||
private val resolve: (JavaTypeParameter) -> TypeParameterDescriptor? = c.storageManager.createMemoizedFunctionWithNullableValues {
|
private val resolve = c.storageManager.createMemoizedFunctionWithNullableValues {
|
||||||
javaTypeParameter ->
|
(javaTypeParameter: JavaTypeParameter) ->
|
||||||
if (javaTypeParameter in typeParameters)
|
if (javaTypeParameter in typeParameters)
|
||||||
LazyJavaTypeParameterDescriptor(
|
LazyJavaTypeParameterDescriptor(
|
||||||
c.withTypes(this),
|
c.withTypes(this),
|
||||||
|
|||||||
+1
-1
@@ -145,7 +145,7 @@ class LazyJavaTypeResolver(
|
|||||||
private fun getConstructorTypeParameterSubstitute(): JetType {
|
private fun getConstructorTypeParameterSubstitute(): JetType {
|
||||||
// If a Java-constructor declares its own type parameters, we have no way of directly expressing them in Kotlin,
|
// 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
|
// so we replace thwm by intersections of their upper bounds
|
||||||
var supertypesJet = HashSet<JetType>()
|
val supertypesJet = HashSet<JetType>()
|
||||||
for (supertype in (classifier() as JavaTypeParameter).getUpperBounds()) {
|
for (supertype in (classifier() as JavaTypeParameter).getUpperBounds()) {
|
||||||
supertypesJet.add(transformJavaType(supertype, UPPER_BOUND.toAttributes()))
|
supertypesJet.add(transformJavaType(supertype, UPPER_BOUND.toAttributes()))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user