[KLIB] API 4 ABI: Add information about backing field annotations

^KT-62259
This commit is contained in:
Dmitriy Dolovov
2023-11-14 12:30:41 +01:00
committed by Space Team
parent 01f072bb7d
commit d8eee222af
20 changed files with 151 additions and 12 deletions
@@ -115,3 +115,8 @@ var propertySetterMarkedWithBar: String get() = ""
@Bar set(_) = Unit @Bar set(_) = Unit
var propertySetterMarkedWithAnotherBar: String get() = "" var propertySetterMarkedWithAnotherBar: String get() = ""
@Another.Bar set(_) = Unit @Another.Bar set(_) = Unit
@field:Foo var propertyFieldMarkedWithFoo: String = ""
@field:Another.Foo var propertyFieldMarkedWithAnotherFoo: String = ""
@field:Bar var propertyFieldMarkedWithBar: String = ""
@field:Another.Bar var propertyFieldMarkedWithAnotherBar: String = ""
@@ -198,6 +198,18 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0] final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0]
final var /propertyFieldMarkedWithAnotherBar // /propertyFieldMarkedWithAnotherBar|8652907074743105395[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // /propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|4027680594200313982[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // /propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|-752930589596308927[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|-5550265860273959081[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|-6889753180756300437[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|-7885823532742642204[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|-5109570069593982425[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|-4683505128382207138[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|2337043424600902160[0]
final var /propertyFieldMarkedWithFoo // /propertyFieldMarkedWithFoo|-287426710232690254[0]
final fun <get-propertyFieldMarkedWithFoo>(): kotlin/String // /propertyFieldMarkedWithFoo.<get-propertyFieldMarkedWithFoo>|1685770549830377973[0]
final fun <set-propertyFieldMarkedWithFoo>(kotlin/String) // /propertyFieldMarkedWithFoo.<set-propertyFieldMarkedWithFoo>|-2442005456517407360[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0]
@@ -198,6 +198,18 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0] final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0]
final var /propertyFieldMarkedWithAnotherBar // /propertyFieldMarkedWithAnotherBar|{}propertyFieldMarkedWithAnotherBar[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // /propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|<get-propertyFieldMarkedWithAnotherBar>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // /propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|<set-propertyFieldMarkedWithAnotherBar>(kotlin.String){}[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|{}propertyFieldMarkedWithAnotherFoo[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|<get-propertyFieldMarkedWithAnotherFoo>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|<set-propertyFieldMarkedWithAnotherFoo>(kotlin.String){}[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|{}propertyFieldMarkedWithBar[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|<get-propertyFieldMarkedWithBar>(){}[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|<set-propertyFieldMarkedWithBar>(kotlin.String){}[0]
final var /propertyFieldMarkedWithFoo // /propertyFieldMarkedWithFoo|{}propertyFieldMarkedWithFoo[0]
final fun <get-propertyFieldMarkedWithFoo>(): kotlin/String // /propertyFieldMarkedWithFoo.<get-propertyFieldMarkedWithFoo>|<get-propertyFieldMarkedWithFoo>(){}[0]
final fun <set-propertyFieldMarkedWithFoo>(kotlin/String) // /propertyFieldMarkedWithFoo.<set-propertyFieldMarkedWithFoo>|<set-propertyFieldMarkedWithFoo>(kotlin.String){}[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0]
@@ -115,3 +115,8 @@ var propertySetterMarkedWithBar: String get() = ""
@Bar set(_) = Unit @Bar set(_) = Unit
var propertySetterMarkedWithAnotherBar: String get() = "" var propertySetterMarkedWithAnotherBar: String get() = ""
@Another.Bar set(_) = Unit @Another.Bar set(_) = Unit
@field:Foo var propertyFieldMarkedWithFoo: String = ""
@field:Another.Foo var propertyFieldMarkedWithAnotherFoo: String = ""
@field:Bar var propertyFieldMarkedWithBar: String = ""
@field:Another.Bar var propertyFieldMarkedWithAnotherBar: String = ""
@@ -139,6 +139,15 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0] final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0]
final var /propertyFieldMarkedWithAnotherBar // /propertyFieldMarkedWithAnotherBar|8652907074743105395[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // /propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|4027680594200313982[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // /propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|-752930589596308927[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|-5550265860273959081[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|-6889753180756300437[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|-7885823532742642204[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|-5109570069593982425[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|-4683505128382207138[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|2337043424600902160[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0]
@@ -139,6 +139,15 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0] final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0]
final var /propertyFieldMarkedWithAnotherBar // /propertyFieldMarkedWithAnotherBar|{}propertyFieldMarkedWithAnotherBar[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // /propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|<get-propertyFieldMarkedWithAnotherBar>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // /propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|<set-propertyFieldMarkedWithAnotherBar>(kotlin.String){}[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|{}propertyFieldMarkedWithAnotherFoo[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|<get-propertyFieldMarkedWithAnotherFoo>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|<set-propertyFieldMarkedWithAnotherFoo>(kotlin.String){}[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|{}propertyFieldMarkedWithBar[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|<get-propertyFieldMarkedWithBar>(){}[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|<set-propertyFieldMarkedWithBar>(kotlin.String){}[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // /propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0]
@@ -115,3 +115,8 @@ var propertySetterMarkedWithBar: String get() = ""
@Bar set(_) = Unit @Bar set(_) = Unit
var propertySetterMarkedWithAnotherBar: String get() = "" var propertySetterMarkedWithAnotherBar: String get() = ""
@Another.Bar set(_) = Unit @Another.Bar set(_) = Unit
@field:Foo var propertyFieldMarkedWithFoo: String = ""
@field:Another.Foo var propertyFieldMarkedWithAnotherFoo: String = ""
@field:Bar var propertyFieldMarkedWithBar: String = ""
@field:Another.Bar var propertyFieldMarkedWithAnotherBar: String = ""
@@ -92,6 +92,12 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0] final var /nonMarkedProperty // /nonMarkedProperty|2555039021383536112[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|-5550265860273959081[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|-6889753180756300437[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|-7885823532742642204[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|-5109570069593982425[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|-4683505128382207138[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|2337043424600902160[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|-8321084504405299502[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0]
final var /propertyGetterMarkedWithAnotherFoo // /propertyGetterMarkedWithAnotherFoo|839569568647204104[0] final var /propertyGetterMarkedWithAnotherFoo // /propertyGetterMarkedWithAnotherFoo|839569568647204104[0]
@@ -92,6 +92,12 @@ final class /NonMarkedClass { // /NonMarkedClass|null[0]
final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0] final var /nonMarkedProperty // /nonMarkedProperty|{}nonMarkedProperty[0]
final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0] final fun <get-nonMarkedProperty>(): kotlin/String // /nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0]
final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0] final fun <set-nonMarkedProperty>(kotlin/String) // /nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0]
final var /propertyFieldMarkedWithAnotherFoo // /propertyFieldMarkedWithAnotherFoo|{}propertyFieldMarkedWithAnotherFoo[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // /propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|<get-propertyFieldMarkedWithAnotherFoo>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // /propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|<set-propertyFieldMarkedWithAnotherFoo>(kotlin.String){}[0]
final var /propertyFieldMarkedWithBar // /propertyFieldMarkedWithBar|{}propertyFieldMarkedWithBar[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // /propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|<get-propertyFieldMarkedWithBar>(){}[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // /propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|<set-propertyFieldMarkedWithBar>(kotlin.String){}[0]
final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0] final var /propertyGetterMarkedWithAnotherBar // /propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // /propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0]
final var /propertyGetterMarkedWithAnotherFoo // /propertyGetterMarkedWithAnotherFoo|{}propertyGetterMarkedWithAnotherFoo[0] final var /propertyGetterMarkedWithAnotherFoo // /propertyGetterMarkedWithAnotherFoo|{}propertyGetterMarkedWithAnotherFoo[0]
@@ -117,3 +117,8 @@ var propertySetterMarkedWithBar: String get() = ""
@Bar set(_) = Unit @Bar set(_) = Unit
var propertySetterMarkedWithAnotherBar: String get() = "" var propertySetterMarkedWithAnotherBar: String get() = ""
@Another.Bar set(_) = Unit @Another.Bar set(_) = Unit
@field:Foo var propertyFieldMarkedWithFoo: String = ""
@field:Another.Foo var propertyFieldMarkedWithAnotherFoo: String = ""
@field:Bar var propertyFieldMarkedWithBar: String = ""
@field:Another.Bar var propertyFieldMarkedWithAnotherBar: String = ""
@@ -139,6 +139,15 @@ final class non_public_markers.test/NonMarkedClass { // non_public_markers.test/
final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|2555039021383536112[0] final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|2555039021383536112[0]
final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0] final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0]
final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0] final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherBar // non_public_markers.test/propertyFieldMarkedWithAnotherBar|8652907074743105395[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|4027680594200313982[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|-752930589596308927[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherFoo // non_public_markers.test/propertyFieldMarkedWithAnotherFoo|-5550265860273959081[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|-6889753180756300437[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|-7885823532742642204[0]
final var non_public_markers.test/propertyFieldMarkedWithBar // non_public_markers.test/propertyFieldMarkedWithBar|-5109570069593982425[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|-4683505128382207138[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|2337043424600902160[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|-8321084504405299502[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|-8321084504405299502[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|7768138341638919361[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0]
@@ -139,6 +139,15 @@ final class non_public_markers.test/NonMarkedClass { // non_public_markers.test/
final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|{}nonMarkedProperty[0] final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|{}nonMarkedProperty[0]
final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0] final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0]
final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0] final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherBar // non_public_markers.test/propertyFieldMarkedWithAnotherBar|{}propertyFieldMarkedWithAnotherBar[0]
final fun <get-propertyFieldMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherBar.<get-propertyFieldMarkedWithAnotherBar>|<get-propertyFieldMarkedWithAnotherBar>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherBar.<set-propertyFieldMarkedWithAnotherBar>|<set-propertyFieldMarkedWithAnotherBar>(kotlin.String){}[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherFoo // non_public_markers.test/propertyFieldMarkedWithAnotherFoo|{}propertyFieldMarkedWithAnotherFoo[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|<get-propertyFieldMarkedWithAnotherFoo>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|<set-propertyFieldMarkedWithAnotherFoo>(kotlin.String){}[0]
final var non_public_markers.test/propertyFieldMarkedWithBar // non_public_markers.test/propertyFieldMarkedWithBar|{}propertyFieldMarkedWithBar[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|<get-propertyFieldMarkedWithBar>(){}[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|<set-propertyFieldMarkedWithBar>(kotlin.String){}[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0]
final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0] final fun <get-propertyGetterMarkedWithAnotherBar>(): kotlin/String // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<get-propertyGetterMarkedWithAnotherBar>|<get-propertyGetterMarkedWithAnotherBar>(){}[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0]
@@ -117,3 +117,8 @@ var propertySetterMarkedWithBar: String get() = ""
@Bar set(_) = Unit @Bar set(_) = Unit
var propertySetterMarkedWithAnotherBar: String get() = "" var propertySetterMarkedWithAnotherBar: String get() = ""
@Another.Bar set(_) = Unit @Another.Bar set(_) = Unit
@field:Foo var propertyFieldMarkedWithFoo: String = ""
@field:Another.Foo var propertyFieldMarkedWithAnotherFoo: String = ""
@field:Bar var propertyFieldMarkedWithBar: String = ""
@field:Another.Bar var propertyFieldMarkedWithAnotherBar: String = ""
@@ -92,6 +92,12 @@ final class non_public_markers.test/NonMarkedClass { // non_public_markers.test/
final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|2555039021383536112[0] final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|2555039021383536112[0]
final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0] final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|3521952790317234139[0]
final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0] final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|-1967656686156177486[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherFoo // non_public_markers.test/propertyFieldMarkedWithAnotherFoo|-5550265860273959081[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|-6889753180756300437[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|-7885823532742642204[0]
final var non_public_markers.test/propertyFieldMarkedWithBar // non_public_markers.test/propertyFieldMarkedWithBar|-5109570069593982425[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|-4683505128382207138[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|2337043424600902160[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|-8321084504405299502[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|-8321084504405299502[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|1952287206559835979[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherFoo // non_public_markers.test/propertyGetterMarkedWithAnotherFoo|839569568647204104[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherFoo // non_public_markers.test/propertyGetterMarkedWithAnotherFoo|839569568647204104[0]
@@ -92,6 +92,12 @@ final class non_public_markers.test/NonMarkedClass { // non_public_markers.test/
final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|{}nonMarkedProperty[0] final var non_public_markers.test/nonMarkedProperty // non_public_markers.test/nonMarkedProperty|{}nonMarkedProperty[0]
final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0] final fun <get-nonMarkedProperty>(): kotlin/String // non_public_markers.test/nonMarkedProperty.<get-nonMarkedProperty>|<get-nonMarkedProperty>(){}[0]
final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0] final fun <set-nonMarkedProperty>(kotlin/String) // non_public_markers.test/nonMarkedProperty.<set-nonMarkedProperty>|<set-nonMarkedProperty>(kotlin.String){}[0]
final var non_public_markers.test/propertyFieldMarkedWithAnotherFoo // non_public_markers.test/propertyFieldMarkedWithAnotherFoo|{}propertyFieldMarkedWithAnotherFoo[0]
final fun <get-propertyFieldMarkedWithAnotherFoo>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<get-propertyFieldMarkedWithAnotherFoo>|<get-propertyFieldMarkedWithAnotherFoo>(){}[0]
final fun <set-propertyFieldMarkedWithAnotherFoo>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithAnotherFoo.<set-propertyFieldMarkedWithAnotherFoo>|<set-propertyFieldMarkedWithAnotherFoo>(kotlin.String){}[0]
final var non_public_markers.test/propertyFieldMarkedWithBar // non_public_markers.test/propertyFieldMarkedWithBar|{}propertyFieldMarkedWithBar[0]
final fun <get-propertyFieldMarkedWithBar>(): kotlin/String // non_public_markers.test/propertyFieldMarkedWithBar.<get-propertyFieldMarkedWithBar>|<get-propertyFieldMarkedWithBar>(){}[0]
final fun <set-propertyFieldMarkedWithBar>(kotlin/String) // non_public_markers.test/propertyFieldMarkedWithBar.<set-propertyFieldMarkedWithBar>|<set-propertyFieldMarkedWithBar>(kotlin.String){}[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherBar // non_public_markers.test/propertyGetterMarkedWithAnotherBar|{}propertyGetterMarkedWithAnotherBar[0]
final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0] final fun <set-propertyGetterMarkedWithAnotherBar>(kotlin/String) // non_public_markers.test/propertyGetterMarkedWithAnotherBar.<set-propertyGetterMarkedWithAnotherBar>|<set-propertyGetterMarkedWithAnotherBar>(kotlin.String){}[0]
final var non_public_markers.test/propertyGetterMarkedWithAnotherFoo // non_public_markers.test/propertyGetterMarkedWithAnotherFoo|{}propertyGetterMarkedWithAnotherFoo[0] final var non_public_markers.test/propertyGetterMarkedWithAnotherFoo // non_public_markers.test/propertyGetterMarkedWithAnotherFoo|{}propertyGetterMarkedWithAnotherFoo[0]
@@ -170,6 +170,18 @@ data class AbiQualifiedName(val packageName: AbiCompoundName, val relativeName:
} }
} }
/**
* The common interface for entities that can have annotations.
*/
@ExperimentalLibraryAbiReader
interface AbiAnnotatedEntity {
/**
* Annotations are not a part of ABI. But sometimes it is useful to have the ability to check if some declaration
* has a specific annotation. See [AbiReadingFilter.NonPublicMarkerAnnotations] as an example.
*/
fun hasAnnotation(annotationClassName: AbiQualifiedName): Boolean
}
/** /**
* The common interface for all declarations. * The common interface for all declarations.
* *
@@ -177,15 +189,9 @@ data class AbiQualifiedName(val packageName: AbiCompoundName, val relativeName:
* @property signatures The set of signatures of the declaration. * @property signatures The set of signatures of the declaration.
*/ */
@ExperimentalLibraryAbiReader @ExperimentalLibraryAbiReader
sealed interface AbiDeclaration { sealed interface AbiDeclaration : AbiAnnotatedEntity {
val qualifiedName: AbiQualifiedName val qualifiedName: AbiQualifiedName
val signatures: AbiSignatures val signatures: AbiSignatures
/**
* Annotations are not a part of ABI. But sometimes it is useful to have the ability to check if some declaration
* has a specific annotation. See [AbiReadingFilter.NonPublicMarkerAnnotations] as an example.
*/
fun hasAnnotation(annotationClassName: AbiQualifiedName): Boolean
} }
/** /**
@@ -302,16 +308,27 @@ interface AbiValueParameter {
* An [AbiDeclaration] that represents a property. * An [AbiDeclaration] that represents a property.
* *
* @property kind The property kind. * @property kind The property kind.
* @property getter The getter accessor, fi any. * @property getter The getter accessor, if any.
* @property setter The setter accessor, fi any. * @property setter The setter accessor, if any.
* @property backingField The backing field, if any.
*/ */
@ExperimentalLibraryAbiReader @ExperimentalLibraryAbiReader
interface AbiProperty : AbiDeclarationWithModality { interface AbiProperty : AbiDeclarationWithModality {
val kind: AbiPropertyKind val kind: AbiPropertyKind
val getter: AbiFunction? val getter: AbiFunction?
val setter: AbiFunction? val setter: AbiFunction?
val backingField: AbiField?
} }
/**
* An entity that represents a field.
*
* Since fields are not a part of ABI, [AbiField] is not inherited from [AbiDeclaration]. And consequently don't have
* such attributes as [AbiDeclaration.qualifiedName] or [AbiDeclaration.signatures].
*/
@ExperimentalLibraryAbiReader
interface AbiField : AbiAnnotatedEntity
/** All known kinds of properties. */ /** All known kinds of properties. */
@ExperimentalLibraryAbiReader @ExperimentalLibraryAbiReader
enum class AbiPropertyKind { VAL, CONST_VAL, VAR } enum class AbiPropertyKind { VAL, CONST_VAL, VAR }
@@ -65,7 +65,11 @@ interface AbiReadingFilter {
override fun isDeclarationExcluded(declaration: AbiDeclaration): Boolean { override fun isDeclarationExcluded(declaration: AbiDeclaration): Boolean {
for (nonPublicMarkerName in nonPublicMarkerNames) { for (nonPublicMarkerName in nonPublicMarkerNames) {
if (declaration.hasAnnotation(nonPublicMarkerName)) return true if (declaration.hasAnnotation(nonPublicMarkerName)
|| (declaration as? AbiProperty)?.backingField?.hasAnnotation(nonPublicMarkerName) == true
) {
return true
}
} }
return false return false
} }
@@ -190,7 +190,8 @@ internal class AbiPropertyImpl(
modality: AbiModality, modality: AbiModality,
kind: AbiPropertyKind, kind: AbiPropertyKind,
override val getter: AbiFunction?, override val getter: AbiFunction?,
override val setter: AbiFunction? override val setter: AbiFunction?,
override val backingField: AbiField?
) : AbiProperty { ) : AbiProperty {
private val flags = MODALITY.toFlags(modality) or PROPERTY_KIND.toFlags(kind) private val flags = MODALITY.toFlags(modality) or PROPERTY_KIND.toFlags(kind)
@@ -204,6 +205,11 @@ internal class AbiPropertyImpl(
} }
} }
@ExperimentalLibraryAbiReader
internal class AbiFieldImpl(private val annotations: Set<AbiQualifiedName>) : AbiField {
override fun hasAnnotation(annotationClassName: AbiQualifiedName) = annotationClassName in annotations
}
@ExperimentalLibraryAbiReader @ExperimentalLibraryAbiReader
internal class AbiTypeParameterImpl( internal class AbiTypeParameterImpl(
override val tag: String, override val tag: String,
@@ -423,6 +423,9 @@ private class LibraryDeserializer(
containingEntity = thisPropertyEntity, containingEntity = thisPropertyEntity,
parentTypeParameterResolver = typeParameterResolver parentTypeParameterResolver = typeParameterResolver
).discardIfExcluded() ).discardIfExcluded()
},
backingField = proto.hasBackingField().ifTrue {
AbiFieldImpl(deserializeAnnotations(proto.backingField.base))
} }
) )
} }
@@ -41,7 +41,7 @@ class LibraryAbiDumpHandler(testServices: TestServices) : BinaryArtifactHandler<
) )
for ((abiSignatureVersion, dumper) in dumpers) { for ((abiSignatureVersion, dumper) in dumpers) {
LibraryAbiRenderer.render(libraryAbi, dumper.builderForModule(module), AbiRenderingSettings(abiSignatureVersion)) LibraryAbiRenderer.render(libraryAbi, dumper.builderForModule(module), AbiRenderingSettings(abiSignatureVersion))
} }
} }