From 9ecd680fd4fd30fc815b6b9e46720e33a061e300 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 26 Mar 2014 00:41:54 +0400 Subject: [PATCH] Rewritten PackageFragmentDescriptor to Kotlin. --- .../src/ClassSerializationUtil.kt | 2 +- .../jvm/compiler/CliSourcesMemberFilter.kt | 2 +- .../java/resolver/LazyResolveBasedCache.kt | 2 +- .../lazy/descriptors/LazyJavaMemberScope.kt | 2 +- .../descriptors/LazyJavaPackageFragment.kt | 2 +- ...ptor.java => PackageFragmentDescriptor.kt} | 21 +++++++------------ .../PackageFragmentDescriptorImpl.kt | 6 ++---- 7 files changed, 15 insertions(+), 22 deletions(-) rename core/descriptors/src/org/jetbrains/jet/lang/descriptors/{PackageFragmentDescriptor.java => PackageFragmentDescriptor.kt} (54%) diff --git a/compiler/builtins-serializer/src/ClassSerializationUtil.kt b/compiler/builtins-serializer/src/ClassSerializationUtil.kt index 276c8210c71..e3433d5dfc4 100644 --- a/compiler/builtins-serializer/src/ClassSerializationUtil.kt +++ b/compiler/builtins-serializer/src/ClassSerializationUtil.kt @@ -52,7 +52,7 @@ public object ClassSerializationUtil { public fun getClassId(classDescriptor: ClassDescriptor): ClassId { val owner = classDescriptor.getContainingDeclaration() if (owner is PackageFragmentDescriptor) { - return ClassId(owner.getFqName(), FqNameUnsafe.topLevel(classDescriptor.getName())) + return ClassId(owner.fqName, FqNameUnsafe.topLevel(classDescriptor.getName())) } return getClassId(owner as ClassDescriptor).createNestedClassId(classDescriptor.getName()) } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt index aeb6e010df0..64f10d1a804 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt @@ -30,7 +30,7 @@ public class CliSourcesMemberFilter(environment: JetCoreEnvironment): MemberFilt override fun acceptPackagePartClass(container: PackageFragmentDescriptor, member: ProtoBuf.Callable, nameResolver: NameResolver): Boolean { if (member.hasExtension(JavaProtoBuf.implClassName)) { val shortName = nameResolver.getName(member.getExtension(JavaProtoBuf.implClassName)!!) - val fqName = container.getFqName().child(shortName) + val fqName = container.fqName.child(shortName) val internalName = JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName() return internalName !in packagePartClassNames } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/LazyResolveBasedCache.kt b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/LazyResolveBasedCache.kt index 7a78f8c0595..4a604886f2f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/LazyResolveBasedCache.kt +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/LazyResolveBasedCache.kt @@ -58,7 +58,7 @@ public class LazyResolveBasedCache() : JavaResolverCache { return resolveSession.findInPackageFragments(fqName) { packageFragmentDescriptor -> ResolveSessionUtils.findByQualifiedName( packageFragmentDescriptor.getMemberScope(), - fqName.tail(packageFragmentDescriptor.getFqName())) + fqName.tail(packageFragmentDescriptor.fqName)) } } 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 70e37bca0be..81252aec1ea 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 @@ -77,7 +77,7 @@ public abstract class LazyJavaMemberScope( }.toList()) if (_containingDeclaration is JavaPackageFragmentDescriptor) { - val klass = c.javaClassResolver.resolveClassByFqName(_containingDeclaration.getFqName().child(name)) + val klass = c.javaClassResolver.resolveClassByFqName(_containingDeclaration.fqName.child(name)) if (klass is LazyJavaClassDescriptor && klass.getFunctionTypeForSamInterface() != null) { functions.add(SingleAbstractMethodUtils.createSamConstructorFunction(_containingDeclaration, klass)) } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragment.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragment.kt index 8bd6b118737..c0ce7ff8d73 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragment.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaPackageFragment.kt @@ -54,5 +54,5 @@ abstract class LazyJavaPackageFragment( private val _memberScope = createMemberScope() override fun getMemberScope(): LazyJavaPackageFragmentScope = _memberScope - override fun toString() = "lazy java package fragment: " + getFqName() + override fun toString() = "lazy java package fragment: " + fqName } \ No newline at end of file diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.kt similarity index 54% rename from core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.java rename to core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.kt index 2f8e77ef63b..3d4d9a6ce1f 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptor.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2013 JetBrains s.r.o. + * Copyright 2010-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,21 +14,16 @@ * limitations under the License. */ -package org.jetbrains.jet.lang.descriptors; +package org.jetbrains.jet.lang.descriptors -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.lang.resolve.scopes.JetScope; +import org.jetbrains.jet.lang.resolve.name.FqName +import org.jetbrains.jet.lang.resolve.scopes.JetScope -public interface PackageFragmentDescriptor extends ClassOrPackageFragmentDescriptor { +public trait PackageFragmentDescriptor : ClassOrPackageFragmentDescriptor { - @NotNull - @Override - ModuleDescriptor getContainingDeclaration(); + override fun getContainingDeclaration(): ModuleDescriptor - @NotNull - FqName getFqName(); + val fqName: FqName - @NotNull - JetScope getMemberScope(); + fun getMemberScope(): JetScope } diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptorImpl.kt index a273f87e6ce..cf540557e2a 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/PackageFragmentDescriptorImpl.kt @@ -23,8 +23,8 @@ import org.jetbrains.jet.lang.types.TypeSubstitutor public abstract class PackageFragmentDescriptorImpl( module: ModuleDescriptor, - val _fqName: FqName -) : DeclarationDescriptorNonRootImpl(module, Annotations.EMPTY, _fqName.shortNameOrSpecial()), PackageFragmentDescriptor { + override val fqName: FqName +) : DeclarationDescriptorNonRootImpl(module, Annotations.EMPTY, fqName.shortNameOrSpecial()), PackageFragmentDescriptor { override fun substitute(substitutor: TypeSubstitutor): DeclarationDescriptor? = this override fun accept(visitor: DeclarationDescriptorVisitor, data: D): R = @@ -33,6 +33,4 @@ public abstract class PackageFragmentDescriptorImpl( override fun getContainingDeclaration(): ModuleDescriptor { return super.getContainingDeclaration() as ModuleDescriptor } - - override fun getFqName(): FqName = _fqName }