以下の内容はhttps://blog.takuji31.jp/entry/2017/08/16/182745より取得しました。


KotlinでJavaの予約語をメソッド名に使うとstubでメソッドが生成されない

ここで言うstubとは、Kotlinのstub生成機能で、Pluggable Annotation ProcessingでKotlinのクラスを処理するために必要になってくるもの。コンパイル時にJavaコンパイル前にKotlinのファイルからJavaソースコードを生成してstubとして利用する。

当たり前といえば当たり前なんだけど、Kotlin側ではメソッドが作れてしまうのでうっかり作ってしまってハマりそう

@Module
object SharedPreferencesModule {
  @Provides @JvmStatic fun default(context: Context) : SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
}

これのstubはこうなる(一部省略)

@dagger.Module()
public final class SharedPreferencesModule {
    public static final com.github.takuji31.di.SharedPreferencesModule INSTANCE = null;
    private SharedPreferencesModule() {
        super();
    }
}

何もない😇

↓のようにするとよい

@Module
object SharedPreferencesModule {
  @Provides @JvmStatic fun defaultSharedPreferences(context: Context) : SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
}

こうなる

@dagger.Module()
public final class SharedPreferencesModule {
    public static final com.github.takuji31.di.SharedPreferencesModule INSTANCE = null;
    
    @org.jetbrains.annotations.NotNull()
    @dagger.Provides()
    public static final android.content.SharedPreferences defaultSharedPreferences(@org.jetbrains.annotations.NotNull()
    android.content.Context context) {
        return null;
    }
    
    private SharedPreferencesModule() {
        super();
    }
}



以上の内容はhttps://blog.takuji31.jp/entry/2017/08/16/182745より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14