From 00c846a16067b8c37b1c4833f116ef9931d83e19 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 10 Oct 2017 12:18:59 +0200 Subject: [PATCH] Write patch version for VersionRequirement correctly --- .../jetbrains/kotlin/serialization/DescriptorSerializer.kt | 2 +- compiler/testData/versionRequirement/patchVersion.kt | 7 +++++++ .../kotlin/serialization/VersionRequirementTest.kt | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/versionRequirement/patchVersion.kt diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt index 192ce1e36d6..15cd9c4cc70 100644 --- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt +++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt @@ -615,7 +615,7 @@ class DescriptorSerializer private constructor( val major = matchResult.groupValues.getOrNull(1)?.toIntOrNull() ?: return null val minor = matchResult.groupValues.getOrNull(2)?.toIntOrNull() ?: 0 - val patch = matchResult.groupValues.getOrNull(3)?.toIntOrNull() ?: 0 + val patch = matchResult.groupValues.getOrNull(4)?.toIntOrNull() ?: 0 val proto = ProtoBuf.VersionRequirement.newBuilder() VersionRequirement.Version(major, minor, patch).encode( diff --git a/compiler/testData/versionRequirement/patchVersion.kt b/compiler/testData/versionRequirement/patchVersion.kt new file mode 100644 index 00000000000..6e4686644af --- /dev/null +++ b/compiler/testData/versionRequirement/patchVersion.kt @@ -0,0 +1,7 @@ +@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") +package test + +import kotlin.internal.RequireKotlin + +@RequireKotlin("1.1.50", level = DeprecationLevel.HIDDEN) +class Klass diff --git a/compiler/tests/org/jetbrains/kotlin/serialization/VersionRequirementTest.kt b/compiler/tests/org/jetbrains/kotlin/serialization/VersionRequirementTest.kt index cf6fd875c87..fb32d4f19b8 100644 --- a/compiler/tests/org/jetbrains/kotlin/serialization/VersionRequirementTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/serialization/VersionRequirementTest.kt @@ -139,4 +139,10 @@ class VersionRequirementTest : TestCaseWithTmpdir() { "test.property" ) } + + fun testPatchVersion() { + doTest(VersionRequirement.Version(1, 1, 50), DeprecationLevel.HIDDEN, null, ProtoBuf.VersionRequirement.VersionKind.LANGUAGE_VERSION, null, + "test.Klass" + ) + } }