// DISABLE_JAVA_FACADE
// RUN_PIPELINE_TILL: BACKEND
// FILE: GenericJava.java
public class GenericJava<F> {
    public java.util.List<F> getFoo() {}
}

// FILE: main.kt
class Controller<T> {
    fun yield(t: T) {}

    fun gg(): GenericJava<T> = TODO()
}

fun <S> generate(g: suspend Controller<S>.() -> Unit) {}

fun main() {
    generate {
        yield("")
        gg().foo
    }
}

/* GENERATED_FIR_TAGS: classDeclaration, flexibleType, functionDeclaration, functionalType, javaProperty, javaType,
lambdaLiteral, nullableType, stringLiteral, suspend, typeParameter, typeWithExtension */
