From aa1f6f225284ebe7ff3ccfb20266e4de04d3fb26 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 21 Jul 2015 15:41:57 +0200 Subject: [PATCH] code cleanup: core modules --- .../load/java/components/SamConversionResolver.kt | 2 +- .../kotlin/load/java/lazy/ModuleClassResolver.kt | 2 +- .../java/lazy/descriptors/LazyJavaPackageFragment.kt | 5 ++--- .../kotlin/load/java/lazy/descriptors/MemberIndex.kt | 2 +- .../org/jetbrains/kotlin/load/java/lazy/resolvers.kt | 4 ++-- .../load/java/lazy/types/LazyJavaTypeResolver.kt | 2 +- .../load/java/sources/JavaSourceElementFactory.kt | 4 ++-- .../kotlin/load/java/structure/JavaPackage.kt | 2 +- .../load/java/structure/annotationArguments.kt | 12 ++++++------ .../kotlin/load/kotlin/KotlinClassFinder.kt | 2 +- .../structure/reflect/ReflectJavaAnnotationOwner.kt | 2 +- .../reflect/ReflectJavaModifierListOwner.kt | 2 +- .../jetbrains/kotlin/descriptors/ModuleDescriptor.kt | 4 ++-- .../kotlin/descriptors/PackageFragmentDescriptor.kt | 2 +- .../kotlin/descriptors/PackageFragmentProvider.kt | 2 +- .../kotlin/descriptors/annotations/Annotations.kt | 4 ++-- .../kotlin/descriptors/impl/ModuleDescriptorImpl.kt | 3 +-- .../impl/PackageFragmentDescriptorImpl.kt | 2 +- .../org/jetbrains/kotlin/resolve/DescriptorUtils.kt | 2 +- .../resolve/calls/inference/ConstraintPosition.kt | 2 +- .../resolve/calls/inference/ConstraintSystem.kt | 2 +- .../calls/inference/ConstraintSystemStatus.kt | 2 +- .../kotlin/resolve/calls/inference/TypeBounds.kt | 2 +- .../org/jetbrains/kotlin/resolve/scopes/JetScope.kt | 4 ++-- .../resolve/scopes/StaticScopeForKotlinClass.kt | 8 ++++---- .../kotlin/resolve/scopes/SubstitutingScope.kt | 3 +-- .../org/jetbrains/kotlin/types/StarProjectionImpl.kt | 6 +++--- .../org/jetbrains/kotlin/types/TypeCapabilities.kt | 8 ++++---- .../types/error/MissingDependencyErrorClass.kt | 2 +- .../src/org/jetbrains/kotlin/types/flexibleTypes.kt | 8 ++++---- .../FlexibleTypeCapabilitiesDeserializer.kt | 2 +- .../deserialization/LocalClassResolver.kt | 2 +- .../DeserializedCallableMemberDescriptor.kt | 2 +- .../descriptors/DeserializedMemberScope.kt | 2 +- .../deserialization/findClassInModule.kt | 2 +- .../org/jetbrains/kotlin/storage/StorageManager.kt | 2 +- .../src/org/jetbrains/kotlin/storage/storage.kt | 8 ++++---- 37 files changed, 62 insertions(+), 65 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt index 94341984951..4a2a3528408 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/components/SamConversionResolver.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.types.JetType -public trait SamConversionResolver { +public interface SamConversionResolver { public companion object EMPTY : SamConversionResolver { override fun resolveSamAdapter(original: D) = null override fun resolveSamConstructor(name: Name, scope: JetScope) = null diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/ModuleClassResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/ModuleClassResolver.kt index 3d1653726aa..b0bdaee69ac 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/ModuleClassResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/ModuleClassResolver.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor import kotlin.properties.Delegates import javax.inject.Inject -public trait ModuleClassResolver { +public interface ModuleClassResolver { public fun resolveClass(javaClass: JavaClass): ClassDescriptor? } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageFragment.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageFragment.kt index 3d11ca55a4a..9f8214a2e52 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageFragment.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageFragment.kt @@ -16,16 +16,15 @@ package org.jetbrains.kotlin.load.java.lazy.descriptors +import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl import org.jetbrains.kotlin.load.java.lazy.LazyJavaResolverContext import org.jetbrains.kotlin.load.java.structure.JavaPackage -import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl -import kotlin.properties.Delegates class LazyJavaPackageFragment( private val c: LazyJavaResolverContext, private val jPackage: JavaPackage ) : PackageFragmentDescriptorImpl(c.module, jPackage.getFqName()) { - private val scope by Delegates.lazy { LazyPackageFragmentScopeForJavaPackage(c, jPackage, this) } + private val scope by lazy { LazyPackageFragmentScopeForJavaPackage(c, jPackage, this) } override fun getMemberScope() = scope diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt index ceae04997f0..61228b38bac 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.load.java.components.DescriptorResolverUtils import org.jetbrains.kotlin.utils.valuesToMap import java.util.HashSet -trait MemberIndex { +interface MemberIndex { fun findMethodsByName(name: Name): Collection fun getMethodNames(nameFilter: (Name) -> Boolean): Collection diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/resolvers.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/resolvers.kt index e177aaae1ac..8619e33b023 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/resolvers.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/resolvers.kt @@ -29,11 +29,11 @@ import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.utils.mapToIndex //TODO: (module refactoring) usages of this interface should be replaced by ModuleClassResolver -trait LazyJavaClassResolver { +interface LazyJavaClassResolver { fun resolveClass(javaClass: JavaClass): ClassDescriptor? } -trait TypeParameterResolver { +interface TypeParameterResolver { object EMPTY : TypeParameterResolver { override fun resolveTypeParameter(javaTypeParameter: JavaTypeParameter): TypeParameterDescriptor? = null } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/LazyJavaTypeResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/LazyJavaTypeResolver.kt index c53b66ebf50..aecfb969652 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/LazyJavaTypeResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/LazyJavaTypeResolver.kt @@ -347,7 +347,7 @@ class LazyJavaTypeResolver( } -trait JavaTypeAttributes { +interface JavaTypeAttributes { val howThisTypeIsUsed: TypeUsage val howThisTypeIsUsedAccordingToAnnotations: TypeUsage val isMarkedNotNull: Boolean diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/sources/JavaSourceElementFactory.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/sources/JavaSourceElementFactory.kt index 7a08d8c6b70..62f9b694930 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/sources/JavaSourceElementFactory.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/sources/JavaSourceElementFactory.kt @@ -19,10 +19,10 @@ package org.jetbrains.kotlin.load.java.sources import org.jetbrains.kotlin.load.java.structure.JavaElement import org.jetbrains.kotlin.descriptors.SourceElement -public trait JavaSourceElementFactory { +public interface JavaSourceElementFactory { public fun source(javaElement: JavaElement): JavaSourceElement } -public trait JavaSourceElement: SourceElement { +public interface JavaSourceElement: SourceElement { public val javaElement: JavaElement } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/JavaPackage.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/JavaPackage.kt index b6e2947babf..87f14f8c3b1 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/JavaPackage.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/JavaPackage.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.load.java.structure import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -public trait JavaPackage : JavaElement { +public interface JavaPackage : JavaElement { public fun getClasses(nameFilter: (Name) -> Boolean): Collection public fun getSubPackages(): Collection diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/annotationArguments.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/annotationArguments.kt index cc57a65d5ab..7db7bae7719 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/annotationArguments.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/structure/annotationArguments.kt @@ -18,26 +18,26 @@ package org.jetbrains.kotlin.load.java.structure import org.jetbrains.kotlin.name.Name -public trait JavaAnnotationArgument { +public interface JavaAnnotationArgument { public val name: Name? } -public trait JavaLiteralAnnotationArgument : JavaAnnotationArgument { +public interface JavaLiteralAnnotationArgument : JavaAnnotationArgument { public val value: Any? } -public trait JavaArrayAnnotationArgument : JavaAnnotationArgument { +public interface JavaArrayAnnotationArgument : JavaAnnotationArgument { public fun getElements(): List } -public trait JavaEnumValueAnnotationArgument : JavaAnnotationArgument { +public interface JavaEnumValueAnnotationArgument : JavaAnnotationArgument { public fun resolve(): JavaField? } -public trait JavaClassObjectAnnotationArgument : JavaAnnotationArgument { +public interface JavaClassObjectAnnotationArgument : JavaAnnotationArgument { public fun getReferencedType(): JavaType } -public trait JavaAnnotationAsAnnotationArgument : JavaAnnotationArgument { +public interface JavaAnnotationAsAnnotationArgument : JavaAnnotationArgument { public fun getAnnotation(): JavaAnnotation } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/KotlinClassFinder.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/KotlinClassFinder.kt index 7328a4f71f6..e333625e093 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/KotlinClassFinder.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/KotlinClassFinder.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.load.kotlin import org.jetbrains.kotlin.load.java.structure.JavaClass import org.jetbrains.kotlin.name.ClassId -public trait KotlinClassFinder { +public interface KotlinClassFinder { public fun findKotlinClass(classId: ClassId): KotlinJvmBinaryClass? public fun findKotlinClass(javaClass: JavaClass): KotlinJvmBinaryClass? diff --git a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaAnnotationOwner.kt b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaAnnotationOwner.kt index bfe01d7de74..8fe2d034f30 100644 --- a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaAnnotationOwner.kt +++ b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaAnnotationOwner.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.load.java.structure.JavaAnnotationOwner import org.jetbrains.kotlin.name.FqName import java.lang.reflect.AnnotatedElement -public trait ReflectJavaAnnotationOwner : JavaAnnotationOwner { +public interface ReflectJavaAnnotationOwner : JavaAnnotationOwner { val element: AnnotatedElement override fun getAnnotations() = getAnnotations(element.getDeclaredAnnotations()) diff --git a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaModifierListOwner.kt b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaModifierListOwner.kt index 7cd9431e5df..4974a43dc61 100644 --- a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaModifierListOwner.kt +++ b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/java/structure/reflect/ReflectJavaModifierListOwner.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.load.java.JavaVisibilities import org.jetbrains.kotlin.load.java.structure.JavaModifierListOwner import java.lang.reflect.Modifier -public trait ReflectJavaModifierListOwner : JavaModifierListOwner { +public interface ReflectJavaModifierListOwner : JavaModifierListOwner { /* protected // KT-3029 */ val modifiers: Int override fun isAbstract() = Modifier.isAbstract(modifiers) diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ModuleDescriptor.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ModuleDescriptor.kt index b41ac8300e1..df76d040f9a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ModuleDescriptor.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ModuleDescriptor.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap import org.jetbrains.kotlin.resolve.ImportPath import org.jetbrains.kotlin.types.TypeSubstitutor -public trait ModuleDescriptor : DeclarationDescriptor, ModuleParameters { +public interface ModuleDescriptor : DeclarationDescriptor, ModuleParameters { override fun getContainingDeclaration(): DeclarationDescriptor? = null public val builtIns: KotlinBuiltIns @@ -43,7 +43,7 @@ public trait ModuleDescriptor : DeclarationDescriptor, ModuleParameters { public fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection } -trait ModuleParameters { +interface ModuleParameters { public val defaultImports: List public val platformToKotlinClassMap: PlatformToKotlinClassMap diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentDescriptor.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentDescriptor.kt index 40f835762c6..774e9cfa20b 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentDescriptor.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentDescriptor.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.scopes.JetScope -public trait PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor { +public interface PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor { override fun getContainingDeclaration(): ModuleDescriptor diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt index d0a8fe007b3..224653dce92 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -public trait PackageFragmentProvider { +public interface PackageFragmentProvider { public fun getPackageFragments(fqName: FqName): List public fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/Annotations.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/Annotations.kt index 03a1cc364d5..21b50911beb 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/Annotations.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/annotations/Annotations.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors.annotations import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.DescriptorUtils -public trait Annotations : Iterable { +public interface Annotations : Iterable { public fun isEmpty(): Boolean @@ -54,7 +54,7 @@ class FilteredAnnotations( if (fqNameFilter(fqName)) delegate.findExternalAnnotation(fqName) else null - override fun iterator() = delegate.sequence() + override fun iterator() = delegate.asSequence() .filter { annotation -> val descriptor = annotation.getType().getConstructor().getDeclarationDescriptor() descriptor != null && DescriptorUtils.getFqName(descriptor).let { fqName -> diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt index d33fd496b39..280e80a497c 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt @@ -27,7 +27,6 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.utils.sure import java.util.LinkedHashSet -import kotlin.properties.Delegates public class ModuleDescriptorImpl( moduleName: Name, @@ -56,7 +55,7 @@ public class ModuleDescriptorImpl( return packageFragmentProvider.getSubPackagesOf(fqName, nameFilter) } - private val packageFragmentProviderForWholeModuleWithDependencies by Delegates.lazy { + private val packageFragmentProviderForWholeModuleWithDependencies by lazy { val moduleDependencies = dependencies.sure { "Dependencies of module $id were not set before querying module content" } val dependenciesDescriptors = moduleDependencies.descriptors assert(this in dependenciesDescriptors) { "Module ${id} is not contained in his own dependencies, this is probably a misconfiguration" } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PackageFragmentDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PackageFragmentDescriptorImpl.kt index f82f1c97c3b..1b9e5936b18 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PackageFragmentDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PackageFragmentDescriptorImpl.kt @@ -29,7 +29,7 @@ public abstract class PackageFragmentDescriptorImpl( override fun substitute(substitutor: TypeSubstitutor): DeclarationDescriptor? = this override fun accept(visitor: DeclarationDescriptorVisitor, data: D): R = - visitor.visitPackageFragmentDescriptor(this, data) as R + visitor.visitPackageFragmentDescriptor(this, data) override fun getContainingDeclaration(): ModuleDescriptor { return super.getContainingDeclaration() as ModuleDescriptor diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt index 047d2535957..f00fb31c0cd 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt @@ -82,7 +82,7 @@ public val DeclarationDescriptorWithVisibility.isEffectivelyPublicApi: Boolean var parent: DeclarationDescriptorWithVisibility? = this while (parent != null) { - if (!parent!!.getVisibility().isPublicAPI()) return false + if (!parent.getVisibility().isPublicAPI()) return false parent = DescriptorUtils.getParentOfType(parent, javaClass()) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintPosition.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintPosition.kt index 3c454600843..17184747378 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintPosition.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintPosition.kt @@ -39,7 +39,7 @@ public enum class ConstraintPositionKind { } } -public trait ConstraintPosition { +public interface ConstraintPosition { val kind: ConstraintPositionKind fun isStrong(): Boolean = kind != TYPE_BOUND_POSITION diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystem.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystem.kt index 1a0071ed007..3499c16000b 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystem.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystem.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.TypeSubstitutor import org.jetbrains.kotlin.types.Variance -public trait ConstraintSystem { +public interface ConstraintSystem { /** * Registers variables in a constraint system. diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemStatus.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemStatus.kt index 2234da09b49..1e52f56963c 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemStatus.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemStatus.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.resolve.calls.inference import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind -public trait ConstraintSystemStatus { +public interface ConstraintSystemStatus { /** * Returns true if constraint system has a solution (has no contradiction and has enough information to infer each registered type variable). */ diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/TypeBounds.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/TypeBounds.kt index 947cc001d9b..4b4963a6eb5 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/TypeBounds.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/TypeBounds.kt @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.Constrain import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.Variance -public trait TypeBounds { +public interface TypeBounds { public val varianceOfPosition: Variance public val typeVariable: TypeParameterDescriptor diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt index 92bfceafb2c..7f5586fb953 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/JetScope.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.toReadOnlyList import java.lang.reflect.Modifier -public trait JetScope { +public interface JetScope { public fun getClassifier(name: Name): ClassifierDescriptor? @@ -201,7 +201,7 @@ public class DescriptorKindFilter( } } -public trait DescriptorKindExclude { +public interface DescriptorKindExclude { public fun excludes(descriptor: DeclarationDescriptor): Boolean public val fullyExcludedDescriptorKinds: Int diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt index cfe0ea28415..579019ce433 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/StaticScopeForKotlinClass.kt @@ -16,21 +16,21 @@ package org.jetbrains.kotlin.resolve.scopes -import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.ClassKind +import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.DescriptorFactory.createEnumValueOfMethod import org.jetbrains.kotlin.resolve.DescriptorFactory.createEnumValuesMethod -import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.utils.Printer import java.util.ArrayList -import kotlin.properties.Delegates public class StaticScopeForKotlinClass( private val containingClass: ClassDescriptor ) : JetScopeImpl() { override fun getClassifier(name: Name) = null // TODO - private val functions: List by Delegates.lazy { + private val functions: List by lazy { if (containingClass.getKind() != ClassKind.ENUM_CLASS) { listOf() } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt index 25d9e79d4bb..91a2a362ea4 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/SubstitutingScope.kt @@ -25,13 +25,12 @@ import org.jetbrains.kotlin.types.TypeSubstitutor import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.newHashSetWithExpectedSize import java.util.HashMap -import kotlin.properties.Delegates public class SubstitutingScope(private val workerScope: JetScope, private val substitutor: TypeSubstitutor) : JetScope { private var substitutedDescriptors: MutableMap? = null - private val _allDescriptors by Delegates.lazy { substitute(workerScope.getDescriptors()) } + private val _allDescriptors by lazy { substitute(workerScope.getDescriptors()) } private fun substitute(descriptor: D?): D? { if (descriptor == null) return null diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/StarProjectionImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/types/StarProjectionImpl.kt index 7745bc2ff6d..e76ac3eac5f 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/StarProjectionImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/StarProjectionImpl.kt @@ -16,8 +16,8 @@ package org.jetbrains.kotlin.types -import kotlin.properties.* -import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor class StarProjectionImpl( private val typeParameter: TypeParameterDescriptor @@ -27,7 +27,7 @@ class StarProjectionImpl( override fun getProjectionKind() = Variance.OUT_VARIANCE // No synchronization here: there's no problem in accidentally computing this twice - private val _type: JetType by Delegates.lazy { + private val _type: JetType by lazy { typeParameter.starProjectionType() } diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/TypeCapabilities.kt b/core/descriptors/src/org/jetbrains/kotlin/types/TypeCapabilities.kt index 576dc9b930f..c3f53f4bfd4 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/TypeCapabilities.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/TypeCapabilities.kt @@ -18,9 +18,9 @@ package org.jetbrains.kotlin.types import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor -public trait TypeCapability +public interface TypeCapability -public trait Specificity : TypeCapability { +public interface Specificity : TypeCapability { public enum class Relation { LESS_SPECIFIC, @@ -40,7 +40,7 @@ fun oneMoreSpecificThanAnother(a: JetType, b: JetType) = // To facilitate laziness, any JetType implementation may inherit from this trait, // even if it turns out that the type an instance represents is not actually a type variable // (i.e. it is not derived from a type parameter), see isTypeVariable -public trait CustomTypeVariable : TypeCapability { +public interface CustomTypeVariable : TypeCapability { public val isTypeVariable: Boolean // If typeParameterDescriptor != null <=> isTypeVariable == true, this is not a type variable @@ -56,7 +56,7 @@ public fun JetType.getCustomTypeVariable(): CustomTypeVariable? = if (it.isTypeVariable) it else null } -public trait SubtypingRepresentatives : TypeCapability { +public interface SubtypingRepresentatives : TypeCapability { public val subTypeRepresentative: JetType public val superTypeRepresentative: JetType diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/error/MissingDependencyErrorClass.kt b/core/descriptors/src/org/jetbrains/kotlin/types/error/MissingDependencyErrorClass.kt index a25eacf8931..221d0c19c27 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/error/MissingDependencyErrorClass.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/error/MissingDependencyErrorClass.kt @@ -19,6 +19,6 @@ package org.jetbrains.kotlin.types.error import org.jetbrains.kotlin.name.FqName // marker for DescriptorRenderer to treat specially in decompiler mode -public trait MissingDependencyErrorClass { +public interface MissingDependencyErrorClass { public val fullFqName: FqName } diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/flexibleTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/types/flexibleTypes.kt index 28834dd1aa8..32f1d30662b 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/flexibleTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/flexibleTypes.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.types.checker.JetTypeChecker import kotlin.platform.platformStatic -public trait FlexibleTypeCapabilities { +public interface FlexibleTypeCapabilities { fun getCapability(capabilityClass: Class, jetType: JetType, flexibility: Flexibility): T? val id: String @@ -31,7 +31,7 @@ public trait FlexibleTypeCapabilities { } } -public trait Flexibility : TypeCapability, SubtypingRepresentatives { +public interface Flexibility : TypeCapability, SubtypingRepresentatives { companion object { // This is a "magic" classifier: when type resolver sees it in the code, e.g. ft, instead of creating a normal type, // it creates a flexible type, e.g. (Foo..Foo?). @@ -100,12 +100,12 @@ fun Collection.singleBestRepresentative(): TypeProjection? { public fun JetType.lowerIfFlexible(): JetType = if (this.isFlexible()) this.flexibility().lowerBound else this public fun JetType.upperIfFlexible(): JetType = if (this.isFlexible()) this.flexibility().upperBound else this -public trait NullAwareness : TypeCapability { +public interface NullAwareness : TypeCapability { public fun makeNullableAsSpecified(nullable: Boolean): JetType public fun computeIsNullable(): Boolean } -trait FlexibleTypeDelegation : TypeCapability { +interface FlexibleTypeDelegation : TypeCapability { public val delegateType: JetType } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/FlexibleTypeCapabilitiesDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/FlexibleTypeCapabilitiesDeserializer.kt index fa4a143326e..69e0e9546be 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/FlexibleTypeCapabilitiesDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/FlexibleTypeCapabilitiesDeserializer.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.serialization.deserialization import org.jetbrains.kotlin.types.DynamicTypeCapabilities import org.jetbrains.kotlin.types.FlexibleTypeCapabilities -trait FlexibleTypeCapabilitiesDeserializer { +interface FlexibleTypeCapabilitiesDeserializer { object ThrowException : FlexibleTypeCapabilitiesDeserializer { override fun capabilitiesById(id: String): FlexibleTypeCapabilities? { throw IllegalArgumentException("Capabilities not found by ThrowException manager: $id") diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/LocalClassResolver.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/LocalClassResolver.kt index afbe1fa5021..a30c48b0f85 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/LocalClassResolver.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/LocalClassResolver.kt @@ -19,6 +19,6 @@ package org.jetbrains.kotlin.serialization.deserialization import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.name.ClassId -public trait LocalClassResolver { +public interface LocalClassResolver { public fun resolveLocalClass(classId: ClassId): ClassDescriptor? } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedCallableMemberDescriptor.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedCallableMemberDescriptor.kt index 2d5b1b6dee1..ad2f2ff113a 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedCallableMemberDescriptor.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedCallableMemberDescriptor.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.NameResolver import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor -public trait DeserializedCallableMemberDescriptor: CallableMemberDescriptor { +public interface DeserializedCallableMemberDescriptor: CallableMemberDescriptor { public val proto: ProtoBuf.Callable public val nameResolver: NameResolver } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt index f2cc98fdb0c..e97a42ec83d 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt @@ -69,7 +69,7 @@ public abstract class DeserializedMemberScope protected constructor( protos = ArrayList(1) map.put(key, protos) } - protos!!.add(memberProto) + protos.add(memberProto) } return map } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/findClassInModule.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/findClassInModule.kt index 782aa49aabc..3d4da896cbe 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/findClassInModule.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/findClassInModule.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.name.ClassId public fun ModuleDescriptor.findClassAcrossModuleDependencies(classId: ClassId): ClassDescriptor? { - val packageViewDescriptor = getPackage(classId.getPackageFqName()) ?: return null + val packageViewDescriptor = getPackage(classId.getPackageFqName()) val segments = classId.getRelativeClassName().pathSegments() val topLevelClass = packageViewDescriptor.memberScope.getClassifier(segments.first()) as? ClassDescriptor ?: return null var result = topLevelClass diff --git a/core/util.runtime/src/org/jetbrains/kotlin/storage/StorageManager.kt b/core/util.runtime/src/org/jetbrains/kotlin/storage/StorageManager.kt index 5bfaf29d543..9fed2534551 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/storage/StorageManager.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/storage/StorageManager.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.storage import java.util.concurrent.ConcurrentMap -public trait StorageManager { +public interface StorageManager { /** * Given a function compute: K -> V create a memoized version of it that computes a value only once for each key * @param compute the function to be memoized diff --git a/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt b/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt index df12a52d943..00baa01cc5a 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/storage/storage.kt @@ -16,19 +16,19 @@ package org.jetbrains.kotlin.storage -public trait MemoizedFunctionToNotNull : Function1 { +public interface MemoizedFunctionToNotNull : Function1 { public fun isComputed(key: P): Boolean } -public trait MemoizedFunctionToNullable : Function1 { +public interface MemoizedFunctionToNullable : Function1 { public fun isComputed(key: P): Boolean } -public trait NotNullLazyValue : Function0 { +public interface NotNullLazyValue : Function0 { public fun isComputed(): Boolean } -public trait NullableLazyValue : Function0 { +public interface NullableLazyValue : Function0 { public fun isComputed(): Boolean }