Skip to content

Commit

Permalink
Expose internal setExtension method for Kotlin
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 491816141
  • Loading branch information
deannagarcia authored and copybara-github committed Nov 30, 2022
1 parent 7c308c7 commit 33d1070
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 57 deletions.
6 changes: 0 additions & 6 deletions csharp/src/Google.Protobuf/Google.Protobuf.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
<LangVersion>10.0</LangVersion>
<Authors>Google Inc.</Authors>
<TargetFrameworks>netstandard1.1;netstandard2.0;net45;net50</TargetFrameworks>
<!--
- We're aware we target older frameworks, for compatibility.
- Framework choice is reviewed periodically (and definitely on
- major version changes).
-->
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -404,38 +404,57 @@ class Proto2LiteTest {
fun testExtensionsSet() {
assertThat(
testAllExtensionsLite {
this[UnittestLite.optionalInt32ExtensionLite] = 101
this[UnittestLite.optionalInt64ExtensionLite] = 102L
this[UnittestLite.optionalUint32ExtensionLite] = 103
this[UnittestLite.optionalUint64ExtensionLite] = 104L
this[UnittestLite.optionalSint32ExtensionLite] = 105
this[UnittestLite.optionalSint64ExtensionLite] = 106L
this[UnittestLite.optionalFixed32ExtensionLite] = 107
this[UnittestLite.optionalFixed64ExtensionLite] = 108L
this[UnittestLite.optionalSfixed32ExtensionLite] = 109
this[UnittestLite.optionalSfixed64ExtensionLite] = 110L
this[UnittestLite.optionalFloatExtensionLite] = 111F
this[UnittestLite.optionalDoubleExtensionLite] = 112.0
this[UnittestLite.optionalBoolExtensionLite] = true
this[UnittestLite.optionalStringExtensionLite] = "115"
this[UnittestLite.optionalBytesExtensionLite] = toBytes("116")
this[UnittestLite.optionalGroupExtensionLite] = optionalGroupExtensionLite { a = 117 }
this[UnittestLite.optionalNestedMessageExtensionLite] =
setExtension(UnittestLite.optionalInt32ExtensionLite, 101)
setExtension(UnittestLite.optionalInt64ExtensionLite, 102L)
setExtension(UnittestLite.optionalUint32ExtensionLite, 103)
setExtension(UnittestLite.optionalUint64ExtensionLite, 104L)
setExtension(UnittestLite.optionalSint32ExtensionLite, 105)
setExtension(UnittestLite.optionalSint64ExtensionLite, 106L)
setExtension(UnittestLite.optionalFixed32ExtensionLite, 107)
setExtension(UnittestLite.optionalFixed64ExtensionLite, 108L)
setExtension(UnittestLite.optionalSfixed32ExtensionLite, 109)
setExtension(UnittestLite.optionalSfixed64ExtensionLite, 110L)
setExtension(UnittestLite.optionalFloatExtensionLite, 111F)
setExtension(UnittestLite.optionalDoubleExtensionLite, 112.0)
setExtension(UnittestLite.optionalBoolExtensionLite, true)
setExtension(UnittestLite.optionalStringExtensionLite, "115")
setExtension(UnittestLite.optionalBytesExtensionLite, toBytes("116"))
setExtension(
UnittestLite.optionalGroupExtensionLite,
optionalGroupExtensionLite { a = 117 }
)
setExtension(
UnittestLite.optionalNestedMessageExtensionLite,
TestAllTypesLiteKt.nestedMessage { bb = 118 }
this[UnittestLite.optionalForeignMessageExtensionLite] = foreignMessageLite { c = 119 }
this[UnittestLite.optionalImportMessageExtensionLite] =
)
setExtension(
UnittestLite.optionalForeignMessageExtensionLite,
foreignMessageLite { c = 119 }
)
setExtension(
UnittestLite.optionalImportMessageExtensionLite,
ImportMessageLite.newBuilder().setD(120).build()
this[UnittestLite.optionalPublicImportMessageExtensionLite] =
)
setExtension(
UnittestLite.optionalPublicImportMessageExtensionLite,
PublicImportMessageLite.newBuilder().setE(126).build()
this[UnittestLite.optionalLazyMessageExtensionLite] =
)
setExtension(
UnittestLite.optionalLazyMessageExtensionLite,
TestAllTypesLiteKt.nestedMessage { bb = 127 }
this[UnittestLite.optionalUnverifiedLazyMessageExtensionLite] =
)
setExtension(
UnittestLite.optionalUnverifiedLazyMessageExtensionLite,
TestAllTypesLiteKt.nestedMessage { bb = 128 }
this[UnittestLite.optionalNestedEnumExtensionLite] = NestedEnum.BAZ
this[UnittestLite.optionalForeignEnumExtensionLite] = ForeignEnumLite.FOREIGN_LITE_BAZ
this[UnittestLite.optionalImportEnumExtensionLite] = ImportEnumLite.IMPORT_LITE_BAZ
this[UnittestLite.optionalStringPieceExtensionLite] = "124"
this[UnittestLite.optionalCordExtensionLite] = "125"
)
setExtension(UnittestLite.optionalNestedEnumExtensionLite, NestedEnum.BAZ)
setExtension(
UnittestLite.optionalForeignEnumExtensionLite,
ForeignEnumLite.FOREIGN_LITE_BAZ
)
setExtension(UnittestLite.optionalImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ)
setExtension(UnittestLite.optionalStringPieceExtensionLite, "124")
setExtension(UnittestLite.optionalCordExtensionLite, "125")
this[UnittestLite.repeatedInt32ExtensionLite].add(201)
this[UnittestLite.repeatedInt64ExtensionLite].add(202L)
this[UnittestLite.repeatedUint32ExtensionLite].add(203)
Expand Down
40 changes: 20 additions & 20 deletions java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt
Original file line number Diff line number Diff line change
Expand Up @@ -487,26 +487,26 @@ class Proto2Test {
this[UnittestProto.repeatedImportEnumExtension] += ImportEnum.IMPORT_BAZ
this[UnittestProto.repeatedStringPieceExtension] += "324"
this[UnittestProto.repeatedCordExtension] += "325"
this[UnittestProto.defaultInt32Extension] = 401
this[UnittestProto.defaultInt64Extension] = 402L
this[UnittestProto.defaultUint32Extension] = 403
this[UnittestProto.defaultUint64Extension] = 404L
this[UnittestProto.defaultSint32Extension] = 405
this[UnittestProto.defaultSint64Extension] = 406L
this[UnittestProto.defaultFixed32Extension] = 407
this[UnittestProto.defaultFixed64Extension] = 408L
this[UnittestProto.defaultSfixed32Extension] = 409
this[UnittestProto.defaultSfixed64Extension] = 410L
this[UnittestProto.defaultFloatExtension] = 411F
this[UnittestProto.defaultDoubleExtension] = 412.0
this[UnittestProto.defaultBoolExtension] = false
this[UnittestProto.defaultStringExtension] = "415"
this[UnittestProto.defaultBytesExtension] = toBytes("416")
this[UnittestProto.defaultNestedEnumExtension] = NestedEnum.FOO
this[UnittestProto.defaultForeignEnumExtension] = ForeignEnum.FOREIGN_FOO
this[UnittestProto.defaultImportEnumExtension] = ImportEnum.IMPORT_FOO
this[UnittestProto.defaultStringPieceExtension] = "424"
this[UnittestProto.defaultCordExtension] = "425"
setExtension(UnittestProto.defaultInt32Extension, 401)
setExtension(UnittestProto.defaultInt64Extension, 402L)
setExtension(UnittestProto.defaultUint32Extension, 403)
setExtension(UnittestProto.defaultUint64Extension, 404L)
setExtension(UnittestProto.defaultSint32Extension, 405)
setExtension(UnittestProto.defaultSint64Extension, 406L)
setExtension(UnittestProto.defaultFixed32Extension, 407)
setExtension(UnittestProto.defaultFixed64Extension, 408L)
setExtension(UnittestProto.defaultSfixed32Extension, 409)
setExtension(UnittestProto.defaultSfixed64Extension, 410L)
setExtension(UnittestProto.defaultFloatExtension, 411F)
setExtension(UnittestProto.defaultDoubleExtension, 412.0)
setExtension(UnittestProto.defaultBoolExtension, false)
setExtension(UnittestProto.defaultStringExtension, "415")
setExtension(UnittestProto.defaultBytesExtension, toBytes("416"))
setExtension(UnittestProto.defaultNestedEnumExtension, NestedEnum.FOO)
setExtension(UnittestProto.defaultForeignEnumExtension, ForeignEnum.FOREIGN_FOO)
setExtension(UnittestProto.defaultImportEnumExtension, ImportEnum.IMPORT_FOO)
setExtension(UnittestProto.defaultStringPieceExtension, "424")
setExtension(UnittestProto.defaultCordExtension, "425")
this[UnittestProto.oneofUint32Extension] = 601
this[UnittestProto.oneofNestedMessageExtension] =
TestAllTypesKt.nestedMessage { bb = 602 }
Expand Down
3 changes: 1 addition & 2 deletions src/google/protobuf/compiler/java/message.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1437,8 +1437,7 @@ void ImmutableMessageGenerator::GenerateKotlinExtensions(

printer->Print(
"@kotlin.jvm.JvmSynthetic\n"
"@kotlin.PublishedApi\n"
"internal fun <T : kotlin.Any> setExtension(extension: "
"public fun <T : kotlin.Any> setExtension(extension: "
"com.google.protobuf.ExtensionLite<$message$, T>, "
"value: T) {\n"
" _builder.setExtension(extension, value)\n"
Expand Down
3 changes: 1 addition & 2 deletions src/google/protobuf/compiler/java/message_lite.cc
Original file line number Diff line number Diff line change
Expand Up @@ -942,8 +942,7 @@ void ImmutableMessageLiteGenerator::GenerateKotlinExtensions(

printer->Print(
"@kotlin.jvm.JvmSynthetic\n"
"@kotlin.PublishedApi\n"
"internal fun <T : kotlin.Any> setExtension(extension: "
"public fun <T : kotlin.Any> setExtension(extension: "
"com.google.protobuf.ExtensionLite<$message$, T>, "
"value: T) {\n"
" _builder.setExtension(extension, value)\n"
Expand Down

0 comments on commit 33d1070

Please sign in to comment.