如何将此Kotlin解释为Java反编译机制

时间:2019-03-13 20:15:00

标签: android kotlin decompiling

我反编译了一个Android APK(科特林代码),试图理解代码并遇到了这个问题:

public final class RetrofitJSONArrayConverter extends Factory {
    public static final Companion Companion = new Companion();
    private static final MediaType MEDIA_TYPE = MediaType.parse("application/json; charset=UTF-8");

    @Metadata(bv = {1, 0, 3}, d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\b\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0010\u0010\u0003\u001a\u0004\u0018\u00010\u0004X\u0004¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lio/voiapp/voi/util/RetrofitJSONArrayConverter$Companion;", "", "()V", "MEDIA_TYPE", "Lokhttp3/MediaType;", "app_release"}, k = 1, mv = {1, 1, 13})
    /* compiled from: RetrofitJSONArrayConverter.kt */
    public static final class Companion {
        private Companion() {
        }
    }

    @Nullable
    public Converter<ResponseBody, ?> responseBodyConverter(@NotNull Type type, @NotNull Annotation[] annotationArr, @NotNull Retrofit retrofit) {
        Intrinsics.checkParameterIsNotNull(type, "type");
        Intrinsics.checkParameterIsNotNull(annotationArr, "annotations");
        Intrinsics.checkParameterIsNotNull(retrofit, "retrofit");
        return Intrinsics.areEqual((Object) JSONArray.class, (Object) type) != null ? (Converter) RetrofitJSONArrayConverter$responseBodyConverter$1.INSTANCE : null;
    }

    @Nullable
    public Converter<?, RequestBody> requestBodyConverter(@NotNull Type type, @NotNull Annotation[] annotationArr, @NotNull Annotation[] annotationArr2, @NotNull Retrofit retrofit) {
        Intrinsics.checkParameterIsNotNull(type, "type");
        Intrinsics.checkParameterIsNotNull(annotationArr, "parameterAnnotations");
        Intrinsics.checkParameterIsNotNull(annotationArr2, "methodAnnotations");
        Intrinsics.checkParameterIsNotNull(retrofit, "retrofit");
        return Intrinsics.areEqual((Object) JSONArray.class, (Object) type) != null ? (Converter) RetrofitJSONArrayConverter$requestBodyConverter$1.INSTANCE : null;
    }
}

我知道Kotlin代码可能会被Java反编译器严重误解 但是反编译器怎么会错过所有这些方法参数

对此有何想法?

0 个答案:

没有答案