Skip to content

Commit 38084f0

Browse files
ShikaSDSpace Cloud
authored and
Space Cloud
committed
Enable source information for getters and other special-named functions
Excludes anonymous/lambda functions to prevent noise and significant binary increase.
1 parent 9fcd247 commit 38084f0

19 files changed

+34
-30
lines changed

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testCallingProperties[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ val bar: Int @Composable get() { return 123 }
2626
val bar: Int
2727
@Composable @JvmName(name = "getBar")
2828
get() {
29-
sourceInformationMarkerStart(%composer, <>, "C:Test.kt#2487m")
29+
sourceInformationMarkerStart(%composer, <>, "C(<get-bar>):Test.kt#2487m")
3030
if (isTraceInProgress()) {
3131
traceEventStart(<>, %changed, -1, <>)
3232
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testCallingProperties[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ val bar: Int @Composable get() { return 123 }
2626
val bar: Int
2727
@Composable @JvmName(name = "getBar")
2828
get() {
29-
sourceInformationMarkerStart(%composer, <>, "C:Test.kt#2487m")
29+
sourceInformationMarkerStart(%composer, <>, "C(<get-bar>):Test.kt#2487m")
3030
if (isTraceInProgress()) {
3131
traceEventStart(<>, %changed, -1, <>)
3232
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testDelegateCall[useFir = false].txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class Bar {
8282
val foo: Foo = Foo()
8383
@Composable @JvmName(name = "getFoo")
8484
get() {
85-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
85+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
8686
if (isTraceInProgress()) {
8787
traceEventStart(<>, %changed, -1, <>)
8888
}
@@ -107,7 +107,7 @@ fun test(%composer: Composer?, %changed: Int) {
107107
val foo%delegate = Foo()
108108
@Composable
109109
get(%composer: Composer?, %changed: Int) {
110-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
110+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
111111
if (isTraceInProgress()) {
112112
traceEventStart(<>, %changed, -1, <>)
113113
}
@@ -123,7 +123,7 @@ fun test(%composer: Composer?, %changed: Int) {
123123
val fooDelegate%delegate = FooDelegate()
124124
@Composable
125125
get(%composer: Composer?, %changed: Int) {
126-
sourceInformationMarkerStart(%composer, <>, "C<FooDel...>:Test.kt#2487m")
126+
sourceInformationMarkerStart(%composer, <>, "C(<get-fooDelegate>)<FooDel...>:Test.kt#2487m")
127127
if (isTraceInProgress()) {
128128
traceEventStart(<>, %changed, -1, <>)
129129
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testDelegateCall[useFir = true].txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class Bar {
8282
val foo: Foo = Foo()
8383
@Composable @JvmName(name = "getFoo")
8484
get() {
85-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
85+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
8686
if (isTraceInProgress()) {
8787
traceEventStart(<>, %changed, -1, <>)
8888
}
@@ -107,7 +107,7 @@ fun test(%composer: Composer?, %changed: Int) {
107107
val foo%delegate = Foo()
108108
@Composable
109109
get(%composer: Composer?, %changed: Int) {
110-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
110+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
111111
if (isTraceInProgress()) {
112112
traceEventStart(<>, %changed, -1, <>)
113113
}
@@ -123,7 +123,7 @@ fun test(%composer: Composer?, %changed: Int) {
123123
val fooDelegate%delegate = FooDelegate()
124124
@Composable
125125
get(%composer: Composer?, %changed: Int) {
126-
sourceInformationMarkerStart(%composer, <>, "C<FooDel...>:Test.kt#2487m")
126+
sourceInformationMarkerStart(%composer, <>, "C(<get-fooDelegate>)<FooDel...>:Test.kt#2487m")
127127
if (isTraceInProgress()) {
128128
traceEventStart(<>, %changed, -1, <>)
129129
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testDexNaming[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ val myProperty: () -> Unit @Composable get() {
2424
val myProperty: Function0<Unit>
2525
@Composable @JvmName(name = "getMyProperty")
2626
get() {
27-
sourceInformationMarkerStart(%composer, <>, "C:Test.kt#2487m")
27+
sourceInformationMarkerStart(%composer, <>, "C(<get-myProperty>):Test.kt#2487m")
2828
if (isTraceInProgress()) {
2929
traceEventStart(<>, %changed, -1, <>)
3030
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testDexNaming[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ val myProperty: () -> Unit @Composable get() {
2424
val myProperty: Function0<Unit>
2525
@Composable @JvmName(name = "getMyProperty")
2626
get() {
27-
sourceInformationMarkerStart(%composer, <>, "C<{>:Test.kt#2487m")
27+
sourceInformationMarkerStart(%composer, <>, "C(<get-myProperty>)<{>:Test.kt#2487m")
2828
if (isTraceInProgress()) {
2929
traceEventStart(<>, %changed, -1, <>)
3030
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testStableDelegateCall[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ fun test(foo: Foo, %composer: Composer?, %changed: Int) {
5757
val delegated%delegate = foo
5858
@Composable
5959
get(%composer: Composer?, %changed: Int) {
60-
sourceInformationMarkerStart(%composer, <>, "C<foo>:Test.kt#2487m")
60+
sourceInformationMarkerStart(%composer, <>, "C(<get-delegated>)<foo>:Test.kt#2487m")
6161
if (isTraceInProgress()) {
6262
traceEventStart(<>, %changed, -1, <>)
6363
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testStableDelegateCall[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ fun test(foo: Foo, %composer: Composer?, %changed: Int) {
5757
val delegated%delegate = foo
5858
@Composable
5959
get(%composer: Composer?, %changed: Int) {
60-
sourceInformationMarkerStart(%composer, <>, "C<foo>:Test.kt#2487m")
60+
sourceInformationMarkerStart(%composer, <>, "C(<get-delegated>)<foo>:Test.kt#2487m")
6161
if (isTraceInProgress()) {
6262
traceEventStart(<>, %changed, -1, <>)
6363
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testUnstableDelegateCall[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ fun test(%composer: Composer?, %changed: Int) {
5656
val foo%delegate = Foo()
5757
@Composable
5858
get(%composer: Composer?, %changed: Int) {
59-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
59+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
6060
if (isTraceInProgress()) {
6161
traceEventStart(<>, %changed, -1, <>)
6262
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ComposerParamTransformTests/testUnstableDelegateCall[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ fun test(%composer: Composer?, %changed: Int) {
5656
val foo%delegate = Foo()
5757
@Composable
5858
get(%composer: Composer?, %changed: Int) {
59-
sourceInformationMarkerStart(%composer, <>, "C<Foo()>:Test.kt#2487m")
59+
sourceInformationMarkerStart(%composer, <>, "C(<get-foo>)<Foo()>:Test.kt#2487m")
6060
if (isTraceInProgress()) {
6161
traceEventStart(<>, %changed, -1, <>)
6262
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testComposableInAnonymousObjectDelegate[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ interface B {
2525
@Composable @JvmName(name = "getProperty")
2626
get() {
2727
%composer.startReplaceGroup(<>)
28-
sourceInformation(%composer, "C:Test.kt")
28+
sourceInformation(%composer, "C(<get-property>):Test.kt")
2929
if (isTraceInProgress()) {
3030
traceEventStart(<>, %changed, -1, <>)
3131
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testComposableInAnonymousObjectDelegate[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ interface B {
2525
@Composable @JvmName(name = "getProperty")
2626
get() {
2727
%composer.startReplaceGroup(<>)
28-
sourceInformation(%composer, "C:Test.kt")
28+
sourceInformation(%composer, "C(<get-property>):Test.kt")
2929
if (isTraceInProgress()) {
3030
traceEventStart(<>, %changed, -1, <>)
3131
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testInlineReadOnlySourceLocations[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fun Test() {
3232
val current: Int
3333
@Composable @ReadOnlyComposable @JvmName(name = "getCurrent")
3434
get() {
35-
sourceInformationMarkerStart(%composer, <>, "C:Test.kt")
35+
sourceInformationMarkerStart(%composer, <>, "C(<get-current>):Test.kt")
3636
if (isTraceInProgress()) {
3737
traceEventStart(<>, %changed, -1, "<get-current> (Test.kt:7)")
3838
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testInlineReadOnlySourceLocations[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fun Test() {
3232
val current: Int
3333
@Composable @ReadOnlyComposable @JvmName(name = "getCurrent")
3434
get() {
35-
sourceInformationMarkerStart(%composer, <>, "C:Test.kt")
35+
sourceInformationMarkerStart(%composer, <>, "C(<get-current>):Test.kt")
3636
if (isTraceInProgress()) {
3737
traceEventStart(<>, %changed, -1, "<get-current> (Test.kt:7)")
3838
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testReadOnlyInlineValSourceLocations[useFir = false].txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class CurrentHolder {
4646
val current: Int
4747
@ReadOnlyComposable @Composable @JvmName(name = "getCurrent")
4848
get() {
49-
sourceInformationMarkerStart(%composer, <>, "CC:Test.kt")
49+
sourceInformationMarkerStart(%composer, <>, "CC(<get-current>):Test.kt")
5050
val tmp0 = 0
5151
sourceInformationMarkerEnd(%composer)
5252
return tmp0
@@ -59,7 +59,7 @@ class HolderHolder {
5959
val current: Int
6060
@ReadOnlyComposable @Composable @JvmName(name = "getCurrent")
6161
get() {
62-
sourceInformationMarkerStart(%composer, <>, "C<curren...>:Test.kt")
62+
sourceInformationMarkerStart(%composer, <>, "C(<get-current>)<curren...>:Test.kt")
6363
if (isTraceInProgress()) {
6464
traceEventStart(<>, %changed, -1, "HolderHolder.<get-current> (Test.kt:16)")
6565
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.ControlFlowTransformTests/testReadOnlyInlineValSourceLocations[useFir = true].txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class CurrentHolder {
4646
val current: Int
4747
@ReadOnlyComposable @Composable @JvmName(name = "getCurrent")
4848
get() {
49-
sourceInformationMarkerStart(%composer, <>, "CC:Test.kt")
49+
sourceInformationMarkerStart(%composer, <>, "CC(<get-current>):Test.kt")
5050
val tmp0 = 0
5151
sourceInformationMarkerEnd(%composer)
5252
return tmp0
@@ -59,7 +59,7 @@ class HolderHolder {
5959
val current: Int
6060
@ReadOnlyComposable @Composable @JvmName(name = "getCurrent")
6161
get() {
62-
sourceInformationMarkerStart(%composer, <>, "C<curren...>:Test.kt")
62+
sourceInformationMarkerStart(%composer, <>, "C(<get-current>)<curren...>:Test.kt")
6363
if (isTraceInProgress()) {
6464
traceEventStart(<>, %changed, -1, "HolderHolder.<get-current> (Test.kt:16)")
6565
}

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.FunctionBodySkippingTransformTests/testGrouplessProperty[useFir = false].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ open class Foo {
3232
val current: Int
3333
@Composable @ReadOnlyComposable @JvmName(name = "getCurrent")
3434
get() {
35-
sourceInformationMarkerStart(%composer, <>, "CC:Test.kt")
35+
sourceInformationMarkerStart(%composer, <>, "CC(<get-current>):Test.kt")
3636
val tmp0 = %composer.hashCode()
3737
sourceInformationMarkerEnd(%composer)
3838
return tmp0

Diff for: plugins/compose/compiler-hosted/integration-tests/src/jvmTest/resources/golden/androidx.compose.compiler.plugins.kotlin.FunctionBodySkippingTransformTests/testGrouplessProperty[useFir = true].txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ open class Foo {
3232
val current: Int
3333
@Composable @ReadOnlyComposable @JvmName(name = "getCurrent")
3434
get() {
35-
sourceInformationMarkerStart(%composer, <>, "CC:Test.kt")
35+
sourceInformationMarkerStart(%composer, <>, "CC(<get-current>):Test.kt")
3636
val tmp0 = %composer.hashCode()
3737
sourceInformationMarkerEnd(%composer)
3838
return tmp0

Diff for: plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposableFunctionBodyTransformer.kt

+10-6
Original file line numberDiff line numberDiff line change
@@ -4761,12 +4761,16 @@ private fun mutableStatementContainer(context: IrPluginContext): IrContainerExpr
47614761
)
47624762
}
47634763

4764-
private fun IrFunction.callInformation(): String {
4765-
val inlineMarker = if (isInline) "C" else ""
4766-
return if (!name.isSpecial)
4767-
"${inlineMarker}C(${name.asString()})"
4768-
else "${inlineMarker}C"
4769-
}
4764+
private fun IrFunction.callInformation(): String =
4765+
buildString {
4766+
append('C')
4767+
if (isInline) append('C')
4768+
if (!isLambda()) {
4769+
append('(')
4770+
append(name.asString())
4771+
append(')')
4772+
}
4773+
}
47704774

47714775
// Parameter information is an index from the sorted order of the parameters to the
47724776
// actual order. This is used to reorder the fields of the lambda class generated for

0 commit comments

Comments
 (0)