diff --git a/core/runtime.jvm/src/kotlin/KotlinNullPointerException.java b/core/runtime.jvm/src/kotlin/KotlinNullPointerException.java index 087a5c1ed33..e6477acf380 100644 --- a/core/runtime.jvm/src/kotlin/KotlinNullPointerException.java +++ b/core/runtime.jvm/src/kotlin/KotlinNullPointerException.java @@ -17,4 +17,10 @@ package kotlin; public class KotlinNullPointerException extends NullPointerException { + public KotlinNullPointerException() { + } + + public KotlinNullPointerException(String message) { + super(message); + } } diff --git a/core/runtime.jvm/src/kotlin/NoWhenBranchMatchedException.java b/core/runtime.jvm/src/kotlin/NoWhenBranchMatchedException.java index a905a96af9d..54f27b93b59 100644 --- a/core/runtime.jvm/src/kotlin/NoWhenBranchMatchedException.java +++ b/core/runtime.jvm/src/kotlin/NoWhenBranchMatchedException.java @@ -17,4 +17,18 @@ package kotlin; public class NoWhenBranchMatchedException extends RuntimeException { + public NoWhenBranchMatchedException() { + } + + public NoWhenBranchMatchedException(String message) { + super(message); + } + + public NoWhenBranchMatchedException(String message, Throwable cause) { + super(message, cause); + } + + public NoWhenBranchMatchedException(Throwable cause) { + super(cause); + } } diff --git a/core/runtime.jvm/src/kotlin/TypeCastException.java b/core/runtime.jvm/src/kotlin/TypeCastException.java index 6c48fc73605..0205b1088a7 100644 --- a/core/runtime.jvm/src/kotlin/TypeCastException.java +++ b/core/runtime.jvm/src/kotlin/TypeCastException.java @@ -17,7 +17,10 @@ package kotlin; public class TypeCastException extends ClassCastException { - public TypeCastException(String s) { - super(s); + public TypeCastException() { + } + + public TypeCastException(String message) { + super(message); } } diff --git a/core/runtime.jvm/src/kotlin/UninitializedPropertyAccessException.kt b/core/runtime.jvm/src/kotlin/UninitializedPropertyAccessException.kt index 21791444c9d..1ce9a9aad20 100644 --- a/core/runtime.jvm/src/kotlin/UninitializedPropertyAccessException.kt +++ b/core/runtime.jvm/src/kotlin/UninitializedPropertyAccessException.kt @@ -16,4 +16,12 @@ package kotlin -public class UninitializedPropertyAccessException(name: String): RuntimeException("lateinit property $name has not been initialized") \ No newline at end of file +class UninitializedPropertyAccessException : RuntimeException { + constructor() + + constructor(message: String) : super(message) + + constructor(message: String, cause: Throwable) : super(message, cause) + + constructor(cause: Throwable) : super(cause) +} diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/Intrinsics.java b/core/runtime.jvm/src/kotlin/jvm/internal/Intrinsics.java index 4af86d912ca..bdadf8a2530 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/Intrinsics.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/Intrinsics.java @@ -18,9 +18,9 @@ package kotlin.jvm.internal; import kotlin.KotlinNullPointerException; import kotlin.UninitializedPropertyAccessException; -import kotlin.jvm.internal.markers.*; -import java.util.*; +import java.util.Arrays; +import java.util.List; @SuppressWarnings("unused") public class Intrinsics { @@ -35,8 +35,16 @@ public class Intrinsics { throw sanitizeStackTrace(new KotlinNullPointerException()); } + public static void throwNpe(String message) { + throw sanitizeStackTrace(new KotlinNullPointerException(message)); + } + + public static void throwUninitializedProperty(String message) { + throw sanitizeStackTrace(new UninitializedPropertyAccessException(message)); + } + public static void throwUninitializedPropertyAccessException(String propertyName) { - throw sanitizeStackTrace(new UninitializedPropertyAccessException(propertyName)); + throwUninitializedProperty("lateinit property " + propertyName + " has not been initialized"); } public static void checkExpressionValueIsNotNull(Object value, String message) {