1# Removes runtime checks added through Kotlin to JVM code genereration to
2# avoid linear growth as more Kotlin code is converted / added to the codebase.
3# These checks are generally applied to Java platform types (values returned
4# from Java code that don't have nullness annotations), but we remove them to
5# avoid code size increases.
6#
7# See also https://kotlinlang.org/docs/reference/java-interop.html
8#
9# TODO(b/199941987): Consider standardizing these rules in a central place as
10# Kotlin gains adoption with other platform targets.
11-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
12    # Remove check for method parameters being null
13    static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
14
15    # When a Java platform type is returned and passed to Kotlin NonNull method,
16    # remove the null check
17    static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
18    static void checkNotNullExpressionValue(java.lang.Object, java.lang.String);
19
20    # Remove check that final value returned from method is null, if passing
21    # back Java platform type.
22    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
23    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String);
24
25    # Null check for accessing a field from a parent class written in Java.
26    static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
27    static void checkFieldIsNotNull(java.lang.Object, java.lang.String);
28
29    # Removes code generated from !! operator which converts Nullable type to
30    # NonNull type. These would throw an NPE immediate after on access.
31    static void checkNotNull(java.lang.Object, java.lang.String);
32    static void checkNotNullParameter(java.lang.Object, java.lang.String);
33
34    # Removes lateinit var check being used before being set. Check is applied
35    # on every field access without this.
36    static void throwUninitializedPropertyAccessException(java.lang.String);
37}
38