diff --git a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/codegens/BlockCodegen.kt b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/codegens/BlockCodegen.kt index 4335671dc56..be04b431c66 100644 --- a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/codegens/BlockCodegen.kt +++ b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/codegens/BlockCodegen.kt @@ -21,6 +21,8 @@ import org.kotlinnative.translator.TranslationState import org.kotlinnative.translator.VariableManager import org.kotlinnative.translator.llvm.* import org.kotlinnative.translator.llvm.types.* +import java.lang.RuntimeException +import java.lang.UnsupportedOperationException import java.rmi.UnexpectedException import kotlin.comparisons.compareBy @@ -1095,7 +1097,7 @@ abstract class BlockCodegen(val state: TranslationState, is LLVMVariable -> LLVMVariable(retVar.label, LLVMNullType(returnType!!.type), retVar.kotlinName, retVar.scope, returnType!!.pointer - 1) else -> throw UnexpectedException("Unknown inheritor of LLVMSingleValue") } - generateReferenceReturn(retVar) + generateReferenceReturn(retVar!!) } is LLVMVoidType -> codeBuilder.addAnyReturn(LLVMVoidType()) else -> { diff --git a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/TranslationException.kt b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/TranslationException.kt index 7f284f7d29a..4b132fcbbcc 100644 --- a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/TranslationException.kt +++ b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/TranslationException.kt @@ -1,3 +1,5 @@ package org.kotlinnative.translator.exceptions +import java.lang.Exception + class TranslationException(message: String) : Exception(message) diff --git a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/UnimplementedException.kt b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/UnimplementedException.kt index 0906653fcd6..e4b2b0dd4bc 100644 --- a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/UnimplementedException.kt +++ b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/exceptions/UnimplementedException.kt @@ -1,3 +1,5 @@ package org.kotlinnative.translator.exceptions +import java.lang.Exception + class UnimplementedException() : Exception() diff --git a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/llvm/types/LLVMBooleanType.kt b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/llvm/types/LLVMBooleanType.kt index 0b58f1dd43f..856a030be72 100644 --- a/experiments/translator/src/main/kotlin/org/kotlinnative/translator/llvm/types/LLVMBooleanType.kt +++ b/experiments/translator/src/main/kotlin/org/kotlinnative/translator/llvm/types/LLVMBooleanType.kt @@ -2,6 +2,7 @@ package org.kotlinnative.translator.llvm.types import org.kotlinnative.translator.llvm.LLVMExpression import org.kotlinnative.translator.llvm.LLVMSingleValue +import java.lang.IllegalArgumentException class LLVMBooleanType() : LLVMType() {