//
// Source
// ------------------------------------------

sealed class CompositionLocal2<T> {
    inline val current: T
        @Composable
        get() = error("")
    @Composable fun foo() {}
}

abstract class ProvidableCompositionLocal2<T> : CompositionLocal2<T>() {}
class DynamicProvidableCompositionLocal2<T> : ProvidableCompositionLocal2<T>() {}
class StaticProvidableCompositionLocal2<T> : ProvidableCompositionLocal2<T>() {}

//
// Transformed IR
// ------------------------------------------

public abstract class CompositionLocal2 {
  private <init>()V
  public final getCurrent(Landroidx/compose/runtime/Composer;I)Ljava/lang/Object;
  public final foo(Landroidx/compose/runtime/Composer;I)V
  private final static foo%lambda%0(LCompositionLocal2;ILandroidx/compose/runtime/Composer;I)Lkotlin/Unit;
  public synthetic <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
  static <clinit>()V
  public final static I %stable
}
public abstract class ProvidableCompositionLocal2 extends CompositionLocal2 {
  public <init>()V
  static <clinit>()V
  public final static I %stable
}
public final class DynamicProvidableCompositionLocal2 extends ProvidableCompositionLocal2 {
  public <init>()V
  static <clinit>()V
  public final static I %stable
}
public final class StaticProvidableCompositionLocal2 extends ProvidableCompositionLocal2 {
  public <init>()V
  static <clinit>()V
  public final static I %stable
}
