1.9 以降ではコンパイルエラーを引き起こす列挙型に対する 'declaringClass' プロパティの呼び出しを報告します。

'Enum.getDeclaringClass' は、解決によって通常は表示されない "非表示" の Java 関数のうちの 1 つです。 しかし、合成プロパティ経由では表示可能であり、これはフロントエンドのバグです。

詳細: KT-49653 非推奨の Enum.declaringClass 合成プロパティを除去

クイックフィックスを使用すると、呼び出しが 'declaringJavaClass' に置換されます。

例:


  fun <E: Enum<E>> foo(values: Array<E>) {
    EnumSet.noneOf(values.first().declaringClass)
  }

クイックフィックス適用後:


  fun <E: Enum<E>> foo(values: Array<E>) {
    EnumSet.noneOf(values.first().declaringJavaClass)
  }

このインスペクションは、プロジェクトまたはモジュールの Kotlin 言語レベルが 1.7 以上の場合にのみ報告します。