blob: 9380c6fabe061f7571e53b5a3b1060cf932d47c7 [file] [log] [blame]
// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.kotlin.metadata.context_receiver_app
import com.android.tools.r8.kotlin.metadata.context_receiver_lib.Bar
import com.android.tools.r8.kotlin.metadata.context_receiver_lib.Foo
import com.android.tools.r8.kotlin.metadata.context_receiver_lib.Baz
import com.android.tools.r8.kotlin.metadata.context_receiver_lib.Printer
import com.android.tools.r8.kotlin.metadata.context_receiver_lib.callFooBar
class FooImpl : Foo {
override fun m1(): String {
println("FooImpl::m1")
return "Hello "
}
}
class BarImpl : Bar {
override fun m2(): String {
println("BarImpl::m2")
return "World!"
}
}
class BazImpl : Baz {
override fun m3(): String {
println("BazImpl::m3")
return "BazImpl::m3"
}
}
fun main() {
with (FooImpl()) {
with (BarImpl()) {
val printer = Printer()
printer.fooBar()
with (BazImpl()) {
println(printer.getValue)
println(callFooBar())
}
}
}
}