From 377f7528378a7c2e92ca4f167d73e427b64f11e2 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Fri, 4 Sep 2015 21:37:09 +0300 Subject: [PATCH] Minor. Moved deserialized util functions from top-level to object --- .../deserialization/MemberDeserializer.kt | 20 ++--- .../deserialization/TypeDeserializer.kt | 2 +- .../DeserializedClassDescriptor.kt | 8 +- .../DeserializedSimpleFunctionDescriptor.java | 3 +- .../DeserializedTypeParameterDescriptor.java | 3 +- .../deserialization/protoEnumMapping.kt | 86 ++++++++++--------- .../jps/incremental/IncrementalCacheImpl.kt | 4 +- 7 files changed, 68 insertions(+), 58 deletions(-) diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt index 5259582b7ba..9be9d00d45f 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt @@ -50,11 +50,11 @@ public class MemberDeserializer(private val c: DeserializationContext) { val property = DeserializedPropertyDescriptor( c.containingDeclaration, null, getAnnotations(proto, flags, AnnotatedCallableKind.PROPERTY), - modality(Flags.MODALITY.get(flags)), - visibility(Flags.VISIBILITY.get(flags)), + Deserialization.modality(Flags.MODALITY.get(flags)), + Deserialization.visibility(Flags.VISIBILITY.get(flags)), Flags.CALLABLE_KIND.get(flags) == Callable.CallableKind.VAR, c.nameResolver.getName(proto.getName()), - memberKind(Flags.MEMBER_KIND.get(flags)), + Deserialization.memberKind(Flags.MEMBER_KIND.get(flags)), proto, c.nameResolver, Flags.LATE_INIT.get(flags) @@ -82,8 +82,8 @@ public class MemberDeserializer(private val c: DeserializationContext) { PropertyGetterDescriptorImpl( property, getAnnotations(proto, getterFlags, AnnotatedCallableKind.PROPERTY_GETTER), - modality(Flags.MODALITY.get(getterFlags)), - visibility(Flags.VISIBILITY.get(getterFlags)), + Deserialization.modality(Flags.MODALITY.get(getterFlags)), + Deserialization.visibility(Flags.VISIBILITY.get(getterFlags)), /* hasBody = */ isNotDefault, /* isDefault = */ !isNotDefault, property.getKind(), null, SourceElement.NO_SOURCE @@ -106,8 +106,8 @@ public class MemberDeserializer(private val c: DeserializationContext) { val setter = PropertySetterDescriptorImpl( property, getAnnotations(proto, setterFlags, AnnotatedCallableKind.PROPERTY_SETTER), - modality(Flags.MODALITY.get(setterFlags)), - visibility(Flags.VISIBILITY.get(setterFlags)), + Deserialization.modality(Flags.MODALITY.get(setterFlags)), + Deserialization.visibility(Flags.VISIBILITY.get(setterFlags)), /* hasBody = */ isNotDefault, /* isDefault = */ !isNotDefault, property.getKind(), null, SourceElement.NO_SOURCE @@ -150,8 +150,8 @@ public class MemberDeserializer(private val c: DeserializationContext) { local.typeDeserializer.ownTypeParameters, local.memberDeserializer.valueParameters(proto, AnnotatedCallableKind.FUNCTION), local.typeDeserializer.type(proto.getReturnType()), - modality(Flags.MODALITY.get(proto.getFlags())), - visibility(Flags.VISIBILITY.get(proto.getFlags())) + Deserialization.modality(Flags.MODALITY.get(proto.getFlags())), + Deserialization.visibility(Flags.VISIBILITY.get(proto.getFlags())) ) return function } @@ -170,7 +170,7 @@ public class MemberDeserializer(private val c: DeserializationContext) { descriptor.initialize( classDescriptor.getTypeConstructor().getParameters(), local.memberDeserializer.valueParameters(proto, AnnotatedCallableKind.FUNCTION), - visibility(Flags.VISIBILITY.get(proto.getFlags())) + Deserialization.visibility(Flags.VISIBILITY.get(proto.getFlags())) ) descriptor.setReturnType(local.typeDeserializer.type(proto.getReturnType())) return descriptor diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt index 0c6eb8c48a7..d44dab0971f 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt @@ -130,7 +130,7 @@ public class TypeDeserializer( TypeBasedStarProjectionImpl(c.components.moduleDescriptor.builtIns.getNullableAnyType()) else StarProjectionImpl(parameter) - else TypeProjectionImpl(variance(typeArgumentProto.getProjection()), type(typeArgumentProto.getType())) + else TypeProjectionImpl(Deserialization.variance(typeArgumentProto.getProjection()), type(typeArgumentProto.getType())) } override fun toString() = debugName + (if (parent == null) "" else ". Child of ${parent.debugName}") diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt index 81c4a6f03dc..e62ad28f5b0 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.StaticScopeForKotlinClass import org.jetbrains.kotlin.serialization.Flags import org.jetbrains.kotlin.serialization.ProtoBuf -import org.jetbrains.kotlin.serialization.deserialization +import org.jetbrains.kotlin.serialization.deserialization.Deserialization import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext import org.jetbrains.kotlin.serialization.deserialization.DeserializedType import org.jetbrains.kotlin.serialization.deserialization.NameResolver @@ -51,10 +51,10 @@ public class DeserializedClassDescriptor( outerContext.storageManager, nameResolver.getClassId(classProto.getFqName()).getShortClassName() ) { - private val modality = deserialization.modality(Flags.MODALITY.get(classProto.getFlags())) - private val visibility = deserialization.visibility(Flags.VISIBILITY.get(classProto.getFlags())) + private val modality = Deserialization.modality(Flags.MODALITY.get(classProto.getFlags())) + private val visibility = Deserialization.visibility(Flags.VISIBILITY.get(classProto.getFlags())) private val kindFromProto = Flags.CLASS_KIND.get(classProto.getFlags()) - private val kind = deserialization.classKind(kindFromProto) + private val kind = Deserialization.classKind(kindFromProto) private val isCompanion = kindFromProto == ProtoBuf.Class.Kind.CLASS_OBJECT private val isInner = Flags.INNER.get(classProto.getFlags()) diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedSimpleFunctionDescriptor.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedSimpleFunctionDescriptor.java index d14fabd82e6..63d45e083b2 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedSimpleFunctionDescriptor.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedSimpleFunctionDescriptor.java @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.serialization.Flags; import org.jetbrains.kotlin.serialization.ProtoBuf; +import org.jetbrains.kotlin.serialization.deserialization.Deserialization; import org.jetbrains.kotlin.serialization.deserialization.DeserializationPackage; import org.jetbrains.kotlin.serialization.deserialization.NameResolver; @@ -98,7 +99,7 @@ public class DeserializedSimpleFunctionDescriptor extends SimpleFunctionDescript null, annotations, nameResolver.getName(proto.getName()), - DeserializationPackage.memberKind(Flags.MEMBER_KIND.get(proto.getFlags())), + Deserialization.memberKind(Flags.MEMBER_KIND.get(proto.getFlags())), proto, nameResolver ); diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedTypeParameterDescriptor.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedTypeParameterDescriptor.java index 292e04761a9..3ee19c318a1 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedTypeParameterDescriptor.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedTypeParameterDescriptor.java @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.SourceElement; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.impl.AbstractLazyTypeParameterDescriptor; import org.jetbrains.kotlin.serialization.ProtoBuf; +import org.jetbrains.kotlin.serialization.deserialization.Deserialization; import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext; import org.jetbrains.kotlin.serialization.deserialization.DeserializationPackage; import org.jetbrains.kotlin.serialization.deserialization.TypeDeserializer; @@ -40,7 +41,7 @@ public class DeserializedTypeParameterDescriptor extends AbstractLazyTypeParamet super(c.getStorageManager(), c.getContainingDeclaration(), c.getNameResolver().getName(proto.getName()), - DeserializationPackage.variance(proto.getVariance()), + Deserialization.variance(proto.getVariance()), proto.getReified(), index, SourceElement.NO_SOURCE); diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt index 57a43deddb2..97056542c05 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt @@ -24,47 +24,55 @@ import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter import org.jetbrains.kotlin.types.Variance -fun memberKind(memberKind: ProtoBuf.Callable.MemberKind) = when (memberKind) { - ProtoBuf.Callable.MemberKind.DECLARATION -> CallableMemberDescriptor.Kind.DECLARATION - ProtoBuf.Callable.MemberKind.FAKE_OVERRIDE -> CallableMemberDescriptor.Kind.FAKE_OVERRIDE - ProtoBuf.Callable.MemberKind.DELEGATION -> CallableMemberDescriptor.Kind.DELEGATION - ProtoBuf.Callable.MemberKind.SYNTHESIZED -> CallableMemberDescriptor.Kind.SYNTHESIZED -} +object Deserialization { + @JvmStatic + fun memberKind(memberKind: ProtoBuf.Callable.MemberKind) = when (memberKind) { + ProtoBuf.Callable.MemberKind.DECLARATION -> CallableMemberDescriptor.Kind.DECLARATION + ProtoBuf.Callable.MemberKind.FAKE_OVERRIDE -> CallableMemberDescriptor.Kind.FAKE_OVERRIDE + ProtoBuf.Callable.MemberKind.DELEGATION -> CallableMemberDescriptor.Kind.DELEGATION + ProtoBuf.Callable.MemberKind.SYNTHESIZED -> CallableMemberDescriptor.Kind.SYNTHESIZED + } -fun modality(modality: ProtoBuf.Modality) = when (modality) { - ProtoBuf.Modality.FINAL -> Modality.FINAL - ProtoBuf.Modality.OPEN -> Modality.OPEN - ProtoBuf.Modality.ABSTRACT -> Modality.ABSTRACT - ProtoBuf.Modality.SEALED -> Modality.SEALED -} + @JvmStatic + fun modality(modality: ProtoBuf.Modality) = when (modality) { + ProtoBuf.Modality.FINAL -> Modality.FINAL + ProtoBuf.Modality.OPEN -> Modality.OPEN + ProtoBuf.Modality.ABSTRACT -> Modality.ABSTRACT + ProtoBuf.Modality.SEALED -> Modality.SEALED + } -fun visibility(visibility: ProtoBuf.Visibility) = when (visibility) { - ProtoBuf.Visibility.INTERNAL -> Visibilities.INTERNAL - ProtoBuf.Visibility.PRIVATE -> Visibilities.PRIVATE - ProtoBuf.Visibility.PRIVATE_TO_THIS -> Visibilities.PRIVATE_TO_THIS - ProtoBuf.Visibility.PROTECTED -> Visibilities.PROTECTED - ProtoBuf.Visibility.PUBLIC -> Visibilities.PUBLIC - ProtoBuf.Visibility.LOCAL -> Visibilities.LOCAL -} + @JvmStatic + fun visibility(visibility: ProtoBuf.Visibility) = when (visibility) { + ProtoBuf.Visibility.INTERNAL -> Visibilities.INTERNAL + ProtoBuf.Visibility.PRIVATE -> Visibilities.PRIVATE + ProtoBuf.Visibility.PRIVATE_TO_THIS -> Visibilities.PRIVATE_TO_THIS + ProtoBuf.Visibility.PROTECTED -> Visibilities.PROTECTED + ProtoBuf.Visibility.PUBLIC -> Visibilities.PUBLIC + ProtoBuf.Visibility.LOCAL -> Visibilities.LOCAL + } -public fun classKind(kind: ProtoBuf.Class.Kind): ClassKind = when (kind) { - ProtoBuf.Class.Kind.CLASS -> ClassKind.CLASS - ProtoBuf.Class.Kind.TRAIT -> ClassKind.INTERFACE - ProtoBuf.Class.Kind.ENUM_CLASS -> ClassKind.ENUM_CLASS - ProtoBuf.Class.Kind.ENUM_ENTRY -> ClassKind.ENUM_ENTRY - ProtoBuf.Class.Kind.ANNOTATION_CLASS -> ClassKind.ANNOTATION_CLASS - ProtoBuf.Class.Kind.OBJECT, ProtoBuf.Class.Kind.CLASS_OBJECT -> ClassKind.OBJECT -} + @JvmStatic + fun classKind(kind: ProtoBuf.Class.Kind): ClassKind = when (kind) { + ProtoBuf.Class.Kind.CLASS -> ClassKind.CLASS + ProtoBuf.Class.Kind.TRAIT -> ClassKind.INTERFACE + ProtoBuf.Class.Kind.ENUM_CLASS -> ClassKind.ENUM_CLASS + ProtoBuf.Class.Kind.ENUM_ENTRY -> ClassKind.ENUM_ENTRY + ProtoBuf.Class.Kind.ANNOTATION_CLASS -> ClassKind.ANNOTATION_CLASS + ProtoBuf.Class.Kind.OBJECT, ProtoBuf.Class.Kind.CLASS_OBJECT -> ClassKind.OBJECT + } -fun variance(variance: TypeParameter.Variance) = when (variance) { - ProtoBuf.TypeParameter.Variance.IN -> Variance.IN_VARIANCE - ProtoBuf.TypeParameter.Variance.OUT -> Variance.OUT_VARIANCE - ProtoBuf.TypeParameter.Variance.INV -> Variance.INVARIANT -} + @JvmStatic + fun variance(variance: TypeParameter.Variance) = when (variance) { + ProtoBuf.TypeParameter.Variance.IN -> Variance.IN_VARIANCE + ProtoBuf.TypeParameter.Variance.OUT -> Variance.OUT_VARIANCE + ProtoBuf.TypeParameter.Variance.INV -> Variance.INVARIANT + } -fun variance(variance: ProtoBuf.Type.Argument.Projection) = when (variance) { - ProtoBuf.Type.Argument.Projection.IN -> Variance.IN_VARIANCE - ProtoBuf.Type.Argument.Projection.OUT -> Variance.OUT_VARIANCE - ProtoBuf.Type.Argument.Projection.INV -> Variance.INVARIANT - else -> throw IllegalArgumentException("Only IN, OUT and INV are supported. Actual argument: $variance") -} + @JvmStatic + fun variance(variance: ProtoBuf.Type.Argument.Projection) = when (variance) { + ProtoBuf.Type.Argument.Projection.IN -> Variance.IN_VARIANCE + ProtoBuf.Type.Argument.Projection.OUT -> Variance.OUT_VARIANCE + ProtoBuf.Type.Argument.Projection.INV -> Variance.INVARIANT + else -> throw IllegalArgumentException("Only IN, OUT and INV are supported. Actual argument: $variance") + } +} \ No newline at end of file diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt index 2873e30f5ca..b43043365e1 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt @@ -48,7 +48,7 @@ import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.JvmClassName.byInternalName import org.jetbrains.kotlin.serialization.Flags import org.jetbrains.kotlin.serialization.ProtoBuf -import org.jetbrains.kotlin.serialization.deserialization.visibility +import org.jetbrains.kotlin.serialization.deserialization.Deserialization import org.jetbrains.kotlin.serialization.jvm.BitEncoding import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil import org.jetbrains.org.objectweb.asm.* @@ -399,7 +399,7 @@ public class IncrementalCacheImpl( return true } - private fun ProtoBuf.Callable.isPrivate(): Boolean = Visibilities.isPrivate(visibility(Flags.VISIBILITY.get(flags))) + private fun ProtoBuf.Callable.isPrivate(): Boolean = Visibilities.isPrivate(Deserialization.visibility(Flags.VISIBILITY.get(flags))) } return compareObject.checkEquals(oldClassData.classProto, newClassData.classProto)