Open6

Explicit API Mode のメモ

maxfie1dmaxfie1d
  • Explicit API Mode の使い所
  • 公式的には ライブラリ作者のためにこのモードが存在しているらしい。マルチモジュールのプロジェクトで可視性をコントロールする用途については公式では触れられていなさそう
maxfie1dmaxfie1d
  • androidx の中では、room、compose-compiler/runtime、paging 等のプロジェクトで Explicit API Mode が有効になっている
maxfie1dmaxfie1d
  • Explicit API mode をオンにすると public な関数の場合 return type の明示的な指定も必要になる
maxfie1dmaxfie1d

アクセス修飾子を付ける必要があるもの

  • class
    • data class
    • sealed class
  • interface
    • sealed interface
  • object
    • companion object
  • function
  • properties/getter/setter
maxfie1dmaxfie1d
  • Replace structually よりも 通常の Replace の方がやりやすそう
    • replace structually だと visibilityのあるなしもよしなに認識してしまい、すでに可視性が設定されているものまでヒットしてしまうため
  • いきなりすべてのモジュールで実施すると大変なので、フェーズを分けてやるとよさそう