From ea9f1b564927c21bd6e51f8831f2e6919701acd3 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 9 Mar 2016 18:52:33 +0300 Subject: [PATCH] Minor. Pull up method --- .../AbstractLazyTypeParameterDescriptor.java | 60 ------------------- .../impl/AbstractTypeParameterDescriptor.java | 58 ++++++++++++++++-- 2 files changed, 53 insertions(+), 65 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractLazyTypeParameterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractLazyTypeParameterDescriptor.java index fd78fec339a..53a6ca34b71 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractLazyTypeParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractLazyTypeParameterDescriptor.java @@ -17,23 +17,13 @@ package org.jetbrains.kotlin.descriptors.impl; import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.builtins.KotlinBuiltIns; -import org.jetbrains.kotlin.descriptors.ClassifierDescriptor; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.descriptors.SourceElement; -import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; -import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.storage.StorageManager; -import org.jetbrains.kotlin.types.KotlinType; -import org.jetbrains.kotlin.types.TypeConstructor; import org.jetbrains.kotlin.types.Variance; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - public abstract class AbstractLazyTypeParameterDescriptor extends AbstractTypeParameterDescriptor { public AbstractLazyTypeParameterDescriptor( @NotNull StorageManager storageManager, @@ -47,56 +37,6 @@ public abstract class AbstractLazyTypeParameterDescriptor extends AbstractTypePa super(storageManager, containingDeclaration, Annotations.Companion.getEMPTY() /* TODO */, name, variance, isReified, index, source); } - @NotNull - @Override - protected TypeConstructor createTypeConstructor() { - return new TypeConstructor() { - @NotNull - @Override - public Collection getSupertypes() { - return AbstractLazyTypeParameterDescriptor.this.getUpperBounds(); - } - - @NotNull - @Override - public List getParameters() { - return Collections.emptyList(); - } - - @Override - public boolean isFinal() { - return false; - } - - @Override - public boolean isDenotable() { - return true; - } - - @Override - public ClassifierDescriptor getDeclarationDescriptor() { - return AbstractLazyTypeParameterDescriptor.this; - } - - @NotNull - @Override - public Annotations getAnnotations() { - return AbstractLazyTypeParameterDescriptor.this.getAnnotations(); - } - - @NotNull - @Override - public KotlinBuiltIns getBuiltIns() { - return DescriptorUtilsKt.getBuiltIns(AbstractLazyTypeParameterDescriptor.this); - } - - @Override - public String toString() { - return getName().toString(); - } - }; - } - @Override public String toString() { // Not using descriptor renderer to preserve laziness diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractTypeParameterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractTypeParameterDescriptor.java index c9f356c581a..84a5cc7649d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractTypeParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractTypeParameterDescriptor.java @@ -20,9 +20,11 @@ import kotlin.Unit; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; +import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter; import org.jetbrains.kotlin.resolve.scopes.MemberScope; import org.jetbrains.kotlin.resolve.scopes.TypeIntersectionScope; @@ -30,11 +32,10 @@ import org.jetbrains.kotlin.storage.NotNullLazyValue; import org.jetbrains.kotlin.storage.StorageManager; import org.jetbrains.kotlin.types.*; +import java.util.Collection; import java.util.Collections; import java.util.List; -import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getBuiltIns; - public abstract class AbstractTypeParameterDescriptor extends DeclarationDescriptorNonRootImpl implements TypeParameterDescriptor { public static final List FALLBACK_UPPER_BOUNDS_ON_RECURSION = Collections.singletonList(ErrorUtils.createErrorType("Recursion while calculating upper bounds")); @@ -132,6 +133,56 @@ public abstract class AbstractTypeParameterDescriptor extends DeclarationDescrip }); } + @NotNull + protected TypeConstructor createTypeConstructor() { + return new TypeConstructor() { + @NotNull + @Override + public Collection getSupertypes() { + return AbstractTypeParameterDescriptor.this.getUpperBounds(); + } + + @NotNull + @Override + public List getParameters() { + return Collections.emptyList(); + } + + @Override + public boolean isFinal() { + return false; + } + + @Override + public boolean isDenotable() { + return true; + } + + @Override + public ClassifierDescriptor getDeclarationDescriptor() { + return AbstractTypeParameterDescriptor.this; + } + + @NotNull + @Override + public Annotations getAnnotations() { + return AbstractTypeParameterDescriptor.this.getAnnotations(); + } + + @NotNull + @Override + public KotlinBuiltIns getBuiltIns() { + return DescriptorUtilsKt.getBuiltIns(AbstractTypeParameterDescriptor.this); + } + + @Override + public String toString() { + return getName().toString(); + } + }; + } + + @NotNull protected abstract SupertypeLoopChecker getSupertypeLoopChecker(); protected abstract void reportCycleError(@NotNull KotlinType type); @@ -139,9 +190,6 @@ public abstract class AbstractTypeParameterDescriptor extends DeclarationDescrip @NotNull protected abstract List resolveUpperBounds(); - @NotNull - protected abstract TypeConstructor createTypeConstructor(); - @NotNull @Override public Variance getVariance() {