From 8ed1b7b0838c9310054a6c7a62752d9078572822 Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Fri, 23 Sep 2016 11:08:11 +0300 Subject: [PATCH] test run, test was done with following command: for f in $(find . -name \*.kt) ; do java -jar ../../../../build/libs/translator-bc-1.0.jar ./while_break_1/while_break_1.kt > ./while_break_1/while_break_1.kt.out 2>./while_break_1/while_break_1.kt.err; [ 0 -ne 0 ] && echo ./while_break_1/while_break_1.kt failed ; done after this, *.err files with zero bytes were removed, so some mean this is test data, for wheather modification are corrent and whether they were translated correctly NOTE: for loop should be launched in experiments/translator-bc/src/test/kotlin/tests to avoid run of trunlator on other sources of the project. --- .../array_extensions_1.kt.err | 12 + .../array_extensions_1.kt.out | 0 .../array_extensions_2.kt.err | 8 + .../array_extensions_2.kt.out | 0 .../assignment_operators_1.kt.out | 58 +++ .../booleanarray_1/booleanarray_1.kt.err | 15 + .../booleanarray_1/booleanarray_1.kt.out | 0 .../tests/bytearray_1/bytearray_1.kt.err | 6 + .../tests/bytearray_1/bytearray_1.kt.out | 0 .../tests/callbacks_1/callbacks_1.kt.out | 242 +++++++++++++ .../class_alignment_1.kt.err | 8 + .../class_alignment_1.kt.out | 0 .../class_class_argument_1.kt.out | 59 ++++ .../class_default_argument_1.kt.out | 56 +++ .../class_init_section_1.kt.out | 57 +++ .../class_method_access_1.kt.out | 89 +++++ .../class_methods_1/class_methods_1.kt.out | 48 +++ .../class_reassignment_1.kt.out | 61 ++++ .../class_reassignment_2.kt.out | 82 +++++ .../class_variable_access_1.kt.out | 82 +++++ .../tests/classfields_1/classfields_1.kt.out | 64 ++++ .../tests/classfields_2/classfields_2.kt.out | 87 +++++ .../companion_object_1.kt.out | 45 +++ .../companion_object_2.kt.out | 50 +++ .../complex_dot_expr/complex_dot_expr.kt.out | 67 ++++ .../declaration_test_1.kt.out | 63 ++++ .../src/test/kotlin/tests/dfs_1/dfs_1.kt.out | 244 +++++++++++++ .../different_type_binary_operator_1.kt.out | 49 +++ .../kotlin/tests/do_while_1/do_while_1.kt.out | 30 ++ .../test/kotlin/tests/elvis_1/elvis_1.kt.out | 70 ++++ .../tests/enum_complex/enum_complex.kt.out | 77 ++++ .../enum_inner_fields.kt.err | 6 + .../enum_inner_fields.kt.out | 0 .../floating_point_operators_1.kt.out | 34 ++ .../src/test/kotlin/tests/for_1/for_1.kt.err | 20 ++ .../src/test/kotlin/tests/for_1/for_1.kt.out | 0 .../function_default_arguments_1.kt.out | 215 +++++++++++ .../tests/function_eq/function_eq.kt.out | 75 ++++ .../function_extensions_1.kt.out | 34 ++ ...nction_extensions_double_argument_1.kt.err | 22 ++ ...nction_extensions_double_argument_1.kt.out | 0 .../get_set_operators_1.kt.out | 91 +++++ .../tests/global_vars_1/global_vars_1.kt.out | 22 ++ .../src/test/kotlin/tests/if_1/if_1.kt.out | 84 +++++ .../src/test/kotlin/tests/if_2/if_2.kt.out | 28 ++ .../if_boolean_argument_1.kt.out | 25 ++ .../if_expression_1/if_expression_1.kt.out | 53 +++ .../initialization_in_place_and_this_1.kt.out | 96 +++++ .../initialized_class_fields_1.kt.out | 37 ++ .../kotlin/tests/intarray_1/intarray_1.kt.err | 15 + .../kotlin/tests/intarray_1/intarray_1.kt.out | 0 .../long_operations_1.kt.err | 7 + .../long_operations_1.kt.out | 0 .../nested_classes/nested_classes.kt.out | 91 +++++ .../null_comparison_1.kt.err | 6 + .../null_comparison_1.kt.out | 0 .../kotlin/tests/nullable_1/nullable_1.kt.out | 116 ++++++ .../nullable_class_fields_1.kt.out | 110 ++++++ .../nullable_primitive_types_1.kt.out | 132 +++++++ .../numeric_literals_1.kt.out | 33 ++ .../kotlin/tests/object_1/object_1.kt.out | 49 +++ .../kotlin/tests/postfix_1/postfix_1.kt.out | 131 +++++++ .../tests/primitives_1/primitives_1.kt.err | 21 ++ .../tests/primitives_1/primitives_1.kt.out | 0 .../proto_crossbranch_test.kt.err | 152 ++++++++ .../proto_crossbranch_test.kt.out | 0 .../proto_location_test.kt.err | 65 ++++ .../proto_location_test.kt.out | 0 .../proto_multiple_messages.kt.err | 67 ++++ .../proto_multiple_messages.kt.out | 0 .../proto_repeated_varint.kt.err | 190 ++++++++++ .../proto_repeated_varint.kt.out | 0 .../proto_repeated_zigzag.kt.err | 70 ++++ .../proto_repeated_zigzag.kt.out | 0 .../proto_tagorder_test.kt.err | 121 +++++++ .../proto_tagorder_test.kt.out | 0 .../tests/proto_varint/proto_varint.kt.err | 62 ++++ .../tests/proto_varint/proto_varint.kt.out | 0 .../tests/proto_zigzag/proto_zigzag.kt.err | 32 ++ .../tests/proto_zigzag/proto_zigzag.kt.out | 0 .../range_operator_1/range_operator_1.kt.err | 16 + .../range_operator_1/range_operator_1.kt.out | 0 .../tests/reassigment_0/reassigment_0.kt.out | 20 ++ .../tests/reassigment_1/reassigment_1.kt.out | 32 ++ .../referential_equality_1.kt.out | 333 ++++++++++++++++++ .../referential_equality_2.kt.out | 95 +++++ .../kotlin/tests/return_1/return_1.kt.out | 14 + .../safe_access_operator.kt.out | 77 ++++ .../secondary_constructor_1.kt.err | 8 + .../secondary_constructor_1.kt.out | 0 .../serialization_test.kt.err | 97 +++++ .../serialization_test.kt.out | 0 .../simple_class_2/simple_class_2.kt.out | 102 ++++++ .../simple_proto_test_1.kt.err | 52 +++ .../simple_proto_test_1.kt.out | 0 .../simply_class_1/simply_class_1.kt.out | 52 +++ .../tests/smartcast_1/smartcast_1.kt.out | 43 +++ .../tests/stress_test_1/stress_test_1.kt.err | 73 ++++ .../tests/stress_test_1/stress_test_1.kt.out | 0 .../string_print_test_1.kt.err | 7 + .../string_print_test_1.kt.out | 0 .../tests/this_test_1/this_test_1.kt.out | 54 +++ .../unary_operators_1.kt.out | 33 ++ .../variables_assigment_1.kt.out | 25 ++ .../kotlin/tests/when_block/when_block.kt.out | 41 +++ .../when_expression_1.kt.err | 19 + .../when_expression_1.kt.out | 0 .../test/kotlin/tests/while_1/while_1.kt.out | 28 ++ .../test/kotlin/tests/while_2/while_2.kt.out | 30 ++ .../while_argument_side_effects_1.kt.out | 63 ++++ .../tests/while_break_1/while_break_1.kt.out | 30 ++ 111 files changed, 5385 insertions(+) create mode 100644 experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/assignment_operators_1/assignment_operators_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/callbacks_1/callbacks_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_class_argument_1/class_class_argument_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_default_argument_1/class_default_argument_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_init_section_1/class_init_section_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_method_access_1/class_method_access_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_methods_1/class_methods_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_reassignment_1/class_reassignment_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_reassignment_2/class_reassignment_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/class_variable_access_1/class_variable_access_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/classfields_1/classfields_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/classfields_2/classfields_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/companion_object_1/companion_object_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/companion_object_2/companion_object_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/complex_dot_expr/complex_dot_expr.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/declaration_test_1/declaration_test_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/dfs_1/dfs_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/different_type_binary_operator_1/different_type_binary_operator_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/do_while_1/do_while_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/elvis_1/elvis_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/enum_complex/enum_complex.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/floating_point_operators_1/floating_point_operators_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/function_default_arguments_1/function_default_arguments_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/function_eq/function_eq.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/function_extensions_1/function_extensions_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/get_set_operators_1/get_set_operators_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/global_vars_1/global_vars_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/if_1/if_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/if_2/if_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/if_boolean_argument_1/if_boolean_argument_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/if_expression_1/if_expression_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/initialization_in_place_and_this_1/initialization_in_place_and_this_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/initialized_class_fields_1/initialized_class_fields_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/nested_classes/nested_classes.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/nullable_1/nullable_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/nullable_class_fields_1/nullable_class_fields_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/nullable_primitive_types_1/nullable_primitive_types_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/numeric_literals_1/numeric_literals_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/object_1/object_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/postfix_1/postfix_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/reassigment_0/reassigment_0.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/reassigment_1/reassigment_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/referential_equality_1/referential_equality_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/referential_equality_2/referential_equality_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/return_1/return_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/safe_access_operator/safe_access_operator.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/simple_class_2/simple_class_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/simply_class_1/simply_class_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/smartcast_1/smartcast_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/this_test_1/this_test_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/unary_operators_1/unary_operators_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/variables_assigment_1/variables_assigment_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/when_block/when_block.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.err create mode 100644 experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/while_1/while_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/while_2/while_2.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/while_argument_side_effects_1/while_argument_side_effects_1.kt.out create mode 100644 experiments/translator-bc/src/test/kotlin/tests/while_break_1/while_break_1.kt.out diff --git a/experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.err new file mode 100644 index 00000000000..0e67b20a8c4 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.err @@ -0,0 +1,12 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_1/array_extensions_1.kt 6:26 Unresolved reference: copyOf +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_1/array_extensions_1.kt 15:26 Unresolved reference: copyOf +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_1/array_extensions_1.kt 29:26 Unresolved reference: copyOfRange +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_1/array_extensions_1.kt 44:26 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_1/array_extensions_1.kt 59:26 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_1/array_extensions_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.err b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.err new file mode 100644 index 00000000000..12c34c23900 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.err @@ -0,0 +1,8 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_2/array_extensions_2.kt 3:19 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./array_extensions_2/array_extensions_2.kt 4:5 Unresolved reference: println +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/array_extensions_2/array_extensions_2.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/assignment_operators_1/assignment_operators_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/assignment_operators_1/assignment_operators_1.kt.out new file mode 100644 index 00000000000..33a6223a007 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/assignment_operators_1/assignment_operators_1.kt.out @@ -0,0 +1,58 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @assignment_operators_1_plus_Int(i32 %assignment_operators_1_plus.x) #0 +{ +%assignment_operators_1_plus.x.addr = alloca i32, align 4 +store i32 %assignment_operators_1_plus.x, i32* %assignment_operators_1_plus.x.addr, align 4 +%managed.unique.0.assignment_operators_1_plus.nzk = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var3 = load i32* %assignment_operators_1_plus.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var4 = load i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var5 = load i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var6 = add nsw i32 %var5, 6 +store i32 %var6, i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var7 = load i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +%var8 = load i32* %managed.unique.0.assignment_operators_1_plus.nzk, align 4 +ret i32 %var8 +unreachable +} +define weak i32 @assignment_operators_1_times_Int(i32 %assignment_operators_1_times.x) #0 +{ +%assignment_operators_1_times.x.addr = alloca i32, align 4 +store i32 %assignment_operators_1_times.x, i32* %assignment_operators_1_times.x.addr, align 4 +%managed.unique.1.assignment_operators_1_times.nzk = alloca i32, align 4 +%var9 = load i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var10 = load i32* %assignment_operators_1_times.x.addr, align 4 +store i32 %var10, i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var11 = load i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var12 = load i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var13 = mul nsw i32 %var12, 6 +store i32 %var13, i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var14 = load i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +%var15 = load i32* %managed.unique.1.assignment_operators_1_times.nzk, align 4 +ret i32 %var15 +unreachable +} +define weak i32 @assignment_operators_1_minus_Int(i32 %assignment_operators_1_minus.x) #0 +{ +%assignment_operators_1_minus.x.addr = alloca i32, align 4 +store i32 %assignment_operators_1_minus.x, i32* %assignment_operators_1_minus.x.addr, align 4 +%managed.unique.2.assignment_operators_1_minus.nzk = alloca i32, align 4 +%var16 = load i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var17 = load i32* %assignment_operators_1_minus.x.addr, align 4 +store i32 %var17, i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var18 = load i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var19 = load i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var20 = sub nsw i32 %var19, 6 +store i32 %var20, i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var21 = load i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +%var22 = load i32* %managed.unique.2.assignment_operators_1_minus.nzk, align 4 +ret i32 %var22 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.err new file mode 100644 index 00000000000..2e8d0441f9c --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.err @@ -0,0 +1,15 @@ +Exception in thread "main" java.rmi.UnexpectedException: %class.kotlin.BooleanArray%var8 + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateMemberMethodOrField(BlockCodegen.kt:112) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotBody(BlockCodegen.kt:332) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotExpression(BlockCodegen.kt:284) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:199) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/booleanarray_1/booleanarray_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.err new file mode 100644 index 00000000000..802bcbb4af6 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.err @@ -0,0 +1,6 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./bytearray_1/bytearray_1.kt 23:5 Unresolved reference: assert +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/bytearray_1/bytearray_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/callbacks_1/callbacks_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/callbacks_1/callbacks_1.kt.out new file mode 100644 index 00000000000..061e6bb8412 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/callbacks_1/callbacks_1.kt.out @@ -0,0 +1,242 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +declare i32 @apply_c(i32 %apply_c.arg, i32 (i32)* %apply_c.x) #0 +define weak i32 @callback_1_dec_Int(i32 %callback_1_dec.i) #0 +{ +%callback_1_dec.i.addr = alloca i32, align 4 +store i32 %callback_1_dec.i, i32* %callback_1_dec.i.addr, align 4 +%var2 = load i32* %callback_1_dec.i.addr, align 4 +%var3 = sub nsw i32 %var2, 1 +ret i32 %var3 +unreachable +} +define weak i32 @callback_1_inc_Int(i32 %callback_1_inc.i) #0 +{ +%callback_1_inc.i.addr = alloca i32, align 4 +store i32 %callback_1_inc.i, i32* %callback_1_inc.i.addr, align 4 +%var4 = load i32* %callback_1_inc.i.addr, align 4 +%var5 = add nsw i32 %var4, 1 +ret i32 %var5 +unreachable +} +define weak i32 @callback_1_apply_Int_F._Int.EF(i32 %callback_1_apply.arg, i32 (i32)* %callback_1_apply.x) #0 +{ +%callback_1_apply.arg.addr = alloca i32, align 4 +store i32 %callback_1_apply.arg, i32* %callback_1_apply.arg.addr, align 4 +%var6 = load i32* %callback_1_apply.arg.addr, align 4 +%var7 = call i32 %callback_1_apply.x(i32 %var6) +%var8 = alloca i32, align 4 +store i32 %var7, i32* %var8, align 4 +%var9 = load i32* %var8, align 4 +ret i32 %var9 +unreachable +} +define weak i32 @external_test_Int(i32 %external_test.x) #0 +{ +%external_test.x.addr = alloca i32, align 4 +store i32 %external_test.x, i32* %external_test.x.addr, align 4 +%var10 = load i32* %external_test.x.addr, align 4 +%var11 = call i32 @apply_c(i32 %var10, i32 (i32)* @callback_1_dec_Int) +%var12 = alloca i32, align 4 +store i32 %var11, i32* %var12, align 4 +%var13 = load i32* %external_test.x.addr, align 4 +%var14 = call i32 @apply_c(i32 %var13, i32 (i32)* @callback_1_dec_Int) +%var15 = alloca i32, align 4 +store i32 %var14, i32* %var15, align 4 +%var16 = load i32* %var15, align 4 +%var17 = call i32 @apply_c(i32 %var16, i32 (i32)* @callback_1_dec_Int) +%var18 = alloca i32, align 4 +store i32 %var17, i32* %var18, align 4 +%var19 = load i32* %external_test.x.addr, align 4 +%var20 = call i32 @apply_c(i32 %var19, i32 (i32)* @callback_1_dec_Int) +%var21 = alloca i32, align 4 +store i32 %var20, i32* %var21, align 4 +%var22 = load i32* %external_test.x.addr, align 4 +%var23 = call i32 @apply_c(i32 %var22, i32 (i32)* @callback_1_dec_Int) +%var24 = alloca i32, align 4 +store i32 %var23, i32* %var24, align 4 +%var25 = load i32* %var24, align 4 +%var26 = call i32 @apply_c(i32 %var25, i32 (i32)* @callback_1_dec_Int) +%var27 = alloca i32, align 4 +store i32 %var26, i32* %var27, align 4 +%var28 = load i32* %var27, align 4 +%var29 = call i32 @apply_c(i32 %var28, i32 (i32)* @callback_1_inc_Int) +%var30 = alloca i32, align 4 +store i32 %var29, i32* %var30, align 4 +%var31 = load i32* %var30, align 4 +ret i32 %var31 +unreachable +} +define weak i32 @compact_test_Int(i32 %compact_test.x) #0 +{ +%compact_test.x.addr = alloca i32, align 4 +store i32 %compact_test.x, i32* %compact_test.x.addr, align 4 +%var32 = load i32* %compact_test.x.addr, align 4 +%var33 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var32, i32 (i32)* @callback_1_inc_Int) +%var34 = alloca i32, align 4 +store i32 %var33, i32* %var34, align 4 +%var35 = load i32* %compact_test.x.addr, align 4 +%var36 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var35, i32 (i32)* @callback_1_inc_Int) +%var37 = alloca i32, align 4 +store i32 %var36, i32* %var37, align 4 +%var38 = load i32* %var37, align 4 +%var39 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var38, i32 (i32)* @callback_1_inc_Int) +%var40 = alloca i32, align 4 +store i32 %var39, i32* %var40, align 4 +%var41 = load i32* %compact_test.x.addr, align 4 +%var42 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var41, i32 (i32)* @callback_1_inc_Int) +%var43 = alloca i32, align 4 +store i32 %var42, i32* %var43, align 4 +%var44 = load i32* %compact_test.x.addr, align 4 +%var45 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var44, i32 (i32)* @callback_1_inc_Int) +%var46 = alloca i32, align 4 +store i32 %var45, i32* %var46, align 4 +%var47 = load i32* %var46, align 4 +%var48 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var47, i32 (i32)* @callback_1_inc_Int) +%var49 = alloca i32, align 4 +store i32 %var48, i32* %var49, align 4 +%var50 = load i32* %var49, align 4 +%var51 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var50, i32 (i32)* @callback_1_dec_Int) +%var52 = alloca i32, align 4 +store i32 %var51, i32* %var52, align 4 +%var53 = load i32* %var52, align 4 +ret i32 %var53 +unreachable +} +define weak i32 @mixed_test_Int(i32 %mixed_test.x) #0 +{ +%mixed_test.x.addr = alloca i32, align 4 +store i32 %mixed_test.x, i32* %mixed_test.x.addr, align 4 +%var54 = load i32* %mixed_test.x.addr, align 4 +%var55 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var54, i32 (i32)* @callback_1_inc_Int) +%var56 = alloca i32, align 4 +store i32 %var55, i32* %var56, align 4 +%var57 = load i32* %mixed_test.x.addr, align 4 +%var58 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var57, i32 (i32)* @callback_1_inc_Int) +%var59 = alloca i32, align 4 +store i32 %var58, i32* %var59, align 4 +%var60 = load i32* %var59, align 4 +%var61 = call i32 @apply_c(i32 %var60, i32 (i32)* @callback_1_inc_Int) +%var62 = alloca i32, align 4 +store i32 %var61, i32* %var62, align 4 +%var63 = load i32* %mixed_test.x.addr, align 4 +%var64 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var63, i32 (i32)* @callback_1_inc_Int) +%var65 = alloca i32, align 4 +store i32 %var64, i32* %var65, align 4 +%var66 = load i32* %mixed_test.x.addr, align 4 +%var67 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var66, i32 (i32)* @callback_1_inc_Int) +%var68 = alloca i32, align 4 +store i32 %var67, i32* %var68, align 4 +%var69 = load i32* %var68, align 4 +%var70 = call i32 @apply_c(i32 %var69, i32 (i32)* @callback_1_inc_Int) +%var71 = alloca i32, align 4 +store i32 %var70, i32* %var71, align 4 +%var72 = load i32* %var71, align 4 +%var73 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var72, i32 (i32)* @callback_1_inc_Int) +%var74 = alloca i32, align 4 +store i32 %var73, i32* %var74, align 4 +%var75 = load i32* %mixed_test.x.addr, align 4 +%var76 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var75, i32 (i32)* @callback_1_inc_Int) +%var77 = alloca i32, align 4 +store i32 %var76, i32* %var77, align 4 +%var78 = load i32* %mixed_test.x.addr, align 4 +%var79 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var78, i32 (i32)* @callback_1_inc_Int) +%var80 = alloca i32, align 4 +store i32 %var79, i32* %var80, align 4 +%var81 = load i32* %var80, align 4 +%var82 = call i32 @apply_c(i32 %var81, i32 (i32)* @callback_1_inc_Int) +%var83 = alloca i32, align 4 +store i32 %var82, i32* %var83, align 4 +%var84 = load i32* %mixed_test.x.addr, align 4 +%var85 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var84, i32 (i32)* @callback_1_inc_Int) +%var86 = alloca i32, align 4 +store i32 %var85, i32* %var86, align 4 +%var87 = load i32* %mixed_test.x.addr, align 4 +%var88 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var87, i32 (i32)* @callback_1_inc_Int) +%var89 = alloca i32, align 4 +store i32 %var88, i32* %var89, align 4 +%var90 = load i32* %var89, align 4 +%var91 = call i32 @apply_c(i32 %var90, i32 (i32)* @callback_1_inc_Int) +%var92 = alloca i32, align 4 +store i32 %var91, i32* %var92, align 4 +%var93 = load i32* %var92, align 4 +%var94 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var93, i32 (i32)* @callback_1_inc_Int) +%var95 = alloca i32, align 4 +store i32 %var94, i32* %var95, align 4 +%var96 = load i32* %var95, align 4 +%var97 = call i32 @apply_c(i32 %var96, i32 (i32)* @callback_1_dec_Int) +%var98 = alloca i32, align 4 +store i32 %var97, i32* %var98, align 4 +%var99 = load i32* %mixed_test.x.addr, align 4 +%var100 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var99, i32 (i32)* @callback_1_inc_Int) +%var101 = alloca i32, align 4 +store i32 %var100, i32* %var101, align 4 +%var102 = load i32* %mixed_test.x.addr, align 4 +%var103 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var102, i32 (i32)* @callback_1_inc_Int) +%var104 = alloca i32, align 4 +store i32 %var103, i32* %var104, align 4 +%var105 = load i32* %var104, align 4 +%var106 = call i32 @apply_c(i32 %var105, i32 (i32)* @callback_1_inc_Int) +%var107 = alloca i32, align 4 +store i32 %var106, i32* %var107, align 4 +%var108 = load i32* %mixed_test.x.addr, align 4 +%var109 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var108, i32 (i32)* @callback_1_inc_Int) +%var110 = alloca i32, align 4 +store i32 %var109, i32* %var110, align 4 +%var111 = load i32* %mixed_test.x.addr, align 4 +%var112 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var111, i32 (i32)* @callback_1_inc_Int) +%var113 = alloca i32, align 4 +store i32 %var112, i32* %var113, align 4 +%var114 = load i32* %var113, align 4 +%var115 = call i32 @apply_c(i32 %var114, i32 (i32)* @callback_1_inc_Int) +%var116 = alloca i32, align 4 +store i32 %var115, i32* %var116, align 4 +%var117 = load i32* %var116, align 4 +%var118 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var117, i32 (i32)* @callback_1_inc_Int) +%var119 = alloca i32, align 4 +store i32 %var118, i32* %var119, align 4 +%var120 = load i32* %mixed_test.x.addr, align 4 +%var121 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var120, i32 (i32)* @callback_1_inc_Int) +%var122 = alloca i32, align 4 +store i32 %var121, i32* %var122, align 4 +%var123 = load i32* %mixed_test.x.addr, align 4 +%var124 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var123, i32 (i32)* @callback_1_inc_Int) +%var125 = alloca i32, align 4 +store i32 %var124, i32* %var125, align 4 +%var126 = load i32* %var125, align 4 +%var127 = call i32 @apply_c(i32 %var126, i32 (i32)* @callback_1_inc_Int) +%var128 = alloca i32, align 4 +store i32 %var127, i32* %var128, align 4 +%var129 = load i32* %mixed_test.x.addr, align 4 +%var130 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var129, i32 (i32)* @callback_1_inc_Int) +%var131 = alloca i32, align 4 +store i32 %var130, i32* %var131, align 4 +%var132 = load i32* %mixed_test.x.addr, align 4 +%var133 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var132, i32 (i32)* @callback_1_inc_Int) +%var134 = alloca i32, align 4 +store i32 %var133, i32* %var134, align 4 +%var135 = load i32* %var134, align 4 +%var136 = call i32 @apply_c(i32 %var135, i32 (i32)* @callback_1_inc_Int) +%var137 = alloca i32, align 4 +store i32 %var136, i32* %var137, align 4 +%var138 = load i32* %var137, align 4 +%var139 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var138, i32 (i32)* @callback_1_inc_Int) +%var140 = alloca i32, align 4 +store i32 %var139, i32* %var140, align 4 +%var141 = load i32* %var140, align 4 +%var142 = call i32 @apply_c(i32 %var141, i32 (i32)* @callback_1_dec_Int) +%var143 = alloca i32, align 4 +store i32 %var142, i32* %var143, align 4 +%var144 = load i32* %var143, align 4 +%var145 = call i32 @callback_1_apply_Int_F._Int.EF(i32 %var144, i32 (i32)* @callback_1_inc_Int) +%var146 = alloca i32, align 4 +store i32 %var145, i32* %var146, align 4 +%var147 = load i32* %var146, align 4 +ret i32 %var147 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.err new file mode 100644 index 00000000000..b9a51ce109b --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.err @@ -0,0 +1,8 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./class_alignment_1/class_alignment_1.kt 6:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./class_alignment_1/class_alignment_1.kt 7:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./class_alignment_1/class_alignment_1.kt 8:5 Unresolved reference: assert +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_alignment_1/class_alignment_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_class_argument_1/class_class_argument_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_class_argument_1/class_class_argument_1.kt.out new file mode 100644 index 00000000000..959db647dbd --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_class_argument_1/class_class_argument_1.kt.out @@ -0,0 +1,59 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_class_argument_1_slave = type { } +%class.class_class_argument_1_master = type { %class.class_class_argument_1_slave*, i32 } +define weak void @class_class_argument_1_slave(%class.class_class_argument_1_slave* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.class_class_argument_1_slave, align 8 +%var2 = bitcast %class.class_class_argument_1_slave* %classvariable.this to i8* +%var3 = bitcast %class.class_class_argument_1_slave* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak void @class_class_argument_1_master_Ref_class_class_argument_1_slave(%class.class_class_argument_1_master* %classvariable.this, %class.class_class_argument_1_slave* %class_class_argument_1_master.buffer) #0 +{ +%classvariable.this.addr = alloca %class.class_class_argument_1_master, align 8 +%var4 = getelementptr inbounds %class.class_class_argument_1_master* %classvariable.this.addr, i32 0, i32 0 +store %class.class_class_argument_1_slave* %class_class_argument_1_master.buffer, %class.class_class_argument_1_slave** %var4, align 8 +%var5 = getelementptr inbounds %class.class_class_argument_1_master* %classvariable.this.addr, i32 0, i32 1 +%var6 = load i32* %var5, align 4 +store i32 99999, i32* %var5, align 4 +%var7 = bitcast %class.class_class_argument_1_master* %classvariable.this to i8* +%var8 = bitcast %class.class_class_argument_1_master* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var7, i8* %var8, i64 16, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_class_argument_1() #0 +{ +%var10 = call i8* @malloc_heap(i32 0) +%var9 = bitcast i8* %var10 to %class.class_class_argument_1_slave* +%var11 = alloca %class.class_class_argument_1_slave*, align 8 +store %class.class_class_argument_1_slave* %var9, %class.class_class_argument_1_slave** %var11, align 8 +call void @class_class_argument_1_slave(%class.class_class_argument_1_slave* %var9) +%managed.unique.0.class_class_argument_1.buffer = alloca %class.class_class_argument_1_slave*, align 8 +%var12 = load %class.class_class_argument_1_slave** %managed.unique.0.class_class_argument_1.buffer, align 8 +%var13 = load %class.class_class_argument_1_slave** %var11, align 8 +store %class.class_class_argument_1_slave* %var13, %class.class_class_argument_1_slave** %managed.unique.0.class_class_argument_1.buffer, align 8 +%var14 = load %class.class_class_argument_1_slave** %managed.unique.0.class_class_argument_1.buffer, align 8 +%var16 = call i8* @malloc_heap(i32 16) +%var15 = bitcast i8* %var16 to %class.class_class_argument_1_master* +%var17 = alloca %class.class_class_argument_1_master*, align 8 +store %class.class_class_argument_1_master* %var15, %class.class_class_argument_1_master** %var17, align 8 +call void @class_class_argument_1_master_Ref_class_class_argument_1_slave(%class.class_class_argument_1_master* %var15, %class.class_class_argument_1_slave* %var14) +%managed.unique.1.class_class_argument_1.output = alloca %class.class_class_argument_1_master*, align 8 +%var18 = load %class.class_class_argument_1_master** %managed.unique.1.class_class_argument_1.output, align 8 +%var19 = load %class.class_class_argument_1_master** %var17, align 8 +store %class.class_class_argument_1_master* %var19, %class.class_class_argument_1_master** %managed.unique.1.class_class_argument_1.output, align 8 +%var20 = load %class.class_class_argument_1_master** %managed.unique.1.class_class_argument_1.output, align 8 +%var21 = getelementptr inbounds %class.class_class_argument_1_master* %var20, i32 0, i32 1 +%var22 = load i32* %var21, align 4 +ret i32 %var22 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_default_argument_1/class_default_argument_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_default_argument_1/class_default_argument_1.kt.out new file mode 100644 index 00000000000..c0d512dd37f --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_default_argument_1/class_default_argument_1.kt.out @@ -0,0 +1,56 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_default_argument_1_class = type { i32 } +define weak void @class_default_argument_1_class_Int(%class.class_default_argument_1_class* %classvariable.this, i32 %class_default_argument_1_class.classArg) #0 +{ +%classvariable.this.addr = alloca %class.class_default_argument_1_class, align 8 +%class_default_argument_1_class.classArg.addr = alloca i32, align 4 +store i32 %class_default_argument_1_class.classArg, i32* %class_default_argument_1_class.classArg.addr, align 4 +%var2 = load i32* %class_default_argument_1_class.classArg.addr, align 4 +%var3 = getelementptr inbounds %class.class_default_argument_1_class* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.class_default_argument_1_class* %classvariable.this to i8* +%var5 = bitcast %class.class_default_argument_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_default_argument_1_class.getDefaultValue_Int_Int(%class.class_default_argument_1_class* %classvariable.this, i32 %class_default_argument_1_class.getDefaultValue.arg1, i32 %class_default_argument_1_class.getDefaultValue.arg2) #0 +{ +%class_default_argument_1_class.getDefaultValue.arg1.addr = alloca i32, align 4 +store i32 %class_default_argument_1_class.getDefaultValue.arg1, i32* %class_default_argument_1_class.getDefaultValue.arg1.addr, align 4 +%class_default_argument_1_class.getDefaultValue.arg2.addr = alloca i32, align 4 +store i32 %class_default_argument_1_class.getDefaultValue.arg2, i32* %class_default_argument_1_class.getDefaultValue.arg2.addr, align 4 +%var6 = load i32* %class_default_argument_1_class.getDefaultValue.arg1.addr, align 4 +%var7 = load i32* %class_default_argument_1_class.getDefaultValue.arg2.addr, align 4 +%var8 = add nsw i32 %var6, %var7 +ret i32 %var8 +unreachable +} +define weak i32 @class_default_argument_1_Int(i32 %class_default_argument_1.z) #0 +{ +%class_default_argument_1.z.addr = alloca i32, align 4 +store i32 %class_default_argument_1.z, i32* %class_default_argument_1.z.addr, align 4 +%var10 = call i8* @malloc_heap(i32 4) +%var9 = bitcast i8* %var10 to %class.class_default_argument_1_class* +%var11 = alloca %class.class_default_argument_1_class*, align 8 +store %class.class_default_argument_1_class* %var9, %class.class_default_argument_1_class** %var11, align 8 +call void @class_default_argument_1_class_Int(%class.class_default_argument_1_class* %var9, i32 11) +%managed.unique.0.class_default_argument_1.instance = alloca %class.class_default_argument_1_class*, align 8 +%var12 = load %class.class_default_argument_1_class** %managed.unique.0.class_default_argument_1.instance, align 8 +%var13 = load %class.class_default_argument_1_class** %var11, align 8 +store %class.class_default_argument_1_class* %var13, %class.class_default_argument_1_class** %managed.unique.0.class_default_argument_1.instance, align 8 +%var14 = load %class.class_default_argument_1_class** %managed.unique.0.class_default_argument_1.instance, align 8 +%var15 = load i32* %class_default_argument_1.z.addr, align 4 +%var16 = call i32 @class_default_argument_1_class.getDefaultValue_Int_Int(%class.class_default_argument_1_class* %var14, i32 %var15, i32 11) +%var17 = alloca i32, align 4 +store i32 %var16, i32* %var17, align 4 +%var18 = load i32* %var17, align 4 +ret i32 %var18 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_init_section_1/class_init_section_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_init_section_1/class_init_section_1.kt.out new file mode 100644 index 00000000000..f56a6b639ec --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_init_section_1/class_init_section_1.kt.out @@ -0,0 +1,57 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.className = type { i32 } +define weak void @className_Int(%class.className* %classvariable.this, i32 %className.z) #0 +{ +%classvariable.this.addr = alloca %class.className, align 8 +%className.z.addr = alloca i32, align 4 +store i32 %className.z, i32* %className.z.addr, align 4 +%var2 = load i32* %className.z.addr, align 4 +%var3 = getelementptr inbounds %class.className* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.className* %classvariable.this to i8* +%var5 = bitcast %class.className* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +%var6 = getelementptr inbounds %class.className* %classvariable.this, i32 0, i32 0 +%var7 = getelementptr inbounds %class.className* %classvariable.this, i32 0, i32 0 +%var8 = load i32* %var7, align 4 +%var9 = add nsw i32 %var8, 12345 +%var10 = load i32* %var6, align 4 +store i32 %var9, i32* %var6, align 4 +ret void +unreachable +} +define weak i32 @className.getVal(%class.className* %classvariable.this) #0 +{ +%var11 = getelementptr inbounds %class.className* %classvariable.this, i32 0, i32 0 +%var12 = load i32* %var11, align 4 +ret i32 %var12 +unreachable +} +define weak i32 @class_init_section_1_Int(i32 %class_init_section_1.x) #0 +{ +%class_init_section_1.x.addr = alloca i32, align 4 +store i32 %class_init_section_1.x, i32* %class_init_section_1.x.addr, align 4 +%var13 = load i32* %class_init_section_1.x.addr, align 4 +%var15 = call i8* @malloc_heap(i32 4) +%var14 = bitcast i8* %var15 to %class.className* +%var16 = alloca %class.className*, align 8 +store %class.className* %var14, %class.className** %var16, align 8 +call void @className_Int(%class.className* %var14, i32 %var13) +%managed.unique.0.class_init_section_1.z = alloca %class.className*, align 8 +%var17 = load %class.className** %managed.unique.0.class_init_section_1.z, align 8 +%var18 = load %class.className** %var16, align 8 +store %class.className* %var18, %class.className** %managed.unique.0.class_init_section_1.z, align 8 +%var19 = load %class.className** %managed.unique.0.class_init_section_1.z, align 8 +%var20 = call i32 @className.getVal(%class.className* %var19) +%var21 = alloca i32, align 4 +store i32 %var20, i32* %var21, align 4 +%var22 = load i32* %var21, align 4 +ret i32 %var22 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_method_access_1/class_method_access_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_method_access_1/class_method_access_1.kt.out new file mode 100644 index 00000000000..50e4d400ac1 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_method_access_1/class_method_access_1.kt.out @@ -0,0 +1,89 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_method_access_1_owner = type { %class.class_method_access_1_donor*, i32 } +%class.class_method_access_1_donor = type { i32 } +define weak void @class_method_access_1_owner_Ref_class_method_access_1_donor(%class.class_method_access_1_owner* %classvariable.this, %class.class_method_access_1_donor* %class_method_access_1_owner.arg) #0 +{ +%classvariable.this.addr = alloca %class.class_method_access_1_owner, align 8 +%var2 = getelementptr inbounds %class.class_method_access_1_owner* %classvariable.this.addr, i32 0, i32 0 +store %class.class_method_access_1_donor* %class_method_access_1_owner.arg, %class.class_method_access_1_donor** %var2, align 8 +%var3 = getelementptr inbounds %class.class_method_access_1_owner* %classvariable.this.addr, i32 0, i32 1 +%var4 = load i32* %var3, align 4 +store i32 56, i32* %var3, align 4 +%var5 = bitcast %class.class_method_access_1_owner* %classvariable.this to i8* +%var6 = bitcast %class.class_method_access_1_owner* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var5, i8* %var6, i64 16, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_method_access_1_owner.getSize(%class.class_method_access_1_owner* %classvariable.this) #0 +{ +%var7 = getelementptr inbounds %class.class_method_access_1_owner* %classvariable.this, i32 0, i32 0 +%var8 = load %class.class_method_access_1_donor** %var7, align 8 +%var9 = call i32 @class_method_access_1_donor.getSizeVal(%class.class_method_access_1_donor* %var8) +%var10 = alloca i32, align 4 +store i32 %var9, i32* %var10, align 4 +%var11 = load i32* %var10, align 4 +%var12 = add nsw i32 %var11, 8 +ret i32 %var12 +unreachable +} +define weak void @class_method_access_1_donor_Int(%class.class_method_access_1_donor* %classvariable.this, i32 %class_method_access_1_donor.size) #0 +{ +%classvariable.this.addr = alloca %class.class_method_access_1_donor, align 8 +%class_method_access_1_donor.size.addr = alloca i32, align 4 +store i32 %class_method_access_1_donor.size, i32* %class_method_access_1_donor.size.addr, align 4 +%var13 = load i32* %class_method_access_1_donor.size.addr, align 4 +%var14 = getelementptr inbounds %class.class_method_access_1_donor* %classvariable.this.addr, i32 0, i32 0 +store i32 %var13, i32* %var14, align 4 +%var15 = bitcast %class.class_method_access_1_donor* %classvariable.this to i8* +%var16 = bitcast %class.class_method_access_1_donor* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var15, i8* %var16, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_method_access_1_donor.getSizeVal(%class.class_method_access_1_donor* %classvariable.this) #0 +{ +%var17 = getelementptr inbounds %class.class_method_access_1_donor* %classvariable.this, i32 0, i32 0 +%var18 = load i32* %var17, align 4 +%var19 = add nsw i32 %var18, 4 +ret i32 %var19 +unreachable +} +define weak i32 @class_method_access_1_test_Int(i32 %class_method_access_1_test.x) #0 +{ +%class_method_access_1_test.x.addr = alloca i32, align 4 +store i32 %class_method_access_1_test.x, i32* %class_method_access_1_test.x.addr, align 4 +%var20 = load i32* %class_method_access_1_test.x.addr, align 4 +%var22 = call i8* @malloc_heap(i32 4) +%var21 = bitcast i8* %var22 to %class.class_method_access_1_donor* +%var23 = alloca %class.class_method_access_1_donor*, align 8 +store %class.class_method_access_1_donor* %var21, %class.class_method_access_1_donor** %var23, align 8 +call void @class_method_access_1_donor_Int(%class.class_method_access_1_donor* %var21, i32 %var20) +%managed.unique.0.class_method_access_1_test.instance_donor = alloca %class.class_method_access_1_donor*, align 8 +%var24 = load %class.class_method_access_1_donor** %managed.unique.0.class_method_access_1_test.instance_donor, align 8 +%var25 = load %class.class_method_access_1_donor** %var23, align 8 +store %class.class_method_access_1_donor* %var25, %class.class_method_access_1_donor** %managed.unique.0.class_method_access_1_test.instance_donor, align 8 +%var26 = load %class.class_method_access_1_donor** %managed.unique.0.class_method_access_1_test.instance_donor, align 8 +%var28 = call i8* @malloc_heap(i32 16) +%var27 = bitcast i8* %var28 to %class.class_method_access_1_owner* +%var29 = alloca %class.class_method_access_1_owner*, align 8 +store %class.class_method_access_1_owner* %var27, %class.class_method_access_1_owner** %var29, align 8 +call void @class_method_access_1_owner_Ref_class_method_access_1_donor(%class.class_method_access_1_owner* %var27, %class.class_method_access_1_donor* %var26) +%managed.unique.1.class_method_access_1_test.instance_owner = alloca %class.class_method_access_1_owner*, align 8 +%var30 = load %class.class_method_access_1_owner** %managed.unique.1.class_method_access_1_test.instance_owner, align 8 +%var31 = load %class.class_method_access_1_owner** %var29, align 8 +store %class.class_method_access_1_owner* %var31, %class.class_method_access_1_owner** %managed.unique.1.class_method_access_1_test.instance_owner, align 8 +%var32 = load %class.class_method_access_1_owner** %managed.unique.1.class_method_access_1_test.instance_owner, align 8 +%var33 = call i32 @class_method_access_1_owner.getSize(%class.class_method_access_1_owner* %var32) +%var34 = alloca i32, align 4 +store i32 %var33, i32* %var34, align 4 +%var35 = load i32* %var34, align 4 +ret i32 %var35 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_methods_1/class_methods_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_methods_1/class_methods_1.kt.out new file mode 100644 index 00000000000..a3566daa2d2 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_methods_1/class_methods_1.kt.out @@ -0,0 +1,48 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_methods_1_class = type { } +define weak void @class_methods_1_class(%class.class_methods_1_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.class_methods_1_class, align 8 +%var2 = bitcast %class.class_methods_1_class* %classvariable.this to i8* +%var3 = bitcast %class.class_methods_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_methods_1_class.method_Int(%class.class_methods_1_class* %classvariable.this, i32 %class_methods_1_class.method.t) #0 +{ +%class_methods_1_class.method.t.addr = alloca i32, align 4 +store i32 %class_methods_1_class.method.t, i32* %class_methods_1_class.method.t.addr, align 4 +%var4 = load i32* %class_methods_1_class.method.t.addr, align 4 +%var5 = add nsw i32 %var4, 5 +ret i32 %var5 +unreachable +} +define weak i32 @class_methods_1_Int(i32 %class_methods_1.zz) #0 +{ +%class_methods_1.zz.addr = alloca i32, align 4 +store i32 %class_methods_1.zz, i32* %class_methods_1.zz.addr, align 4 +%var7 = call i8* @malloc_heap(i32 0) +%var6 = bitcast i8* %var7 to %class.class_methods_1_class* +%var8 = alloca %class.class_methods_1_class*, align 8 +store %class.class_methods_1_class* %var6, %class.class_methods_1_class** %var8, align 8 +call void @class_methods_1_class(%class.class_methods_1_class* %var6) +%managed.unique.0.class_methods_1.x = alloca %class.class_methods_1_class*, align 8 +%var9 = load %class.class_methods_1_class** %managed.unique.0.class_methods_1.x, align 8 +%var10 = load %class.class_methods_1_class** %var8, align 8 +store %class.class_methods_1_class* %var10, %class.class_methods_1_class** %managed.unique.0.class_methods_1.x, align 8 +%var11 = load %class.class_methods_1_class** %managed.unique.0.class_methods_1.x, align 8 +%var12 = load i32* %class_methods_1.zz.addr, align 4 +%var13 = call i32 @class_methods_1_class.method_Int(%class.class_methods_1_class* %var11, i32 %var12) +%var14 = alloca i32, align 4 +store i32 %var13, i32* %var14, align 4 +%var15 = load i32* %var14, align 4 +ret i32 %var15 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_1/class_reassignment_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_1/class_reassignment_1.kt.out new file mode 100644 index 00000000000..3eab37fd0b7 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_1/class_reassignment_1.kt.out @@ -0,0 +1,61 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_reassignment_1_class = type { i32 } +define weak void @class_reassignment_1_class_Int(%class.class_reassignment_1_class* %classvariable.this, i32 %class_reassignment_1_class.field) #0 +{ +%classvariable.this.addr = alloca %class.class_reassignment_1_class, align 8 +%class_reassignment_1_class.field.addr = alloca i32, align 4 +store i32 %class_reassignment_1_class.field, i32* %class_reassignment_1_class.field.addr, align 4 +%var2 = load i32* %class_reassignment_1_class.field.addr, align 4 +%var3 = getelementptr inbounds %class.class_reassignment_1_class* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.class_reassignment_1_class* %classvariable.this to i8* +%var5 = bitcast %class.class_reassignment_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_reassignment_1() #0 +{ +%var7 = call i8* @malloc_heap(i32 4) +%var6 = bitcast i8* %var7 to %class.class_reassignment_1_class* +%var8 = alloca %class.class_reassignment_1_class*, align 8 +store %class.class_reassignment_1_class* %var6, %class.class_reassignment_1_class** %var8, align 8 +call void @class_reassignment_1_class_Int(%class.class_reassignment_1_class* %var6, i32 123) +%managed.unique.0.class_reassignment_1.instance = alloca %class.class_reassignment_1_class*, align 8 +%var9 = load %class.class_reassignment_1_class** %managed.unique.0.class_reassignment_1.instance, align 8 +%var10 = load %class.class_reassignment_1_class** %var8, align 8 +store %class.class_reassignment_1_class* %var10, %class.class_reassignment_1_class** %managed.unique.0.class_reassignment_1.instance, align 8 +%var12 = call i8* @malloc_heap(i32 8) +%var11 = bitcast i8* %var12 to %class.class_reassignment_1_class** +call void @class_reassignment_1_base(%class.class_reassignment_1_class** %var11) +%var13 = load %class.class_reassignment_1_class** %managed.unique.0.class_reassignment_1.instance, align 8 +%var14 = load %class.class_reassignment_1_class** %var11, align 8 +store %class.class_reassignment_1_class* %var14, %class.class_reassignment_1_class** %managed.unique.0.class_reassignment_1.instance, align 8 +%var15 = load %class.class_reassignment_1_class** %managed.unique.0.class_reassignment_1.instance, align 8 +%var16 = getelementptr inbounds %class.class_reassignment_1_class* %var15, i32 0, i32 0 +%var17 = load i32* %var16, align 4 +ret i32 %var17 +unreachable +} +define weak void @class_reassignment_1_base(%class.class_reassignment_1_class** %instance) #0 +{ +%var19 = call i8* @malloc_heap(i32 4) +%var18 = bitcast i8* %var19 to %class.class_reassignment_1_class* +%var20 = alloca %class.class_reassignment_1_class*, align 8 +store %class.class_reassignment_1_class* %var18, %class.class_reassignment_1_class** %var20, align 8 +call void @class_reassignment_1_class_Int(%class.class_reassignment_1_class* %var18, i32 567) +%managed.unique.1.class_reassignment_1_base.instance = alloca %class.class_reassignment_1_class*, align 8 +%var21 = load %class.class_reassignment_1_class** %managed.unique.1.class_reassignment_1_base.instance, align 8 +%var22 = load %class.class_reassignment_1_class** %var20, align 8 +store %class.class_reassignment_1_class* %var22, %class.class_reassignment_1_class** %managed.unique.1.class_reassignment_1_base.instance, align 8 +%var23 = load %class.class_reassignment_1_class** %managed.unique.1.class_reassignment_1_base.instance, align 8 +store %class.class_reassignment_1_class* %var23, %class.class_reassignment_1_class** %instance, align 8 +ret void +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_2/class_reassignment_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_2/class_reassignment_2.kt.out new file mode 100644 index 00000000000..812be15bf45 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_reassignment_2/class_reassignment_2.kt.out @@ -0,0 +1,82 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_reassignment_2_Node = type { %class.class_reassignment_2_Node*, %class.class_reassignment_2_Node*, i32 } +define weak void @class_reassignment_2_Node(%class.class_reassignment_2_Node* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.class_reassignment_2_Node, align 8 +%var2 = getelementptr inbounds %class.class_reassignment_2_Node* %classvariable.this.addr, i32 0, i32 0 +%var3 = load %class.class_reassignment_2_Node** %var2, align 8 +store %class.class_reassignment_2_Node* null, %class.class_reassignment_2_Node** %var2, align 8 +%var4 = getelementptr inbounds %class.class_reassignment_2_Node* %classvariable.this.addr, i32 0, i32 1 +%var5 = load %class.class_reassignment_2_Node** %var4, align 8 +store %class.class_reassignment_2_Node* null, %class.class_reassignment_2_Node** %var4, align 8 +%var6 = getelementptr inbounds %class.class_reassignment_2_Node* %classvariable.this.addr, i32 0, i32 2 +%var7 = load i32* %var6, align 4 +store i32 0, i32* %var6, align 4 +%var8 = bitcast %class.class_reassignment_2_Node* %classvariable.this to i8* +%var9 = bitcast %class.class_reassignment_2_Node* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var8, i8* %var9, i64 24, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_reassignment_2() #0 +{ +%var11 = call i8* @malloc_heap(i32 24) +%var10 = bitcast i8* %var11 to %class.class_reassignment_2_Node* +%var12 = alloca %class.class_reassignment_2_Node*, align 8 +store %class.class_reassignment_2_Node* %var10, %class.class_reassignment_2_Node** %var12, align 8 +call void @class_reassignment_2_Node(%class.class_reassignment_2_Node* %var10) +%managed.unique.0.class_reassignment_2.root = alloca %class.class_reassignment_2_Node*, align 8 +%var13 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var14 = load %class.class_reassignment_2_Node** %var12, align 8 +store %class.class_reassignment_2_Node* %var14, %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var15 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var16 = getelementptr inbounds %class.class_reassignment_2_Node* %var15, i32 0, i32 2 +%var17 = load i32* %var16, align 4 +store i32 12, i32* %var16, align 4 +%var18 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var19 = getelementptr inbounds %class.class_reassignment_2_Node* %var18, i32 0, i32 0 +%var21 = call i8* @malloc_heap(i32 24) +%var20 = bitcast i8* %var21 to %class.class_reassignment_2_Node* +%var22 = alloca %class.class_reassignment_2_Node*, align 8 +store %class.class_reassignment_2_Node* %var20, %class.class_reassignment_2_Node** %var22, align 8 +call void @class_reassignment_2_Node(%class.class_reassignment_2_Node* %var20) +%var23 = load %class.class_reassignment_2_Node** %var19, align 8 +%var24 = load %class.class_reassignment_2_Node** %var22, align 8 +store %class.class_reassignment_2_Node* %var24, %class.class_reassignment_2_Node** %var19, align 8 +%managed.unique.1.class_reassignment_2.current = alloca %class.class_reassignment_2_Node*, align 8 +%var25 = load %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var26 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +store %class.class_reassignment_2_Node* %var26, %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var27 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var28 = getelementptr inbounds %class.class_reassignment_2_Node* %var27, i32 0, i32 0 +%var29 = load %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var30 = load %class.class_reassignment_2_Node** %var28, align 8 +store %class.class_reassignment_2_Node* %var30, %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var32 = load %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var31 = icmp eq %class.class_reassignment_2_Node* null, %var32 +br i1 %var31, label %label.nullCheck.1, label %label.nullCheck.2 +label.nullCheck.1: +%var33 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.2 +label.nullCheck.2: +%var34 = load %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var35 = getelementptr inbounds %class.class_reassignment_2_Node* %var34, i32 0, i32 2 +%var36 = load i32* %var35, align 4 +store i32 10593, i32* %var35, align 4 +%var37 = load %class.class_reassignment_2_Node** %managed.unique.1.class_reassignment_2.current, align 8 +%var38 = getelementptr inbounds %class.class_reassignment_2_Node* %var37, i32 0, i32 2 +%var39 = load %class.class_reassignment_2_Node** %managed.unique.0.class_reassignment_2.root, align 8 +%var40 = getelementptr inbounds %class.class_reassignment_2_Node* %var39, i32 0, i32 2 +%var41 = load i32* %var38, align 4 +%var42 = load i32* %var40, align 4 +%var43 = add nsw i32 %var41, %var42 +ret i32 %var43 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/class_variable_access_1/class_variable_access_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/class_variable_access_1/class_variable_access_1.kt.out new file mode 100644 index 00000000000..ba1e4b8f854 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/class_variable_access_1/class_variable_access_1.kt.out @@ -0,0 +1,82 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.class_variable_access_1_owner = type { %class.class_variable_access_1_donor*, i32 } +%class.class_variable_access_1_donor = type { i32, i32 } +define weak void @class_variable_access_1_owner_Ref_class_variable_access_1_donor(%class.class_variable_access_1_owner* %classvariable.this, %class.class_variable_access_1_donor* %class_variable_access_1_owner.arg) #0 +{ +%classvariable.this.addr = alloca %class.class_variable_access_1_owner, align 8 +%var2 = getelementptr inbounds %class.class_variable_access_1_owner* %classvariable.this.addr, i32 0, i32 0 +store %class.class_variable_access_1_donor* %class_variable_access_1_owner.arg, %class.class_variable_access_1_donor** %var2, align 8 +%var3 = getelementptr inbounds %class.class_variable_access_1_owner* %classvariable.this.addr, i32 0, i32 1 +%var4 = load i32* %var3, align 4 +store i32 56, i32* %var3, align 4 +%var5 = bitcast %class.class_variable_access_1_owner* %classvariable.this to i8* +%var6 = bitcast %class.class_variable_access_1_owner* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var5, i8* %var6, i64 16, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_variable_access_1_owner.getSize(%class.class_variable_access_1_owner* %classvariable.this) #0 +{ +%var7 = getelementptr inbounds %class.class_variable_access_1_owner* %classvariable.this, i32 0, i32 0 +%var8 = load %class.class_variable_access_1_donor** %var7, align 8 +%var9 = getelementptr inbounds %class.class_variable_access_1_donor* %var8, i32 0, i32 0 +%var10 = load i32* %var9, align 4 +%var11 = add nsw i32 %var10, 8 +ret i32 %var11 +unreachable +} +define weak void @class_variable_access_1_donor_Int(%class.class_variable_access_1_donor* %classvariable.this, i32 %class_variable_access_1_donor.size) #0 +{ +%classvariable.this.addr = alloca %class.class_variable_access_1_donor, align 8 +%class_variable_access_1_donor.size.addr = alloca i32, align 4 +store i32 %class_variable_access_1_donor.size, i32* %class_variable_access_1_donor.size.addr, align 4 +%var12 = load i32* %class_variable_access_1_donor.size.addr, align 4 +%var13 = getelementptr inbounds %class.class_variable_access_1_donor* %classvariable.this.addr, i32 0, i32 0 +store i32 %var12, i32* %var13, align 4 +%var14 = getelementptr inbounds %class.class_variable_access_1_donor* %classvariable.this.addr, i32 0, i32 1 +%var15 = load i32* %var14, align 4 +store i32 5, i32* %var14, align 4 +%var16 = bitcast %class.class_variable_access_1_donor* %classvariable.this to i8* +%var17 = bitcast %class.class_variable_access_1_donor* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var16, i8* %var17, i64 8, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @class_variable_access_1_test_Int(i32 %class_variable_access_1_test.x) #0 +{ +%class_variable_access_1_test.x.addr = alloca i32, align 4 +store i32 %class_variable_access_1_test.x, i32* %class_variable_access_1_test.x.addr, align 4 +%var18 = load i32* %class_variable_access_1_test.x.addr, align 4 +%var20 = call i8* @malloc_heap(i32 8) +%var19 = bitcast i8* %var20 to %class.class_variable_access_1_donor* +%var21 = alloca %class.class_variable_access_1_donor*, align 8 +store %class.class_variable_access_1_donor* %var19, %class.class_variable_access_1_donor** %var21, align 8 +call void @class_variable_access_1_donor_Int(%class.class_variable_access_1_donor* %var19, i32 %var18) +%managed.unique.0.class_variable_access_1_test.instance_donor = alloca %class.class_variable_access_1_donor*, align 8 +%var22 = load %class.class_variable_access_1_donor** %managed.unique.0.class_variable_access_1_test.instance_donor, align 8 +%var23 = load %class.class_variable_access_1_donor** %var21, align 8 +store %class.class_variable_access_1_donor* %var23, %class.class_variable_access_1_donor** %managed.unique.0.class_variable_access_1_test.instance_donor, align 8 +%var24 = load %class.class_variable_access_1_donor** %managed.unique.0.class_variable_access_1_test.instance_donor, align 8 +%var26 = call i8* @malloc_heap(i32 16) +%var25 = bitcast i8* %var26 to %class.class_variable_access_1_owner* +%var27 = alloca %class.class_variable_access_1_owner*, align 8 +store %class.class_variable_access_1_owner* %var25, %class.class_variable_access_1_owner** %var27, align 8 +call void @class_variable_access_1_owner_Ref_class_variable_access_1_donor(%class.class_variable_access_1_owner* %var25, %class.class_variable_access_1_donor* %var24) +%managed.unique.1.class_variable_access_1_test.instance_owner = alloca %class.class_variable_access_1_owner*, align 8 +%var28 = load %class.class_variable_access_1_owner** %managed.unique.1.class_variable_access_1_test.instance_owner, align 8 +%var29 = load %class.class_variable_access_1_owner** %var27, align 8 +store %class.class_variable_access_1_owner* %var29, %class.class_variable_access_1_owner** %managed.unique.1.class_variable_access_1_test.instance_owner, align 8 +%var30 = load %class.class_variable_access_1_owner** %managed.unique.1.class_variable_access_1_test.instance_owner, align 8 +%var31 = call i32 @class_variable_access_1_owner.getSize(%class.class_variable_access_1_owner* %var30) +%var32 = alloca i32, align 4 +store i32 %var31, i32* %var32, align 4 +%var33 = load i32* %var32, align 4 +ret i32 %var33 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/classfields_1/classfields_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/classfields_1/classfields_1.kt.out new file mode 100644 index 00000000000..3a5d198e17d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/classfields_1/classfields_1.kt.out @@ -0,0 +1,64 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.WithFields = type { i32, i32 } +define weak void @WithFields_Int(%class.WithFields* %classvariable.this, i32 %WithFields.i) #0 +{ +%classvariable.this.addr = alloca %class.WithFields, align 8 +%WithFields.i.addr = alloca i32, align 4 +store i32 %WithFields.i, i32* %WithFields.i.addr, align 4 +%var2 = load i32* %WithFields.i.addr, align 4 +%var3 = getelementptr inbounds %class.WithFields* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.WithFields* %classvariable.this to i8* +%var5 = bitcast %class.WithFields* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 8, i32 4, i1 false) +%var6 = getelementptr inbounds %class.WithFields* %classvariable.this, i32 0, i32 1 +%var7 = getelementptr inbounds %class.WithFields* %classvariable.this, i32 0, i32 0 +%var8 = load i32* %var6, align 4 +%var9 = load i32* %var7, align 4 +store i32 %var9, i32* %var6, align 4 +ret void +unreachable +} +define weak i32 @test_field_assignment_Int(i32 %test_field_assignment.i) #0 +{ +%test_field_assignment.i.addr = alloca i32, align 4 +store i32 %test_field_assignment.i, i32* %test_field_assignment.i.addr, align 4 +%var10 = load i32* %test_field_assignment.i.addr, align 4 +%var12 = call i8* @malloc_heap(i32 8) +%var11 = bitcast i8* %var12 to %class.WithFields* +%var13 = alloca %class.WithFields*, align 8 +store %class.WithFields* %var11, %class.WithFields** %var13, align 8 +call void @WithFields_Int(%class.WithFields* %var11, i32 %var10) +%managed.unique.0.test_field_assignment.k = alloca %class.WithFields*, align 8 +%var14 = load %class.WithFields** %managed.unique.0.test_field_assignment.k, align 8 +%var15 = load %class.WithFields** %var13, align 8 +store %class.WithFields* %var15, %class.WithFields** %managed.unique.0.test_field_assignment.k, align 8 +%var16 = load %class.WithFields** %managed.unique.0.test_field_assignment.k, align 8 +%var17 = getelementptr inbounds %class.WithFields* %var16, i32 0, i32 1 +%var18 = load i32* %var17, align 4 +ret i32 %var18 +unreachable +} +define weak i32 @test_simple_field() #0 +{ +%var20 = call i8* @malloc_heap(i32 8) +%var19 = bitcast i8* %var20 to %class.WithFields* +%var21 = alloca %class.WithFields*, align 8 +store %class.WithFields* %var19, %class.WithFields** %var21, align 8 +call void @WithFields_Int(%class.WithFields* %var19, i32 1) +%managed.unique.1.test_simple_field.i = alloca %class.WithFields*, align 8 +%var22 = load %class.WithFields** %managed.unique.1.test_simple_field.i, align 8 +%var23 = load %class.WithFields** %var21, align 8 +store %class.WithFields* %var23, %class.WithFields** %managed.unique.1.test_simple_field.i, align 8 +%var24 = load %class.WithFields** %managed.unique.1.test_simple_field.i, align 8 +%var25 = getelementptr inbounds %class.WithFields* %var24, i32 0, i32 1 +%var26 = load i32* %var25, align 4 +ret i32 %var26 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/classfields_2/classfields_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/classfields_2/classfields_2.kt.out new file mode 100644 index 00000000000..1eb29331ac3 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/classfields_2/classfields_2.kt.out @@ -0,0 +1,87 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.classfields_2_class = type { i32 } +define weak void @classfields_2_class(%class.classfields_2_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.classfields_2_class, align 8 +%var2 = getelementptr inbounds %class.classfields_2_class* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 0, i32* %var2, align 4 +%var4 = bitcast %class.classfields_2_class* %classvariable.this to i8* +%var5 = bitcast %class.classfields_2_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak void @classfields_2_class.method(%class.classfields_2_class* %classvariable.this) #0 +{ +%var6 = getelementptr inbounds %class.classfields_2_class* %classvariable.this, i32 0, i32 0 +%var7 = load i32* %var6, align 4 +store i32 5, i32* %var6, align 4 +ret void +unreachable +} +define weak i32 @classfields_2_class.changeI(%class.classfields_2_class* %classvariable.this) #0 +{ +call void @classfields_2_class.method(%class.classfields_2_class* %classvariable.this) +%var8 = getelementptr inbounds %class.classfields_2_class* %classvariable.this, i32 0, i32 0 +%var9 = load i32* %var8, align 4 +ret i32 %var9 +unreachable +} +define weak i32 @test2() #0 +{ +%var11 = call i8* @malloc_heap(i32 4) +%var10 = bitcast i8* %var11 to %class.classfields_2_class* +%var12 = alloca %class.classfields_2_class*, align 8 +store %class.classfields_2_class* %var10, %class.classfields_2_class** %var12, align 8 +call void @classfields_2_class(%class.classfields_2_class* %var10) +%managed.unique.0.test2.main = alloca %class.classfields_2_class*, align 8 +%var13 = load %class.classfields_2_class** %managed.unique.0.test2.main, align 8 +%var14 = load %class.classfields_2_class** %var12, align 8 +store %class.classfields_2_class* %var14, %class.classfields_2_class** %managed.unique.0.test2.main, align 8 +%var15 = load %class.classfields_2_class** %managed.unique.0.test2.main, align 8 +%var16 = getelementptr inbounds %class.classfields_2_class* %var15, i32 0, i32 0 +%var17 = load i32* %var16, align 4 +ret i32 %var17 +unreachable +} +define weak i32 @test3() #0 +{ +%var19 = call i8* @malloc_heap(i32 4) +%var18 = bitcast i8* %var19 to %class.classfields_2_class* +%var20 = alloca %class.classfields_2_class*, align 8 +store %class.classfields_2_class* %var18, %class.classfields_2_class** %var20, align 8 +call void @classfields_2_class(%class.classfields_2_class* %var18) +%var21 = load %class.classfields_2_class** %var20, align 8 +%var22 = call i32 @classfields_2_class.changeI(%class.classfields_2_class* %var21) +%var23 = alloca i32, align 4 +store i32 %var22, i32* %var23, align 4 +%var24 = load i32* %var23, align 4 +ret i32 %var24 +unreachable +} +define weak i32 @test1() #0 +{ +%var26 = call i8* @malloc_heap(i32 4) +%var25 = bitcast i8* %var26 to %class.classfields_2_class* +%var27 = alloca %class.classfields_2_class*, align 8 +store %class.classfields_2_class* %var25, %class.classfields_2_class** %var27, align 8 +call void @classfields_2_class(%class.classfields_2_class* %var25) +%managed.unique.1.test1.main = alloca %class.classfields_2_class*, align 8 +%var28 = load %class.classfields_2_class** %managed.unique.1.test1.main, align 8 +%var29 = load %class.classfields_2_class** %var27, align 8 +store %class.classfields_2_class* %var29, %class.classfields_2_class** %managed.unique.1.test1.main, align 8 +%var30 = load %class.classfields_2_class** %managed.unique.1.test1.main, align 8 +%var31 = call i32 @classfields_2_class.changeI(%class.classfields_2_class* %var30) +%var32 = alloca i32, align 4 +store i32 %var31, i32* %var32, align 4 +%var33 = load i32* %var32, align 4 +ret i32 %var33 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/companion_object_1/companion_object_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/companion_object_1/companion_object_1.kt.out new file mode 100644 index 00000000000..3b73e888dca --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/companion_object_1/companion_object_1.kt.out @@ -0,0 +1,45 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.companion_object_1 = type { } +%class.companion_object_1.Companion = type { i32 } +@object.instance.companion_object_1.Companion = internal global %class.companion_object_1.Companion { i32 5790 }, align 8 +define weak void @companion_object_1(%class.companion_object_1* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.companion_object_1, align 8 +%var2 = bitcast %class.companion_object_1* %classvariable.this to i8* +%var3 = bitcast %class.companion_object_1* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak void @companion_object_1.Companion(%class.companion_object_1.Companion* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.companion_object_1.Companion, align 8 +%var4 = getelementptr inbounds %class.companion_object_1.Companion* %classvariable.this.addr, i32 0, i32 0 +%var5 = load i32* %var4, align 4 +store i32 5790, i32* %var4, align 4 +%var6 = bitcast %class.companion_object_1.Companion* %classvariable.this to i8* +%var7 = bitcast %class.companion_object_1.Companion* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var6, i8* %var7, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @companion_object_1.Companion.create(%class.companion_object_1.Companion* %classvariable.this) #0 +{ +ret i32 5 +unreachable +} +define weak i32 @companion_object_1_test() #0 +{ +%var8 = call i32 @companion_object_1.Companion.create(%class.companion_object_1.Companion* @object.instance.companion_object_1.Companion) +%var9 = alloca i32, align 4 +store i32 %var8, i32* %var9, align 4 +%var10 = load i32* %var9, align 4 +ret i32 %var10 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/companion_object_2/companion_object_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/companion_object_2/companion_object_2.kt.out new file mode 100644 index 00000000000..338e1eaba28 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/companion_object_2/companion_object_2.kt.out @@ -0,0 +1,50 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.companion_object_2 = type { } +%class.companion_object_2.Companion = type { i32 } +@object.instance.companion_object_2.Companion = internal global %class.companion_object_2.Companion { i32 5790 }, align 8 +define weak void @companion_object_2(%class.companion_object_2* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.companion_object_2, align 8 +%var2 = bitcast %class.companion_object_2* %classvariable.this to i8* +%var3 = bitcast %class.companion_object_2* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak void @companion_object_2.Companion(%class.companion_object_2.Companion* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.companion_object_2.Companion, align 8 +%var4 = getelementptr inbounds %class.companion_object_2.Companion* %classvariable.this.addr, i32 0, i32 0 +%var5 = load i32* %var4, align 4 +store i32 5790, i32* %var4, align 4 +%var6 = bitcast %class.companion_object_2.Companion* %classvariable.this to i8* +%var7 = bitcast %class.companion_object_2.Companion* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var6, i8* %var7, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @companion_object_2.Companion.create(%class.companion_object_2.Companion* %classvariable.this) #0 +{ +ret i32 5 +unreachable +} +define weak i32 @companion_object_2_test_Int(i32 %companion_object_2_test.v) #0 +{ +%companion_object_2_test.v.addr = alloca i32, align 4 +store i32 %companion_object_2_test.v, i32* %companion_object_2_test.v.addr, align 4 +%var8 = getelementptr inbounds %class.companion_object_2.Companion* @object.instance.companion_object_2.Companion, i32 0, i32 0 +%var9 = load i32* %companion_object_2_test.v.addr, align 4 +%var10 = add nsw i32 239, %var9 +%var11 = load i32* %var8, align 4 +store i32 %var10, i32* %var8, align 4 +%var12 = getelementptr inbounds %class.companion_object_2.Companion* @object.instance.companion_object_2.Companion, i32 0, i32 0 +%var13 = load i32* %var12, align 4 +ret i32 %var13 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/complex_dot_expr/complex_dot_expr.kt.out b/experiments/translator-bc/src/test/kotlin/tests/complex_dot_expr/complex_dot_expr.kt.out new file mode 100644 index 00000000000..ce01d069ca7 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/complex_dot_expr/complex_dot_expr.kt.out @@ -0,0 +1,67 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.complex_dot_expr_MyClass = type { i32 } +define weak void @complex_dot_expr_MyClass_Int(%class.complex_dot_expr_MyClass* %classvariable.this, i32 %complex_dot_expr_MyClass.i) #0 +{ +%classvariable.this.addr = alloca %class.complex_dot_expr_MyClass, align 8 +%complex_dot_expr_MyClass.i.addr = alloca i32, align 4 +store i32 %complex_dot_expr_MyClass.i, i32* %complex_dot_expr_MyClass.i.addr, align 4 +%var2 = load i32* %complex_dot_expr_MyClass.i.addr, align 4 +%var3 = getelementptr inbounds %class.complex_dot_expr_MyClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.complex_dot_expr_MyClass* %classvariable.this to i8* +%var5 = bitcast %class.complex_dot_expr_MyClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @test2_Int(i32 %test2.w) #0 +{ +%test2.w.addr = alloca i32, align 4 +store i32 %test2.w, i32* %test2.w.addr, align 4 +%var6 = load i32* %test2.w.addr, align 4 +%var8 = call i8* @malloc_heap(i32 4) +%var7 = bitcast i8* %var8 to %class.complex_dot_expr_MyClass* +%var9 = alloca %class.complex_dot_expr_MyClass*, align 8 +store %class.complex_dot_expr_MyClass* %var7, %class.complex_dot_expr_MyClass** %var9, align 8 +call void @complex_dot_expr_MyClass_Int(%class.complex_dot_expr_MyClass* %var7, i32 %var6) +%var10 = load %class.complex_dot_expr_MyClass** %var9, align 8 +%var11 = getelementptr inbounds %class.complex_dot_expr_MyClass* %var10, i32 0, i32 0 +%var12 = load i32* %var11, align 4 +ret i32 %var12 +unreachable +} +define weak void @gen_Int(%class.complex_dot_expr_MyClass** %instance, i32 %gen.i) #0 +{ +%gen.i.addr = alloca i32, align 4 +store i32 %gen.i, i32* %gen.i.addr, align 4 +%var13 = load i32* %gen.i.addr, align 4 +%var15 = call i8* @malloc_heap(i32 4) +%var14 = bitcast i8* %var15 to %class.complex_dot_expr_MyClass* +%var16 = alloca %class.complex_dot_expr_MyClass*, align 8 +store %class.complex_dot_expr_MyClass* %var14, %class.complex_dot_expr_MyClass** %var16, align 8 +call void @complex_dot_expr_MyClass_Int(%class.complex_dot_expr_MyClass* %var14, i32 %var13) +%var17 = load %class.complex_dot_expr_MyClass** %var16, align 8 +store %class.complex_dot_expr_MyClass* %var17, %class.complex_dot_expr_MyClass** %instance, align 8 +ret void +unreachable +} +define weak i32 @test1_Int(i32 %test1.q) #0 +{ +%test1.q.addr = alloca i32, align 4 +store i32 %test1.q, i32* %test1.q.addr, align 4 +%var18 = load i32* %test1.q.addr, align 4 +%var20 = call i8* @malloc_heap(i32 8) +%var19 = bitcast i8* %var20 to %class.complex_dot_expr_MyClass** +call void @gen_Int(%class.complex_dot_expr_MyClass** %var19, i32 %var18) +%var21 = load %class.complex_dot_expr_MyClass** %var19, align 8 +%var22 = getelementptr inbounds %class.complex_dot_expr_MyClass* %var21, i32 0, i32 0 +%var23 = load i32* %var22, align 4 +ret i32 %var23 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/declaration_test_1/declaration_test_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/declaration_test_1/declaration_test_1.kt.out new file mode 100644 index 00000000000..475ab2426c8 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/declaration_test_1/declaration_test_1.kt.out @@ -0,0 +1,63 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.declaration_test_1_cls = type { } +define weak void @declaration_test_1_cls(%class.declaration_test_1_cls* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.declaration_test_1_cls, align 8 +%var2 = bitcast %class.declaration_test_1_cls* %classvariable.this to i8* +%var3 = bitcast %class.declaration_test_1_cls* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @declaration_test_1_variable() #0 +{ +%managed.unique.0.declaration_test_1_variable.a = alloca i32, align 4 +%var4 = load i32* %managed.unique.0.declaration_test_1_variable.a, align 4 +store i32 85, i32* %managed.unique.0.declaration_test_1_variable.a, align 4 +%var5 = load i32* %managed.unique.0.declaration_test_1_variable.a, align 4 +ret i32 %var5 +unreachable +} +define weak void @declaration_test_1_class_slave(%class.declaration_test_1_cls** %instance) #0 +{ +%managed.unique.1.declaration_test_1_class_slave.a = alloca %class.declaration_test_1_cls*, align 8 +%var7 = call i8* @malloc_heap(i32 0) +%var6 = bitcast i8* %var7 to %class.declaration_test_1_cls* +%var8 = alloca %class.declaration_test_1_cls*, align 8 +store %class.declaration_test_1_cls* %var6, %class.declaration_test_1_cls** %var8, align 8 +call void @declaration_test_1_cls(%class.declaration_test_1_cls* %var6) +%var9 = load %class.declaration_test_1_cls** %managed.unique.1.declaration_test_1_class_slave.a, align 8 +%var10 = load %class.declaration_test_1_cls** %var8, align 8 +store %class.declaration_test_1_cls* %var10, %class.declaration_test_1_cls** %managed.unique.1.declaration_test_1_class_slave.a, align 8 +%var11 = load %class.declaration_test_1_cls** %managed.unique.1.declaration_test_1_class_slave.a, align 8 +store %class.declaration_test_1_cls* %var11, %class.declaration_test_1_cls** %instance, align 8 +ret void +unreachable +} +define weak i32 @declaration_test_1_class() #0 +{ +%var13 = call i8* @malloc_heap(i32 8) +%var12 = bitcast i8* %var13 to %class.declaration_test_1_cls** +call void @declaration_test_1_class_slave(%class.declaration_test_1_cls** %var12) +%var14 = load %class.declaration_test_1_cls** %var12, align 8 +%var15 = load %class.declaration_test_1_cls** %var12, align 8 +%var16 = icmp eq %class.declaration_test_1_cls* %var15, null +%var17 = alloca i32, align 4 +br i1 %var16, label %label.if_then.1, label %label.if_else.2 +label.if_then.1: +store i32 10, i32* %var17, align 4 +br label %label.if_end.3 +label.if_else.2: +store i32 96799, i32* %var17, align 4 +br label %label.if_end.3 +label.if_end.3: +%var18 = load i32* %var17, align 4 +ret i32 %var18 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/dfs_1/dfs_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/dfs_1/dfs_1.kt.out new file mode 100644 index 00000000000..b6d0be9ac74 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/dfs_1/dfs_1.kt.out @@ -0,0 +1,244 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.dfs_1_Node = type { %class.dfs_1_Node*, %class.dfs_1_Node*, i32 } +define weak void @dfs_1_Node(%class.dfs_1_Node* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.dfs_1_Node, align 8 +%var2 = getelementptr inbounds %class.dfs_1_Node* %classvariable.this.addr, i32 0, i32 1 +%var3 = load %class.dfs_1_Node** %var2, align 8 +store %class.dfs_1_Node* null, %class.dfs_1_Node** %var2, align 8 +%var4 = getelementptr inbounds %class.dfs_1_Node* %classvariable.this.addr, i32 0, i32 0 +%var5 = load %class.dfs_1_Node** %var4, align 8 +store %class.dfs_1_Node* null, %class.dfs_1_Node** %var4, align 8 +%var6 = getelementptr inbounds %class.dfs_1_Node* %classvariable.this.addr, i32 0, i32 2 +%var7 = load i32* %var6, align 4 +store i32 0, i32* %var6, align 4 +%var8 = bitcast %class.dfs_1_Node* %classvariable.this to i8* +%var9 = bitcast %class.dfs_1_Node* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var8, i8* %var9, i64 24, i32 4, i1 false) +ret void +unreachable +} +define weak void @dfs_1_search_Ref_dfs_1_Node_Int(%class.dfs_1_Node** %instance, %class.dfs_1_Node* %dfs_1_search.x, i32 %dfs_1_search.value) #0 +{ +%dfs_1_search.value.addr = alloca i32, align 4 +store i32 %dfs_1_search.value, i32* %dfs_1_search.value.addr, align 4 +%var10 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 2 +%var11 = load i32* %var10, align 4 +%var12 = load i32* %dfs_1_search.value.addr, align 4 +%var13 = icmp eq i32 %var11, %var12 +br i1 %var13, label %label.if.1, label %label.if.3 +label.if.1: +store %class.dfs_1_Node* %dfs_1_search.x, %class.dfs_1_Node** %instance, align 8 +ret void +br label %label.if.3 +label.if.3: +%var14 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 0 +%var15 = load %class.dfs_1_Node** %var14, align 8 +%var16 = load %class.dfs_1_Node** %var14, align 8 +%var17 = icmp ne %class.dfs_1_Node* %var16, null +br i1 %var17, label %label.if.4, label %label.if.6 +label.if.4: +%var18 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 0 +%var20 = load %class.dfs_1_Node** %var18, align 8 +%var19 = icmp eq %class.dfs_1_Node* null, %var20 +br i1 %var19, label %label.nullCheck.7, label %label.nullCheck.8 +label.nullCheck.7: +%var21 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.8 +label.nullCheck.8: +%var22 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 0 +%var24 = load %class.dfs_1_Node** %var22, align 8 +%var23 = icmp eq %class.dfs_1_Node* null, %var24 +br i1 %var23, label %label.nullCheck.9, label %label.nullCheck.10 +label.nullCheck.9: +%var25 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.10 +label.nullCheck.10: +%var26 = load %class.dfs_1_Node** %var22, align 8 +%var27 = load i32* %dfs_1_search.value.addr, align 4 +%var29 = call i8* @malloc_heap(i32 8) +%var28 = bitcast i8* %var29 to %class.dfs_1_Node** +call void @dfs_1_search_Ref_dfs_1_Node_Int(%class.dfs_1_Node** %var28, %class.dfs_1_Node* %var26, i32 %var27) +%managed.unique.0.dfs_1_search.result = alloca %class.dfs_1_Node*, align 8 +%var30 = load %class.dfs_1_Node** %managed.unique.0.dfs_1_search.result, align 8 +%var31 = load %class.dfs_1_Node** %var28, align 8 +store %class.dfs_1_Node* %var31, %class.dfs_1_Node** %managed.unique.0.dfs_1_search.result, align 8 +%var32 = load %class.dfs_1_Node** %managed.unique.0.dfs_1_search.result, align 8 +%var33 = load %class.dfs_1_Node** %managed.unique.0.dfs_1_search.result, align 8 +%var34 = icmp ne %class.dfs_1_Node* %var33, null +br i1 %var34, label %label.if.11, label %label.if.13 +label.if.11: +%var35 = load %class.dfs_1_Node** %managed.unique.0.dfs_1_search.result, align 8 +store %class.dfs_1_Node* %var35, %class.dfs_1_Node** %instance, align 8 +ret void +br label %label.if.13 +label.if.13: +br label %label.if.6 +label.if.6: +%var36 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 1 +%var37 = load %class.dfs_1_Node** %var36, align 8 +%var38 = load %class.dfs_1_Node** %var36, align 8 +%var39 = icmp ne %class.dfs_1_Node* %var38, null +br i1 %var39, label %label.if.14, label %label.if.16 +label.if.14: +%var40 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 1 +%var42 = load %class.dfs_1_Node** %var40, align 8 +%var41 = icmp eq %class.dfs_1_Node* null, %var42 +br i1 %var41, label %label.nullCheck.17, label %label.nullCheck.18 +label.nullCheck.17: +%var43 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.18 +label.nullCheck.18: +%var44 = getelementptr inbounds %class.dfs_1_Node* %dfs_1_search.x, i32 0, i32 1 +%var46 = load %class.dfs_1_Node** %var44, align 8 +%var45 = icmp eq %class.dfs_1_Node* null, %var46 +br i1 %var45, label %label.nullCheck.19, label %label.nullCheck.20 +label.nullCheck.19: +%var47 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.20 +label.nullCheck.20: +%var48 = load %class.dfs_1_Node** %var44, align 8 +%var49 = load i32* %dfs_1_search.value.addr, align 4 +%var51 = call i8* @malloc_heap(i32 8) +%var50 = bitcast i8* %var51 to %class.dfs_1_Node** +call void @dfs_1_search_Ref_dfs_1_Node_Int(%class.dfs_1_Node** %var50, %class.dfs_1_Node* %var48, i32 %var49) +%managed.unique.1.dfs_1_search.result = alloca %class.dfs_1_Node*, align 8 +%var52 = load %class.dfs_1_Node** %managed.unique.1.dfs_1_search.result, align 8 +%var53 = load %class.dfs_1_Node** %var50, align 8 +store %class.dfs_1_Node* %var53, %class.dfs_1_Node** %managed.unique.1.dfs_1_search.result, align 8 +%var54 = load %class.dfs_1_Node** %managed.unique.1.dfs_1_search.result, align 8 +%var55 = load %class.dfs_1_Node** %managed.unique.1.dfs_1_search.result, align 8 +%var56 = icmp ne %class.dfs_1_Node* %var55, null +br i1 %var56, label %label.if.21, label %label.if.23 +label.if.21: +%var57 = load %class.dfs_1_Node** %managed.unique.1.dfs_1_search.result, align 8 +store %class.dfs_1_Node* %var57, %class.dfs_1_Node** %instance, align 8 +ret void +br label %label.if.23 +label.if.23: +br label %label.if.16 +label.if.16: +store %class.dfs_1_Node* null, %class.dfs_1_Node** %instance, align 1 +ret void +unreachable +} +define weak i32 @dfs_1_Int(i32 %dfs_1.searchObject) #0 +{ +%dfs_1.searchObject.addr = alloca i32, align 4 +store i32 %dfs_1.searchObject, i32* %dfs_1.searchObject.addr, align 4 +%managed.unique.2.dfs_1.i = alloca i32, align 4 +%var58 = load i32* %managed.unique.2.dfs_1.i, align 4 +store i32 0, i32* %managed.unique.2.dfs_1.i, align 4 +%var60 = call i8* @malloc_heap(i32 24) +%var59 = bitcast i8* %var60 to %class.dfs_1_Node* +%var61 = alloca %class.dfs_1_Node*, align 8 +store %class.dfs_1_Node* %var59, %class.dfs_1_Node** %var61, align 8 +call void @dfs_1_Node(%class.dfs_1_Node* %var59) +%managed.unique.3.dfs_1.root = alloca %class.dfs_1_Node*, align 8 +%var62 = load %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +%var63 = load %class.dfs_1_Node** %var61, align 8 +store %class.dfs_1_Node* %var63, %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +%var65 = load %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +%var64 = icmp eq %class.dfs_1_Node* null, %var65 +br i1 %var64, label %label.nullCheck.24, label %label.nullCheck.25 +label.nullCheck.24: +%var66 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.25 +label.nullCheck.25: +%var67 = load %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +%var68 = getelementptr inbounds %class.dfs_1_Node* %var67, i32 0, i32 2 +%var69 = load i32* %var68, align 4 +store i32 111, i32* %var68, align 4 +%managed.unique.4.dfs_1.current = alloca %class.dfs_1_Node*, align 8 +%var70 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var71 = load %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +store %class.dfs_1_Node* %var71, %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +br label %label.while.26 +label.while.26: +%var72 = load i32* %managed.unique.2.dfs_1.i, align 4 +%var73 = icmp slt i32 %var72, 10 +br i1 %var73, label %label.while.27, label %label.while.28 +label.while.27: +%var75 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var74 = icmp eq %class.dfs_1_Node* null, %var75 +br i1 %var74, label %label.nullCheck.29, label %label.nullCheck.30 +label.nullCheck.29: +%var76 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.30 +label.nullCheck.30: +%var77 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var78 = getelementptr inbounds %class.dfs_1_Node* %var77, i32 0, i32 0 +%var80 = call i8* @malloc_heap(i32 24) +%var79 = bitcast i8* %var80 to %class.dfs_1_Node* +%var81 = alloca %class.dfs_1_Node*, align 8 +store %class.dfs_1_Node* %var79, %class.dfs_1_Node** %var81, align 8 +call void @dfs_1_Node(%class.dfs_1_Node* %var79) +%var82 = load %class.dfs_1_Node** %var78, align 8 +%var83 = load %class.dfs_1_Node** %var81, align 8 +store %class.dfs_1_Node* %var83, %class.dfs_1_Node** %var78, align 8 +%var84 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var85 = getelementptr inbounds %class.dfs_1_Node* %var84, i32 0, i32 1 +%var87 = call i8* @malloc_heap(i32 24) +%var86 = bitcast i8* %var87 to %class.dfs_1_Node* +%var88 = alloca %class.dfs_1_Node*, align 8 +store %class.dfs_1_Node* %var86, %class.dfs_1_Node** %var88, align 8 +call void @dfs_1_Node(%class.dfs_1_Node* %var86) +%var89 = load %class.dfs_1_Node** %var85, align 8 +%var90 = load %class.dfs_1_Node** %var88, align 8 +store %class.dfs_1_Node* %var90, %class.dfs_1_Node** %var85, align 8 +%var91 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var92 = getelementptr inbounds %class.dfs_1_Node* %var91, i32 0, i32 2 +%var93 = load i32* %var92, align 4 +%var94 = load i32* %managed.unique.2.dfs_1.i, align 4 +store i32 %var94, i32* %var92, align 4 +%var95 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var96 = getelementptr inbounds %class.dfs_1_Node* %var95, i32 0, i32 0 +%var97 = load %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var98 = load %class.dfs_1_Node** %var96, align 8 +store %class.dfs_1_Node* %var98, %class.dfs_1_Node** %managed.unique.4.dfs_1.current, align 8 +%var99 = load i32* %managed.unique.2.dfs_1.i, align 4 +%var100 = alloca i32, align 4 +%var101 = load i32* %managed.unique.2.dfs_1.i, align 4 +store i32 %var101, i32* %var100, align 4 +%var102 = add nsw i32 %var99, 1 +store i32 %var102, i32* %managed.unique.2.dfs_1.i, align 4 +br label %label.while.26 +label.while.28: +%var103 = load %class.dfs_1_Node** %managed.unique.3.dfs_1.root, align 8 +%var104 = load i32* %dfs_1.searchObject.addr, align 4 +%var106 = call i8* @malloc_heap(i32 8) +%var105 = bitcast i8* %var106 to %class.dfs_1_Node** +call void @dfs_1_search_Ref_dfs_1_Node_Int(%class.dfs_1_Node** %var105, %class.dfs_1_Node* %var103, i32 %var104) +%managed.unique.5.dfs_1.result = alloca %class.dfs_1_Node*, align 8 +%var107 = load %class.dfs_1_Node** %managed.unique.5.dfs_1.result, align 8 +%var108 = load %class.dfs_1_Node** %var105, align 8 +store %class.dfs_1_Node* %var108, %class.dfs_1_Node** %managed.unique.5.dfs_1.result, align 8 +%var109 = load %class.dfs_1_Node** %managed.unique.5.dfs_1.result, align 8 +%var110 = load %class.dfs_1_Node** %managed.unique.5.dfs_1.result, align 8 +%var111 = icmp eq %class.dfs_1_Node* %var110, null +br i1 %var111, label %label.if.31, label %label.if.32 +label.if.31: +%var112 = sub nsw i32 0, 101 +ret i32 %var112 +br label %label.if.33 +label.if.32: +%var113 = load %class.dfs_1_Node** %managed.unique.5.dfs_1.result, align 8 +%var114 = getelementptr inbounds %class.dfs_1_Node* %var113, i32 0, i32 2 +%var115 = load i32* %var114, align 4 +ret i32 %var115 +br label %label.if.33 +label.if.33: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/different_type_binary_operator_1/different_type_binary_operator_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/different_type_binary_operator_1/different_type_binary_operator_1.kt.out new file mode 100644 index 00000000000..248c146a920 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/different_type_binary_operator_1/different_type_binary_operator_1.kt.out @@ -0,0 +1,49 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i64 @different_type_binary_operator_1_shl_Int_Long(i32 %different_type_binary_operator_1_shl.x, i64 %different_type_binary_operator_1_shl.y) #0 +{ +%different_type_binary_operator_1_shl.x.addr = alloca i32, align 4 +store i32 %different_type_binary_operator_1_shl.x, i32* %different_type_binary_operator_1_shl.x.addr, align 4 +%different_type_binary_operator_1_shl.y.addr = alloca i64, align 8 +store i64 %different_type_binary_operator_1_shl.y, i64* %different_type_binary_operator_1_shl.y.addr, align 8 +%var2 = load i64* %different_type_binary_operator_1_shl.y.addr, align 8 +%var3 = load i32* %different_type_binary_operator_1_shl.x.addr, align 4 +%var4 = load i64* %different_type_binary_operator_1_shl.y.addr, align 8 +%var5 = sext i32 %var3 to i64 +%var6 = shl i64 %var4, %var5 +ret i64 %var6 +unreachable +} +define weak i64 @different_type_binary_operator_1_ushr_Int_Long(i32 %different_type_binary_operator_1_ushr.x, i64 %different_type_binary_operator_1_ushr.y) #0 +{ +%different_type_binary_operator_1_ushr.x.addr = alloca i32, align 4 +store i32 %different_type_binary_operator_1_ushr.x, i32* %different_type_binary_operator_1_ushr.x.addr, align 4 +%different_type_binary_operator_1_ushr.y.addr = alloca i64, align 8 +store i64 %different_type_binary_operator_1_ushr.y, i64* %different_type_binary_operator_1_ushr.y.addr, align 8 +%var7 = load i64* %different_type_binary_operator_1_ushr.y.addr, align 8 +%var8 = load i32* %different_type_binary_operator_1_ushr.x.addr, align 4 +%var9 = load i64* %different_type_binary_operator_1_ushr.y.addr, align 8 +%var10 = sext i32 %var8 to i64 +%var11 = lshr i64 %var9, %var10 +ret i64 %var11 +unreachable +} +define weak i64 @different_type_binary_operator_1_shr_Int_Long(i32 %different_type_binary_operator_1_shr.x, i64 %different_type_binary_operator_1_shr.y) #0 +{ +%different_type_binary_operator_1_shr.x.addr = alloca i32, align 4 +store i32 %different_type_binary_operator_1_shr.x, i32* %different_type_binary_operator_1_shr.x.addr, align 4 +%different_type_binary_operator_1_shr.y.addr = alloca i64, align 8 +store i64 %different_type_binary_operator_1_shr.y, i64* %different_type_binary_operator_1_shr.y.addr, align 8 +%var12 = load i64* %different_type_binary_operator_1_shr.y.addr, align 8 +%var13 = load i32* %different_type_binary_operator_1_shr.x.addr, align 4 +%var14 = load i64* %different_type_binary_operator_1_shr.y.addr, align 8 +%var15 = sext i32 %var13 to i64 +%var16 = ashr i64 %var14, %var15 +ret i64 %var16 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/do_while_1/do_while_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/do_while_1/do_while_1.kt.out new file mode 100644 index 00000000000..712183c49e6 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/do_while_1/do_while_1.kt.out @@ -0,0 +1,30 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @do_while_test_1_Int(i32 %do_while_test_1.x) #0 +{ +%do_while_test_1.x.addr = alloca i32, align 4 +store i32 %do_while_test_1.x, i32* %do_while_test_1.x.addr, align 4 +%managed.unique.0.do_while_test_1.t = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.do_while_test_1.t, align 4 +%var3 = load i32* %do_while_test_1.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.do_while_test_1.t, align 4 +br label %label.while.2 +label.while.1: +%var4 = icmp sgt i32 2, 3 +br i1 %var4, label %label.while.2, label %label.while.3 +label.while.2: +%var5 = load i32* %managed.unique.0.do_while_test_1.t, align 4 +%var6 = add nsw i32 %var5, 1 +%var7 = load i32* %managed.unique.0.do_while_test_1.t, align 4 +store i32 %var6, i32* %managed.unique.0.do_while_test_1.t, align 4 +br label %label.while.1 +label.while.3: +%var8 = load i32* %managed.unique.0.do_while_test_1.t, align 4 +ret i32 %var8 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/elvis_1/elvis_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/elvis_1/elvis_1.kt.out new file mode 100644 index 00000000000..e042761f509 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/elvis_1/elvis_1.kt.out @@ -0,0 +1,70 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.elvis_1_MyClass = type { i32 } +define weak void @elvis_1_MyClass_Int(%class.elvis_1_MyClass* %classvariable.this, i32 %elvis_1_MyClass.i) #0 +{ +%classvariable.this.addr = alloca %class.elvis_1_MyClass, align 8 +%elvis_1_MyClass.i.addr = alloca i32, align 4 +store i32 %elvis_1_MyClass.i, i32* %elvis_1_MyClass.i.addr, align 4 +%var2 = load i32* %elvis_1_MyClass.i.addr, align 4 +%var3 = getelementptr inbounds %class.elvis_1_MyClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.elvis_1_MyClass* %classvariable.this to i8* +%var5 = bitcast %class.elvis_1_MyClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @elvis_test_2() #0 +{ +%managed.unique.0.elvis_test_2.i = alloca %class.elvis_1_MyClass*, align 8 +%var6 = load %class.elvis_1_MyClass** %managed.unique.0.elvis_test_2.i, align 8 +store %class.elvis_1_MyClass* null, %class.elvis_1_MyClass** %managed.unique.0.elvis_test_2.i, align 8 +%var7 = load %class.elvis_1_MyClass** %managed.unique.0.elvis_test_2.i, align 8 +%var8 = icmp eq %class.elvis_1_MyClass* %var7, null +br i1 %var8, label %label.elvis.1, label %label.elvis.2 +label.elvis.1: +ret i32 1 +br label %label.elvis.2 +label.elvis.2: +ret i32 0 +unreachable +} +define weak i32 @elvis_test_1_Int(i32 %elvis_test_1.x) #0 +{ +%elvis_test_1.x.addr = alloca i32, align 4 +store i32 %elvis_test_1.x, i32* %elvis_test_1.x.addr, align 4 +%managed.unique.1.elvis_test_1.z = alloca %class.elvis_1_MyClass*, align 8 +%var9 = load %class.elvis_1_MyClass** %managed.unique.1.elvis_test_1.z, align 8 +store %class.elvis_1_MyClass* null, %class.elvis_1_MyClass** %managed.unique.1.elvis_test_1.z, align 8 +%var10 = load i32* %elvis_test_1.x.addr, align 4 +%var11 = icmp sgt i32 %var10, 1 +br i1 %var11, label %label.if.3, label %label.if.4 +label.if.3: +%var13 = call i8* @malloc_heap(i32 4) +%var12 = bitcast i8* %var13 to %class.elvis_1_MyClass* +%var14 = alloca %class.elvis_1_MyClass*, align 8 +store %class.elvis_1_MyClass* %var12, %class.elvis_1_MyClass** %var14, align 8 +call void @elvis_1_MyClass_Int(%class.elvis_1_MyClass* %var12, i32 1) +%var15 = load %class.elvis_1_MyClass** %managed.unique.1.elvis_test_1.z, align 8 +%var16 = load %class.elvis_1_MyClass** %var14, align 8 +store %class.elvis_1_MyClass* %var16, %class.elvis_1_MyClass** %managed.unique.1.elvis_test_1.z, align 8 +br label %label.if.5 +label.if.4: +br label %label.if.5 +label.if.5: +%var17 = load %class.elvis_1_MyClass** %managed.unique.1.elvis_test_1.z, align 8 +%var18 = icmp eq %class.elvis_1_MyClass* %var17, null +br i1 %var18, label %label.elvis.6, label %label.elvis.7 +label.elvis.6: +ret i32 0 +br label %label.elvis.7 +label.elvis.7: +ret i32 1 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/enum_complex/enum_complex.kt.out b/experiments/translator-bc/src/test/kotlin/tests/enum_complex/enum_complex.kt.out new file mode 100644 index 00000000000..a1b92992711 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/enum_complex/enum_complex.kt.out @@ -0,0 +1,77 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.Holder = type { } +%class.Holder.nested = type { i32 } +%class.Holder.nested.Companion = type { } +@object.instance.Holder.nested.Companion = internal global %class.Holder.nested.Companion { }, align 8 +define weak void @Holder(%class.Holder* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.Holder, align 8 +%var2 = bitcast %class.Holder* %classvariable.this to i8* +%var3 = bitcast %class.Holder* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +@var4 = global %class.Holder.nested { i32 0 }, align 8 +@class.Holder.nested.FIRST = global %class.Holder.nested* @var4, align 8 +@var5 = global %class.Holder.nested { i32 1 }, align 8 +@class.Holder.nested.SECOND = global %class.Holder.nested* @var5, align 8 +@var6 = global %class.Holder.nested { i32 3 }, align 8 +@class.Holder.nested.THIRD = global %class.Holder.nested* @var6, align 8 +define weak void @Holder.nested_Int(%class.Holder.nested* %classvariable.this, i32 %Holder.nested.id) #0 +{ +%classvariable.this.addr = alloca %class.Holder.nested, align 8 +%Holder.nested.id.addr = alloca i32, align 4 +store i32 %Holder.nested.id, i32* %Holder.nested.id.addr, align 4 +%var7 = load i32* %Holder.nested.id.addr, align 4 +%var8 = getelementptr inbounds %class.Holder.nested* %classvariable.this.addr, i32 0, i32 0 +store i32 %var7, i32* %var8, align 4 +%var9 = bitcast %class.Holder.nested* %classvariable.this to i8* +%var10 = bitcast %class.Holder.nested* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var9, i8* %var10, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak void @Holder.nested.Companion(%class.Holder.nested.Companion* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.Holder.nested.Companion, align 8 +%var11 = bitcast %class.Holder.nested.Companion* %classvariable.this to i8* +%var12 = bitcast %class.Holder.nested.Companion* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var11, i8* %var12, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @Holder.nested.Companion.functor_Int(%class.Holder.nested.Companion* %classvariable.this, i32 %Holder.nested.Companion.functor.ord) #0 +{ +%Holder.nested.Companion.functor.ord.addr = alloca i32, align 4 +store i32 %Holder.nested.Companion.functor.ord, i32* %Holder.nested.Companion.functor.ord.addr, align 4 +%var13 = load %class.Holder.nested** @class.Holder.nested.FIRST, align 8 +%var14 = getelementptr inbounds %class.Holder.nested* %var13, i32 0, i32 0 +%var15 = load i32* %var14, align 4 +ret i32 %var15 +unreachable +} +define weak i32 @enum_complex_test1() #0 +{ +%var17 = call i8* @malloc_heap(i32 0) +%var16 = bitcast i8* %var17 to %class.Holder* +%var18 = alloca %class.Holder*, align 8 +store %class.Holder* %var16, %class.Holder** %var18, align 8 +call void @Holder(%class.Holder* %var16) +%managed.unique.0.enum_complex_test1.h = alloca %class.Holder*, align 8 +%var19 = load %class.Holder** %managed.unique.0.enum_complex_test1.h, align 8 +%var20 = load %class.Holder** %var18, align 8 +store %class.Holder* %var20, %class.Holder** %managed.unique.0.enum_complex_test1.h, align 8 +%var21 = call i32 @Holder.nested.Companion.functor_Int(%class.Holder.nested.Companion* @object.instance.Holder.nested.Companion, i32 0) +%var22 = alloca i32, align 4 +store i32 %var21, i32* %var22, align 4 +%var23 = load i32* %var22, align 4 +ret i32 %var23 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.err b/experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.err new file mode 100644 index 00000000000..6b042cb8c83 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.err @@ -0,0 +1,6 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./enum_inner_fields/enum_inner_fields.kt 3:12 Unresolved reference: WireType +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.out b/experiments/translator-bc/src/test/kotlin/tests/enum_inner_fields/enum_inner_fields.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/floating_point_operators_1/floating_point_operators_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/floating_point_operators_1/floating_point_operators_1.kt.out new file mode 100644 index 00000000000..9be0eee5c02 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/floating_point_operators_1/floating_point_operators_1.kt.out @@ -0,0 +1,34 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @floating_point_operators_1_double_leq_Double_Double(double %floating_point_operators_1_double_leq.x, double %floating_point_operators_1_double_leq.y) #0 +{ +%floating_point_operators_1_double_leq.x.addr = alloca double, align 8 +store double %floating_point_operators_1_double_leq.x, double* %floating_point_operators_1_double_leq.x.addr, align 8 +%floating_point_operators_1_double_leq.y.addr = alloca double, align 8 +store double %floating_point_operators_1_double_leq.y, double* %floating_point_operators_1_double_leq.y.addr, align 8 +%var2 = load double* %floating_point_operators_1_double_leq.x.addr, align 8 +%var3 = load double* %floating_point_operators_1_double_leq.y.addr, align 8 +%var4 = fcmp olt double %var2, %var3 +br i1 %var4, label %label.if.1, label %label.if.2 +label.if.1: +ret i32 1 +br label %label.if.3 +label.if.2: +ret i32 0 +br label %label.if.3 +label.if.3: +unreachable +} +define weak i1 @floating_point_operators_1_getValue_Boolean(i1 %floating_point_operators_1_getValue.b) #0 +{ +%floating_point_operators_1_getValue.b.addr = alloca i1, align 4 +store i1 %floating_point_operators_1_getValue.b, i1* %floating_point_operators_1_getValue.b.addr, align 4 +%var5 = load i1* %floating_point_operators_1_getValue.b.addr, align 4 +ret i1 %var5 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.err new file mode 100644 index 00000000000..b4fa2732a93 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.err @@ -0,0 +1,20 @@ +Exception in thread "main" kotlin.KotlinNullPointerException + at org.kotlinnative.translator.codegens.BlockCodegen.addPrimitiveReferenceOperationByName(BlockCodegen.kt:832) + at org.kotlinnative.translator.codegens.BlockCodegen.addPrimitiveBinaryOperation(BlockCodegen.kt:183) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateBinaryExpression(BlockCodegen.kt:694) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:72) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateForOperator(BlockCodegen.kt:868) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateLeafPsiElement(BlockCodegen.kt:861) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluatePsiElement(BlockCodegen.kt:849) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:88) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:201) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/for_1/for_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/function_default_arguments_1/function_default_arguments_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/function_default_arguments_1/function_default_arguments_1.kt.out new file mode 100644 index 00000000000..9d0acb1e14a --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/function_default_arguments_1/function_default_arguments_1.kt.out @@ -0,0 +1,215 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.function_default_arguments_1_argClass = type { i32 } +define weak void @function_default_arguments_1_argClass_Int(%class.function_default_arguments_1_argClass* %classvariable.this, i32 %function_default_arguments_1_argClass.classArgument) #0 +{ +%classvariable.this.addr = alloca %class.function_default_arguments_1_argClass, align 8 +%function_default_arguments_1_argClass.classArgument.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_argClass.classArgument, i32* %function_default_arguments_1_argClass.classArgument.addr, align 4 +%var2 = load i32* %function_default_arguments_1_argClass.classArgument.addr, align 4 +%var3 = getelementptr inbounds %class.function_default_arguments_1_argClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.function_default_arguments_1_argClass* %classvariable.this to i8* +%var5 = bitcast %class.function_default_arguments_1_argClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @function_default_arguments_1_add_class_Int_Ref_function_default_arguments_1_argClass_Int_Int(i32 %function_default_arguments_1_add_class.x, %class.function_default_arguments_1_argClass* %function_default_arguments_1_add_class.t, i32 %function_default_arguments_1_add_class.y, i32 %function_default_arguments_1_add_class.z) #0 +{ +%function_default_arguments_1_add_class.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add_class.x, i32* %function_default_arguments_1_add_class.x.addr, align 4 +%function_default_arguments_1_add_class.y.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add_class.y, i32* %function_default_arguments_1_add_class.y.addr, align 4 +%function_default_arguments_1_add_class.z.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add_class.z, i32* %function_default_arguments_1_add_class.z.addr, align 4 +%var6 = getelementptr inbounds %class.function_default_arguments_1_argClass* %function_default_arguments_1_add_class.t, i32 0, i32 0 +%var7 = load i32* %function_default_arguments_1_add_class.x.addr, align 4 +%var8 = load i32* %var6, align 4 +%var9 = add nsw i32 %var7, %var8 +ret i32 %var9 +unreachable +} +define weak i32 @function_default_arguments_1_last_present_Int(i32 %function_default_arguments_1_last_present.x) #0 +{ +%function_default_arguments_1_last_present.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_last_present.x, i32* %function_default_arguments_1_last_present.x.addr, align 4 +%var10 = load i32* %function_default_arguments_1_last_present.x.addr, align 4 +%var11 = call i32 @function_default_arguments_1_last_missed_fun_Int_Int(i32 %var10, i32 29) +%var12 = alloca i32, align 4 +store i32 %var11, i32* %var12, align 4 +%var13 = load i32* %var12, align 4 +ret i32 %var13 +unreachable +} +define weak i32 @function_default_arguments_1_last_missed_Int(i32 %function_default_arguments_1_last_missed.x) #0 +{ +%function_default_arguments_1_last_missed.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_last_missed.x, i32* %function_default_arguments_1_last_missed.x.addr, align 4 +%var14 = load i32* %function_default_arguments_1_last_missed.x.addr, align 4 +%var15 = call i32 @function_default_arguments_1_last_missed_fun_Int_Int(i32 %var14, i32 954) +%var16 = alloca i32, align 4 +store i32 %var15, i32* %var16, align 4 +%var17 = load i32* %var16, align 4 +ret i32 %var17 +unreachable +} +define weak i32 @function_default_arguments_1_position_fun_Int_Int_Int(i32 %function_default_arguments_1_position_fun.first, i32 %function_default_arguments_1_position_fun.second, i32 %function_default_arguments_1_position_fun.third) #0 +{ +%function_default_arguments_1_position_fun.first.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_fun.first, i32* %function_default_arguments_1_position_fun.first.addr, align 4 +%function_default_arguments_1_position_fun.second.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_fun.second, i32* %function_default_arguments_1_position_fun.second.addr, align 4 +%function_default_arguments_1_position_fun.third.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_fun.third, i32* %function_default_arguments_1_position_fun.third.addr, align 4 +%var18 = load i32* %function_default_arguments_1_position_fun.second.addr, align 4 +%var19 = mul nsw i32 2, %var18 +%var20 = load i32* %function_default_arguments_1_position_fun.first.addr, align 4 +%var21 = add nsw i32 %var20, %var19 +%var22 = load i32* %function_default_arguments_1_position_fun.third.addr, align 4 +%var23 = mul nsw i32 3, %var22 +%var24 = add nsw i32 %var21, %var23 +ret i32 %var24 +unreachable +} +define weak i32 @function_default_arguments_1_position_all_right_order_Int(i32 %function_default_arguments_1_position_all_right_order.x) #0 +{ +%function_default_arguments_1_position_all_right_order.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_all_right_order.x, i32* %function_default_arguments_1_position_all_right_order.x.addr, align 4 +%var25 = load i32* %function_default_arguments_1_position_all_right_order.x.addr, align 4 +%var26 = call i32 @function_default_arguments_1_position_fun_Int_Int_Int(i32 11, i32 32, i32 %var25) +%var27 = alloca i32, align 4 +store i32 %var26, i32* %var27, align 4 +%var28 = load i32* %var27, align 4 +ret i32 %var28 +unreachable +} +define weak i32 @function_default_arguments_1_add_class_arg() #0 +{ +%var30 = call i8* @malloc_heap(i32 4) +%var29 = bitcast i8* %var30 to %class.function_default_arguments_1_argClass* +%var31 = alloca %class.function_default_arguments_1_argClass*, align 8 +store %class.function_default_arguments_1_argClass* %var29, %class.function_default_arguments_1_argClass** %var31, align 8 +call void @function_default_arguments_1_argClass_Int(%class.function_default_arguments_1_argClass* %var29, i32 124) +%var32 = load %class.function_default_arguments_1_argClass** %var31, align 8 +%var33 = call i32 @function_default_arguments_1_add_class_Int_Ref_function_default_arguments_1_argClass_Int_Int(i32 190, %class.function_default_arguments_1_argClass* %var32, i32 53, i32 777) +%var34 = alloca i32, align 4 +store i32 %var33, i32* %var34, align 4 +%var35 = load i32* %var34, align 4 +ret i32 %var35 +unreachable +} +define weak i32 @function_default_arguments_1_last_missed_fun_Int_Int(i32 %function_default_arguments_1_last_missed_fun.z, i32 %function_default_arguments_1_last_missed_fun.u) #0 +{ +%function_default_arguments_1_last_missed_fun.z.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_last_missed_fun.z, i32* %function_default_arguments_1_last_missed_fun.z.addr, align 4 +%function_default_arguments_1_last_missed_fun.u.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_last_missed_fun.u, i32* %function_default_arguments_1_last_missed_fun.u.addr, align 4 +%var36 = load i32* %function_default_arguments_1_last_missed_fun.z.addr, align 4 +%var37 = load i32* %function_default_arguments_1_last_missed_fun.u.addr, align 4 +%var38 = add nsw i32 %var36, %var37 +ret i32 %var38 +unreachable +} +define weak i32 @function_default_arguments_1_position_all_default_Int(i32 %function_default_arguments_1_position_all_default.x) #0 +{ +%function_default_arguments_1_position_all_default.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_all_default.x, i32* %function_default_arguments_1_position_all_default.x.addr, align 4 +%var39 = load i32* %function_default_arguments_1_position_all_default.x.addr, align 4 +%var40 = call i32 @function_default_arguments_1_position_fun_Int_Int_Int(i32 %var39, i32 324, i32 2531) +%var41 = alloca i32, align 4 +store i32 %var40, i32* %var41, align 4 +%var42 = load i32* %var41, align 4 +ret i32 %var42 +unreachable +} +define weak i32 @function_default_arguments_1_all_position() #0 +{ +%var43 = call i32 @function_default_arguments_1_all_position_fun_Int_Int_Int(i32 31, i32 32, i32 33) +%var44 = alloca i32, align 4 +store i32 %var43, i32* %var44, align 4 +%var45 = load i32* %var44, align 4 +ret i32 %var45 +unreachable +} +define weak i32 @function_default_arguments_1_add_Int_Ref_function_default_arguments_1_argClass_Int_Int(i32 %function_default_arguments_1_add.x, %class.function_default_arguments_1_argClass* %function_default_arguments_1_add.t, i32 %function_default_arguments_1_add.y, i32 %function_default_arguments_1_add.z) #0 +{ +%function_default_arguments_1_add.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add.x, i32* %function_default_arguments_1_add.x.addr, align 4 +%function_default_arguments_1_add.y.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add.y, i32* %function_default_arguments_1_add.y.addr, align 4 +%function_default_arguments_1_add.z.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_add.z, i32* %function_default_arguments_1_add.z.addr, align 4 +%var46 = load i32* %function_default_arguments_1_add.x.addr, align 4 +%var47 = load i32* %function_default_arguments_1_add.y.addr, align 4 +%var48 = add nsw i32 %var46, %var47 +ret i32 %var48 +unreachable +} +define weak i32 @function_default_arguments_1_all_position_fun_Int_Int_Int(i32 %function_default_arguments_1_all_position_fun.first, i32 %function_default_arguments_1_all_position_fun.second, i32 %function_default_arguments_1_all_position_fun.third) #0 +{ +%function_default_arguments_1_all_position_fun.first.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_all_position_fun.first, i32* %function_default_arguments_1_all_position_fun.first.addr, align 4 +%function_default_arguments_1_all_position_fun.second.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_all_position_fun.second, i32* %function_default_arguments_1_all_position_fun.second.addr, align 4 +%function_default_arguments_1_all_position_fun.third.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_all_position_fun.third, i32* %function_default_arguments_1_all_position_fun.third.addr, align 4 +%var49 = load i32* %function_default_arguments_1_all_position_fun.second.addr, align 4 +%var50 = mul nsw i32 2, %var49 +%var51 = load i32* %function_default_arguments_1_all_position_fun.first.addr, align 4 +%var52 = add nsw i32 %var51, %var50 +%var53 = load i32* %function_default_arguments_1_all_position_fun.third.addr, align 4 +%var54 = mul nsw i32 3, %var53 +%var55 = add nsw i32 %var52, %var54 +ret i32 %var55 +unreachable +} +define weak i32 @function_default_arguments_1_position_third_only_Int(i32 %function_default_arguments_1_position_third_only.x) #0 +{ +%function_default_arguments_1_position_third_only.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_third_only.x, i32* %function_default_arguments_1_position_third_only.x.addr, align 4 +%var56 = load i32* %function_default_arguments_1_position_third_only.x.addr, align 4 +%var57 = call i32 @function_default_arguments_1_position_fun_Int_Int_Int(i32 11, i32 324, i32 %var56) +%var58 = alloca i32, align 4 +store i32 %var57, i32* %var58, align 4 +%var59 = load i32* %var58, align 4 +ret i32 %var59 +unreachable +} +define weak i32 @function_default_arguments_1_mixed() #0 +{ +%var61 = call i8* @malloc_heap(i32 4) +%var60 = bitcast i8* %var61 to %class.function_default_arguments_1_argClass* +%var62 = alloca %class.function_default_arguments_1_argClass*, align 8 +store %class.function_default_arguments_1_argClass* %var60, %class.function_default_arguments_1_argClass** %var62, align 8 +call void @function_default_arguments_1_argClass_Int(%class.function_default_arguments_1_argClass* %var60, i32 29) +%var64 = call i8* @malloc_heap(i32 4) +%var63 = bitcast i8* %var64 to %class.function_default_arguments_1_argClass* +%var65 = alloca %class.function_default_arguments_1_argClass*, align 8 +store %class.function_default_arguments_1_argClass* %var63, %class.function_default_arguments_1_argClass** %var65, align 8 +call void @function_default_arguments_1_argClass_Int(%class.function_default_arguments_1_argClass* %var63, i32 29) +%var66 = load %class.function_default_arguments_1_argClass** %var65, align 8 +%var67 = call i32 @function_default_arguments_1_add_Int_Ref_function_default_arguments_1_argClass_Int_Int(i32 23, %class.function_default_arguments_1_argClass* %var66, i32 53, i32 8) +%var68 = alloca i32, align 4 +store i32 %var67, i32* %var68, align 4 +%var69 = load i32* %var68, align 4 +ret i32 %var69 +unreachable +} +define weak i32 @function_default_arguments_1_position_all_reverse_Int(i32 %function_default_arguments_1_position_all_reverse.x) #0 +{ +%function_default_arguments_1_position_all_reverse.x.addr = alloca i32, align 4 +store i32 %function_default_arguments_1_position_all_reverse.x, i32* %function_default_arguments_1_position_all_reverse.x.addr, align 4 +%var70 = load i32* %function_default_arguments_1_position_all_reverse.x.addr, align 4 +%var71 = call i32 @function_default_arguments_1_position_fun_Int_Int_Int(i32 11, i32 32, i32 %var70) +%var72 = alloca i32, align 4 +store i32 %var71, i32* %var72, align 4 +%var73 = load i32* %var72, align 4 +ret i32 %var73 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/function_eq/function_eq.kt.out b/experiments/translator-bc/src/test/kotlin/tests/function_eq/function_eq.kt.out new file mode 100644 index 00000000000..ca13f6b431c --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/function_eq/function_eq.kt.out @@ -0,0 +1,75 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.function_eq_MyClass = type { i32 } +define weak void @function_eq_MyClass_Int(%class.function_eq_MyClass* %classvariable.this, i32 %function_eq_MyClass.i) #0 +{ +%classvariable.this.addr = alloca %class.function_eq_MyClass, align 8 +%function_eq_MyClass.i.addr = alloca i32, align 4 +store i32 %function_eq_MyClass.i, i32* %function_eq_MyClass.i.addr, align 4 +%var2 = load i32* %function_eq_MyClass.i.addr, align 4 +%var3 = getelementptr inbounds %class.function_eq_MyClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.function_eq_MyClass* %classvariable.this to i8* +%var5 = bitcast %class.function_eq_MyClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @function_eq_dinc_Int(i32 %function_eq_dinc.i) #0 +{ +%function_eq_dinc.i.addr = alloca i32, align 4 +store i32 %function_eq_dinc.i, i32* %function_eq_dinc.i.addr, align 4 +%var6 = load i32* %function_eq_dinc.i.addr, align 4 +%var7 = call i32 @function_eq_inc_Int(i32 %var6) +%var8 = alloca i32, align 4 +store i32 %var7, i32* %var8, align 4 +%var9 = load i32* %function_eq_dinc.i.addr, align 4 +%var10 = call i32 @function_eq_inc_Int(i32 %var9) +%var11 = alloca i32, align 4 +store i32 %var10, i32* %var11, align 4 +%var12 = load i32* %var11, align 4 +%var13 = call i32 @function_eq_inc_Int(i32 %var12) +%var14 = alloca i32, align 4 +store i32 %var13, i32* %var14, align 4 +%var15 = load i32* %var14, align 4 +ret i32 %var15 +unreachable +} +define weak void @function_eq_gen(%class.function_eq_MyClass** %instance) #0 +{ +%var17 = call i8* @malloc_heap(i32 4) +%var16 = bitcast i8* %var17 to %class.function_eq_MyClass* +%var18 = alloca %class.function_eq_MyClass*, align 8 +store %class.function_eq_MyClass* %var16, %class.function_eq_MyClass** %var18, align 8 +call void @function_eq_MyClass_Int(%class.function_eq_MyClass* %var16, i32 1) +%var19 = load %class.function_eq_MyClass** %var18, align 8 +store %class.function_eq_MyClass* %var19, %class.function_eq_MyClass** %instance, align 8 +ret void +unreachable +} +define weak i32 @function_eq_sum_Int_Int(i32 %function_eq_sum.i, i32 %function_eq_sum.j) #0 +{ +%function_eq_sum.i.addr = alloca i32, align 4 +store i32 %function_eq_sum.i, i32* %function_eq_sum.i.addr, align 4 +%function_eq_sum.j.addr = alloca i32, align 4 +store i32 %function_eq_sum.j, i32* %function_eq_sum.j.addr, align 4 +%var20 = load i32* %function_eq_sum.i.addr, align 4 +%var21 = load i32* %function_eq_sum.j.addr, align 4 +%var22 = add nsw i32 %var20, %var21 +ret i32 %var22 +unreachable +} +define weak i32 @function_eq_inc_Int(i32 %function_eq_inc.i) #0 +{ +%function_eq_inc.i.addr = alloca i32, align 4 +store i32 %function_eq_inc.i, i32* %function_eq_inc.i.addr, align 4 +%var23 = load i32* %function_eq_inc.i.addr, align 4 +%var24 = add nsw i32 %var23, 1 +ret i32 %var24 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/function_extensions_1/function_extensions_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/function_extensions_1/function_extensions_1.kt.out new file mode 100644 index 00000000000..e7065fe3255 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/function_extensions_1/function_extensions_1.kt.out @@ -0,0 +1,34 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @Int.compareTo_Int(i32 %type, i32 %compareTo.x) #0 +{ +%compareTo.x.addr = alloca i32, align 4 +store i32 %compareTo.x, i32* %compareTo.x.addr, align 4 +%var2 = load i32* %compareTo.x.addr, align 4 +%var3 = add nsw i32 %type, %var2 +%var4 = add nsw i32 %var3, 5 +ret i32 %var4 +unreachable +} +define weak i32 @function_extensions_1_Int(i32 %function_extensions_1.x) #0 +{ +%function_extensions_1.x.addr = alloca i32, align 4 +store i32 %function_extensions_1.x, i32* %function_extensions_1.x.addr, align 4 +%var5 = load i32* %function_extensions_1.x.addr, align 4 +%var6 = call i32 @Int.compareTo_Int(i32 %var5, i32 1) +%var7 = alloca i32, align 4 +store i32 %var6, i32* %var7, align 4 +%var8 = call i32 @Int.compareTo_Int(i32 39, i32 123) +%var9 = alloca i32, align 4 +store i32 %var8, i32* %var9, align 4 +%var10 = load i32* %var7, align 4 +%var11 = load i32* %var9, align 4 +%var12 = add nsw i32 %var10, %var11 +ret i32 %var12 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.err new file mode 100644 index 00000000000..c6f351c43ec --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.err @@ -0,0 +1,22 @@ +Exception in thread "main" java.rmi.UnexpectedException: %class.kotlin.IntArray + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateArrayAccessExpression(BlockCodegen.kt:461) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateReferenceExpression(BlockCodegen.kt:491) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateReferenceExpression$default(BlockCodegen.kt:488) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:80) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateReturnInstruction(BlockCodegen.kt:1089) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateLeafPsiElement(BlockCodegen.kt:858) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluatePsiElement(BlockCodegen.kt:849) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:88) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:201) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.StructCodegen.generate(StructCodegen.kt:74) + at org.kotlinnative.translator.codegens.ClassCodegen.generate(ClassCodegen.kt:67) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:66) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/function_extensions_double_argument_1/function_extensions_double_argument_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/get_set_operators_1/get_set_operators_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/get_set_operators_1/get_set_operators_1.kt.out new file mode 100644 index 00000000000..511b5edce1f --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/get_set_operators_1/get_set_operators_1.kt.out @@ -0,0 +1,91 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.get_set_operators_1_class = type { i32 } +define weak void @get_set_operators_1_class(%class.get_set_operators_1_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.get_set_operators_1_class, align 8 +%var2 = getelementptr inbounds %class.get_set_operators_1_class* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 9, i32* %var2, align 4 +%var4 = bitcast %class.get_set_operators_1_class* %classvariable.this to i8* +%var5 = bitcast %class.get_set_operators_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @get_set_operators_1_class.get_Int(%class.get_set_operators_1_class* %classvariable.this, i32 %get_set_operators_1_class.get.x) #0 +{ +%get_set_operators_1_class.get.x.addr = alloca i32, align 4 +store i32 %get_set_operators_1_class.get.x, i32* %get_set_operators_1_class.get.x.addr, align 4 +%var6 = load i32* %get_set_operators_1_class.get.x.addr, align 4 +%var7 = add nsw i32 %var6, 8 +ret i32 %var7 +unreachable +} +define weak void @get_set_operators_1_class.set_Int_Int(%class.get_set_operators_1_class* %classvariable.this, i32 %get_set_operators_1_class.set.x, i32 %get_set_operators_1_class.set.y) #0 +{ +%get_set_operators_1_class.set.x.addr = alloca i32, align 4 +store i32 %get_set_operators_1_class.set.x, i32* %get_set_operators_1_class.set.x.addr, align 4 +%get_set_operators_1_class.set.y.addr = alloca i32, align 4 +store i32 %get_set_operators_1_class.set.y, i32* %get_set_operators_1_class.set.y.addr, align 4 +%var8 = getelementptr inbounds %class.get_set_operators_1_class* %classvariable.this, i32 0, i32 0 +%var9 = load i32* %get_set_operators_1_class.set.x.addr, align 4 +%var10 = load i32* %get_set_operators_1_class.set.y.addr, align 4 +%var11 = add nsw i32 %var9, %var10 +%var12 = load i32* %var8, align 4 +store i32 %var11, i32* %var8, align 4 +ret void +unreachable +} +define weak i32 @get_set_operators_1_get_Int(i32 %get_set_operators_1_get.arg) #0 +{ +%get_set_operators_1_get.arg.addr = alloca i32, align 4 +store i32 %get_set_operators_1_get.arg, i32* %get_set_operators_1_get.arg.addr, align 4 +%var14 = call i8* @malloc_heap(i32 4) +%var13 = bitcast i8* %var14 to %class.get_set_operators_1_class* +%var15 = alloca %class.get_set_operators_1_class*, align 8 +store %class.get_set_operators_1_class* %var13, %class.get_set_operators_1_class** %var15, align 8 +call void @get_set_operators_1_class(%class.get_set_operators_1_class* %var13) +%managed.unique.0.get_set_operators_1_get.b = alloca %class.get_set_operators_1_class*, align 8 +%var16 = load %class.get_set_operators_1_class** %managed.unique.0.get_set_operators_1_get.b, align 8 +%var17 = load %class.get_set_operators_1_class** %var15, align 8 +store %class.get_set_operators_1_class* %var17, %class.get_set_operators_1_class** %managed.unique.0.get_set_operators_1_get.b, align 8 +%var18 = load %class.get_set_operators_1_class** %managed.unique.0.get_set_operators_1_get.b, align 8 +%var19 = load i32* %get_set_operators_1_get.arg.addr, align 4 +%var20 = call i32 @get_set_operators_1_class.get_Int(%class.get_set_operators_1_class* %var18, i32 %var19) +%var21 = alloca i32, align 4 +store i32 %var20, i32* %var21, align 4 +%var22 = load i32* %var21, align 4 +ret i32 %var22 +unreachable +} +define weak i32 @get_set_operators_1_set_Int_Int(i32 %get_set_operators_1_set.ind, i32 %get_set_operators_1_set.arg) #0 +{ +%get_set_operators_1_set.ind.addr = alloca i32, align 4 +store i32 %get_set_operators_1_set.ind, i32* %get_set_operators_1_set.ind.addr, align 4 +%get_set_operators_1_set.arg.addr = alloca i32, align 4 +store i32 %get_set_operators_1_set.arg, i32* %get_set_operators_1_set.arg.addr, align 4 +%var24 = call i8* @malloc_heap(i32 4) +%var23 = bitcast i8* %var24 to %class.get_set_operators_1_class* +%var25 = alloca %class.get_set_operators_1_class*, align 8 +store %class.get_set_operators_1_class* %var23, %class.get_set_operators_1_class** %var25, align 8 +call void @get_set_operators_1_class(%class.get_set_operators_1_class* %var23) +%managed.unique.1.get_set_operators_1_set.b = alloca %class.get_set_operators_1_class*, align 8 +%var26 = load %class.get_set_operators_1_class** %managed.unique.1.get_set_operators_1_set.b, align 8 +%var27 = load %class.get_set_operators_1_class** %var25, align 8 +store %class.get_set_operators_1_class* %var27, %class.get_set_operators_1_class** %managed.unique.1.get_set_operators_1_set.b, align 8 +%var28 = load %class.get_set_operators_1_class** %managed.unique.1.get_set_operators_1_set.b, align 8 +%var29 = load i32* %get_set_operators_1_set.ind.addr, align 4 +%var30 = load i32* %get_set_operators_1_set.arg.addr, align 4 +call void @get_set_operators_1_class.set_Int_Int(%class.get_set_operators_1_class* %var28, i32 %var29, i32 %var30) +%var31 = load %class.get_set_operators_1_class** %managed.unique.1.get_set_operators_1_set.b, align 8 +%var32 = getelementptr inbounds %class.get_set_operators_1_class* %var31, i32 0, i32 0 +%var33 = load i32* %var32, align 4 +ret i32 %var33 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/global_vars_1/global_vars_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/global_vars_1/global_vars_1.kt.out new file mode 100644 index 00000000000..3bde8e4ea0c --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/global_vars_1/global_vars_1.kt.out @@ -0,0 +1,22 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +@MY_FIRST_CONSTANT = global i32 3000, align 4 +@MY_SECOND_CONSTANT = global i32 4000, align 4 +define weak i32 @global_test1() #0 +{ +%var2 = load i32* @MY_FIRST_CONSTANT, align 4 +ret i32 %var2 +unreachable +} +define weak i32 @global_test2() #0 +{ +%var3 = load i32* @MY_SECOND_CONSTANT, align 4 +%var4 = add nsw i32 %var3, 1 +ret i32 %var4 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/if_1/if_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/if_1/if_1.kt.out new file mode 100644 index 00000000000..7dadbe78e9b --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/if_1/if_1.kt.out @@ -0,0 +1,84 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.MyClass_if_1 = type { } +define weak void @MyClass_if_1(%class.MyClass_if_1* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.MyClass_if_1, align 8 +%var2 = bitcast %class.MyClass_if_1* %classvariable.this to i8* +%var3 = bitcast %class.MyClass_if_1* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @if_test_null_Int(i32 %if_test_null.x) #0 +{ +%if_test_null.x.addr = alloca i32, align 4 +store i32 %if_test_null.x, i32* %if_test_null.x.addr, align 4 +%managed.unique.0.if_test_null.y = alloca %class.MyClass_if_1*, align 8 +%var4 = load %class.MyClass_if_1** %managed.unique.0.if_test_null.y, align 8 +store %class.MyClass_if_1* null, %class.MyClass_if_1** %managed.unique.0.if_test_null.y, align 8 +%var5 = load %class.MyClass_if_1** %managed.unique.0.if_test_null.y, align 8 +%var6 = load %class.MyClass_if_1** %managed.unique.0.if_test_null.y, align 8 +%var7 = icmp eq %class.MyClass_if_1* %var6, null +br i1 %var7, label %label.if.1, label %label.if.2 +label.if.1: +ret i32 1 +br label %label.if.3 +label.if.2: +ret i32 0 +br label %label.if.3 +label.if.3: +unreachable +} +define weak i32 @if_test_1_Int(i32 %if_test_1.x) #0 +{ +%if_test_1.x.addr = alloca i32, align 4 +store i32 %if_test_1.x, i32* %if_test_1.x.addr, align 4 +%managed.unique.1.if_test_1.a = alloca i32, align 4 +%var8 = load i32* %managed.unique.1.if_test_1.a, align 4 +store i32 0, i32* %managed.unique.1.if_test_1.a, align 4 +%var9 = load i32* %if_test_1.x.addr, align 4 +%var10 = icmp sgt i32 %var9, 5 +br i1 %var10, label %label.if.4, label %label.if.5 +label.if.4: +%var11 = load i32* %managed.unique.1.if_test_1.a, align 4 +store i32 10, i32* %managed.unique.1.if_test_1.a, align 4 +br label %label.if.6 +label.if.5: +br label %label.if.6 +label.if.6: +%var12 = load i32* %managed.unique.1.if_test_1.a, align 4 +ret i32 %var12 +unreachable +} +define weak i32 @if_test_null_2_Int(i32 %if_test_null_2.x) #0 +{ +%if_test_null_2.x.addr = alloca i32, align 4 +store i32 %if_test_null_2.x, i32* %if_test_null_2.x.addr, align 4 +%var14 = call i8* @malloc_heap(i32 0) +%var13 = bitcast i8* %var14 to %class.MyClass_if_1* +%var15 = alloca %class.MyClass_if_1*, align 8 +store %class.MyClass_if_1* %var13, %class.MyClass_if_1** %var15, align 8 +call void @MyClass_if_1(%class.MyClass_if_1* %var13) +%managed.unique.2.if_test_null_2.y = alloca %class.MyClass_if_1*, align 8 +%var16 = load %class.MyClass_if_1** %managed.unique.2.if_test_null_2.y, align 8 +%var17 = load %class.MyClass_if_1** %var15, align 8 +store %class.MyClass_if_1* %var17, %class.MyClass_if_1** %managed.unique.2.if_test_null_2.y, align 8 +%var18 = load %class.MyClass_if_1** %managed.unique.2.if_test_null_2.y, align 8 +%var19 = load %class.MyClass_if_1** %managed.unique.2.if_test_null_2.y, align 8 +%var20 = icmp eq %class.MyClass_if_1* %var19, null +br i1 %var20, label %label.if.7, label %label.if.8 +label.if.7: +ret i32 1 +br label %label.if.9 +label.if.8: +ret i32 0 +br label %label.if.9 +label.if.9: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/if_2/if_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/if_2/if_2.kt.out new file mode 100644 index 00000000000..6b7836787b1 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/if_2/if_2.kt.out @@ -0,0 +1,28 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @if_without_else_2_Int(i32 %if_without_else_2.x) #0 +{ +%if_without_else_2.x.addr = alloca i32, align 4 +store i32 %if_without_else_2.x, i32* %if_without_else_2.x.addr, align 4 +%managed.unique.0.if_without_else_2.res = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.if_without_else_2.res, align 4 +store i32 1256, i32* %managed.unique.0.if_without_else_2.res, align 4 +%var3 = load i32* %if_without_else_2.x.addr, align 4 +%var4 = icmp sgt i32 %var3, 10 +br i1 %var4, label %label.if.1, label %label.if.3 +label.if.1: +%var5 = load i32* %managed.unique.0.if_without_else_2.res, align 4 +%var6 = add nsw i32 %var5, 64 +%var7 = load i32* %managed.unique.0.if_without_else_2.res, align 4 +store i32 %var6, i32* %managed.unique.0.if_without_else_2.res, align 4 +br label %label.if.3 +label.if.3: +%var8 = load i32* %managed.unique.0.if_without_else_2.res, align 4 +ret i32 %var8 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/if_boolean_argument_1/if_boolean_argument_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/if_boolean_argument_1/if_boolean_argument_1.kt.out new file mode 100644 index 00000000000..978fe79ff3b --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/if_boolean_argument_1/if_boolean_argument_1.kt.out @@ -0,0 +1,25 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @if_boolean_argument_1_Boolean(i1 %if_boolean_argument_1.value) #0 +{ +%if_boolean_argument_1.value.addr = alloca i1, align 4 +store i1 %if_boolean_argument_1.value, i1* %if_boolean_argument_1.value.addr, align 4 +%var2 = load i1* %if_boolean_argument_1.value.addr, align 4 +%var3 = alloca i32, align 4 +br i1 %var2, label %label.if_then.1, label %label.if_else.2 +label.if_then.1: +store i32 11, i32* %var3, align 4 +br label %label.if_end.3 +label.if_else.2: +store i32 411, i32* %var3, align 4 +br label %label.if_end.3 +label.if_end.3: +%var4 = load i32* %var3, align 4 +ret i32 %var4 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/if_expression_1/if_expression_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/if_expression_1/if_expression_1.kt.out new file mode 100644 index 00000000000..af0896ca796 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/if_expression_1/if_expression_1.kt.out @@ -0,0 +1,53 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @if_expression_1_Int(i32 %if_expression_1.x) #0 +{ +%if_expression_1.x.addr = alloca i32, align 4 +store i32 %if_expression_1.x, i32* %if_expression_1.x.addr, align 4 +%var2 = load i32* %if_expression_1.x.addr, align 4 +%var3 = icmp sgt i32 %var2, 55 +%var4 = alloca i32, align 4 +br i1 %var3, label %label.if_then.1, label %label.if_else.2 +label.if_then.1: +store i32 2323, i32* %var4, align 4 +br label %label.if_end.3 +label.if_else.2: +store i32 678934, i32* %var4, align 4 +br label %label.if_end.3 +label.if_end.3: +%var5 = load i32* %var4, align 4 +ret i32 %var5 +unreachable +} +define weak i32 @if_expression_1_variable_Int(i32 %if_expression_1_variable.x) #0 +{ +%if_expression_1_variable.x.addr = alloca i32, align 4 +store i32 %if_expression_1_variable.x, i32* %if_expression_1_variable.x.addr, align 4 +%managed.unique.0.if_expression_1_variable.first = alloca i32, align 4 +%var6 = load i32* %managed.unique.0.if_expression_1_variable.first, align 4 +store i32 5, i32* %managed.unique.0.if_expression_1_variable.first, align 4 +%managed.unique.1.if_expression_1_variable.second = alloca i32, align 4 +%var7 = load i32* %managed.unique.1.if_expression_1_variable.second, align 4 +store i32 7, i32* %managed.unique.1.if_expression_1_variable.second, align 4 +%var8 = load i32* %if_expression_1_variable.x.addr, align 4 +%var9 = icmp sgt i32 %var8, 55 +%var10 = alloca i32, align 4 +br i1 %var9, label %label.if_then.4, label %label.if_else.5 +label.if_then.4: +%var11 = load i32* %managed.unique.0.if_expression_1_variable.first, align 4 +store i32 %var11, i32* %var10, align 4 +br label %label.if_end.6 +label.if_else.5: +%var12 = load i32* %managed.unique.1.if_expression_1_variable.second, align 4 +store i32 %var12, i32* %var10, align 4 +br label %label.if_end.6 +label.if_end.6: +%var13 = load i32* %var10, align 4 +ret i32 %var13 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/initialization_in_place_and_this_1/initialization_in_place_and_this_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/initialization_in_place_and_this_1/initialization_in_place_and_this_1.kt.out new file mode 100644 index 00000000000..b66de7e63ac --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/initialization_in_place_and_this_1/initialization_in_place_and_this_1.kt.out @@ -0,0 +1,96 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.initialization_in_place_and_this_1_slave_1 = type { i32 } +%class.initialization_in_place_and_this_1_slave_2 = type { %class.initialization_in_place_and_this_1_slave_1*, i32, i32 } +%class.initialization_in_place_and_this_1_master = type { %class.initialization_in_place_and_this_1_slave_1*, %class.initialization_in_place_and_this_1_slave_2* } +define weak void @initialization_in_place_and_this_1_slave_1_Int(%class.initialization_in_place_and_this_1_slave_1* %classvariable.this, i32 %initialization_in_place_and_this_1_slave_1.size) #0 +{ +%classvariable.this.addr = alloca %class.initialization_in_place_and_this_1_slave_1, align 8 +%initialization_in_place_and_this_1_slave_1.size.addr = alloca i32, align 4 +store i32 %initialization_in_place_and_this_1_slave_1.size, i32* %initialization_in_place_and_this_1_slave_1.size.addr, align 4 +%var2 = load i32* %initialization_in_place_and_this_1_slave_1.size.addr, align 4 +%var3 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_1* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.initialization_in_place_and_this_1_slave_1* %classvariable.this to i8* +%var5 = bitcast %class.initialization_in_place_and_this_1_slave_1* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak void @initialization_in_place_and_this_1_slave_2_Ref_initialization_in_place_and_this_1_slave_1(%class.initialization_in_place_and_this_1_slave_2* %classvariable.this, %class.initialization_in_place_and_this_1_slave_1* %initialization_in_place_and_this_1_slave_2.buffer) #0 +{ +%classvariable.this.addr = alloca %class.initialization_in_place_and_this_1_slave_2, align 8 +%var6 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_2* %classvariable.this.addr, i32 0, i32 0 +store %class.initialization_in_place_and_this_1_slave_1* %initialization_in_place_and_this_1_slave_2.buffer, %class.initialization_in_place_and_this_1_slave_1** %var6, align 8 +%var7 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_2* %classvariable.this.addr, i32 0, i32 1 +%var8 = load i32* %var7, align 4 +store i32 897, i32* %var7, align 4 +%var9 = bitcast %class.initialization_in_place_and_this_1_slave_2* %classvariable.this to i8* +%var10 = bitcast %class.initialization_in_place_and_this_1_slave_2* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var9, i8* %var10, i64 16, i32 4, i1 false) +%var11 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_2* %classvariable.this, i32 0, i32 2 +%var12 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_2* %classvariable.this, i32 0, i32 0 +%var13 = load %class.initialization_in_place_and_this_1_slave_1** %var12, align 8 +%var14 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_1* %var13, i32 0, i32 0 +%var15 = load i32* %var11, align 4 +%var16 = load i32* %var14, align 4 +store i32 %var16, i32* %var11, align 4 +ret void +unreachable +} +define weak void @initialization_in_place_and_this_1_master_Ref_initialization_in_place_and_this_1_slave_1(%class.initialization_in_place_and_this_1_master* %classvariable.this, %class.initialization_in_place_and_this_1_slave_1* %initialization_in_place_and_this_1_master.buffer) #0 +{ +%classvariable.this.addr = alloca %class.initialization_in_place_and_this_1_master, align 8 +%var17 = getelementptr inbounds %class.initialization_in_place_and_this_1_master* %classvariable.this.addr, i32 0, i32 0 +store %class.initialization_in_place_and_this_1_slave_1* %initialization_in_place_and_this_1_master.buffer, %class.initialization_in_place_and_this_1_slave_1** %var17, align 8 +%var18 = getelementptr inbounds %class.initialization_in_place_and_this_1_master* %classvariable.this.addr, i32 0, i32 1 +%var19 = getelementptr inbounds %class.initialization_in_place_and_this_1_master* %classvariable.this.addr, i32 0, i32 0 +%var20 = load %class.initialization_in_place_and_this_1_slave_1** %var19, align 8 +%var22 = call i8* @malloc_heap(i32 16) +%var21 = bitcast i8* %var22 to %class.initialization_in_place_and_this_1_slave_2* +%var23 = alloca %class.initialization_in_place_and_this_1_slave_2*, align 8 +store %class.initialization_in_place_and_this_1_slave_2* %var21, %class.initialization_in_place_and_this_1_slave_2** %var23, align 8 +call void @initialization_in_place_and_this_1_slave_2_Ref_initialization_in_place_and_this_1_slave_1(%class.initialization_in_place_and_this_1_slave_2* %var21, %class.initialization_in_place_and_this_1_slave_1* %var20) +%var24 = load %class.initialization_in_place_and_this_1_slave_2** %var18, align 8 +%var25 = load %class.initialization_in_place_and_this_1_slave_2** %var23, align 8 +store %class.initialization_in_place_and_this_1_slave_2* %var25, %class.initialization_in_place_and_this_1_slave_2** %var18, align 8 +%var26 = bitcast %class.initialization_in_place_and_this_1_master* %classvariable.this to i8* +%var27 = bitcast %class.initialization_in_place_and_this_1_master* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var26, i8* %var27, i64 16, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @initialization_in_place_and_this_1() #0 +{ +%var29 = call i8* @malloc_heap(i32 4) +%var28 = bitcast i8* %var29 to %class.initialization_in_place_and_this_1_slave_1* +%var30 = alloca %class.initialization_in_place_and_this_1_slave_1*, align 8 +store %class.initialization_in_place_and_this_1_slave_1* %var28, %class.initialization_in_place_and_this_1_slave_1** %var30, align 8 +call void @initialization_in_place_and_this_1_slave_1_Int(%class.initialization_in_place_and_this_1_slave_1* %var28, i32 100) +%managed.unique.0.initialization_in_place_and_this_1.slave = alloca %class.initialization_in_place_and_this_1_slave_1*, align 8 +%var31 = load %class.initialization_in_place_and_this_1_slave_1** %managed.unique.0.initialization_in_place_and_this_1.slave, align 8 +%var32 = load %class.initialization_in_place_and_this_1_slave_1** %var30, align 8 +store %class.initialization_in_place_and_this_1_slave_1* %var32, %class.initialization_in_place_and_this_1_slave_1** %managed.unique.0.initialization_in_place_and_this_1.slave, align 8 +%var33 = load %class.initialization_in_place_and_this_1_slave_1** %managed.unique.0.initialization_in_place_and_this_1.slave, align 8 +%var35 = call i8* @malloc_heap(i32 16) +%var34 = bitcast i8* %var35 to %class.initialization_in_place_and_this_1_master* +%var36 = alloca %class.initialization_in_place_and_this_1_master*, align 8 +store %class.initialization_in_place_and_this_1_master* %var34, %class.initialization_in_place_and_this_1_master** %var36, align 8 +call void @initialization_in_place_and_this_1_master_Ref_initialization_in_place_and_this_1_slave_1(%class.initialization_in_place_and_this_1_master* %var34, %class.initialization_in_place_and_this_1_slave_1* %var33) +%managed.unique.1.initialization_in_place_and_this_1.master = alloca %class.initialization_in_place_and_this_1_master*, align 8 +%var37 = load %class.initialization_in_place_and_this_1_master** %managed.unique.1.initialization_in_place_and_this_1.master, align 8 +%var38 = load %class.initialization_in_place_and_this_1_master** %var36, align 8 +store %class.initialization_in_place_and_this_1_master* %var38, %class.initialization_in_place_and_this_1_master** %managed.unique.1.initialization_in_place_and_this_1.master, align 8 +%var39 = load %class.initialization_in_place_and_this_1_master** %managed.unique.1.initialization_in_place_and_this_1.master, align 8 +%var40 = getelementptr inbounds %class.initialization_in_place_and_this_1_master* %var39, i32 0, i32 1 +%var41 = load %class.initialization_in_place_and_this_1_slave_2** %var40, align 8 +%var42 = getelementptr inbounds %class.initialization_in_place_and_this_1_slave_2* %var41, i32 0, i32 2 +%var43 = load i32* %var42, align 4 +ret i32 %var43 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/initialized_class_fields_1/initialized_class_fields_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/initialized_class_fields_1/initialized_class_fields_1.kt.out new file mode 100644 index 00000000000..1e66fe0dfd1 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/initialized_class_fields_1/initialized_class_fields_1.kt.out @@ -0,0 +1,37 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.initialized_class_fields_1_class = type { i32 } +define weak void @initialized_class_fields_1_class(%class.initialized_class_fields_1_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.initialized_class_fields_1_class, align 8 +%var2 = getelementptr inbounds %class.initialized_class_fields_1_class* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 524, i32* %var2, align 4 +%var4 = bitcast %class.initialized_class_fields_1_class* %classvariable.this to i8* +%var5 = bitcast %class.initialized_class_fields_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @initialized_class_fields_1() #0 +{ +%var7 = call i8* @malloc_heap(i32 4) +%var6 = bitcast i8* %var7 to %class.initialized_class_fields_1_class* +%var8 = alloca %class.initialized_class_fields_1_class*, align 8 +store %class.initialized_class_fields_1_class* %var6, %class.initialized_class_fields_1_class** %var8, align 8 +call void @initialized_class_fields_1_class(%class.initialized_class_fields_1_class* %var6) +%managed.unique.0.initialized_class_fields_1.instance = alloca %class.initialized_class_fields_1_class*, align 8 +%var9 = load %class.initialized_class_fields_1_class** %managed.unique.0.initialized_class_fields_1.instance, align 8 +%var10 = load %class.initialized_class_fields_1_class** %var8, align 8 +store %class.initialized_class_fields_1_class* %var10, %class.initialized_class_fields_1_class** %managed.unique.0.initialized_class_fields_1.instance, align 8 +%var11 = load %class.initialized_class_fields_1_class** %managed.unique.0.initialized_class_fields_1.instance, align 8 +%var12 = getelementptr inbounds %class.initialized_class_fields_1_class* %var11, i32 0, i32 0 +%var13 = load i32* %var12, align 4 +ret i32 %var13 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.err new file mode 100644 index 00000000000..5add474e52d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.err @@ -0,0 +1,15 @@ +Exception in thread "main" java.rmi.UnexpectedException: %class.kotlin.IntArray%var2 + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateMemberMethodOrField(BlockCodegen.kt:112) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotBody(BlockCodegen.kt:332) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotExpression(BlockCodegen.kt:284) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:199) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/intarray_1/intarray_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.err new file mode 100644 index 00000000000..89c0df50a03 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.err @@ -0,0 +1,7 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./long_operations_1/long_operations_1.kt 2:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./long_operations_1/long_operations_1.kt 3:5 Unresolved reference: assert +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/long_operations_1/long_operations_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/nested_classes/nested_classes.kt.out b/experiments/translator-bc/src/test/kotlin/tests/nested_classes/nested_classes.kt.out new file mode 100644 index 00000000000..c88a1ac15bf --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/nested_classes/nested_classes.kt.out @@ -0,0 +1,91 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.Outer = type { } +%class.Outer.Nested = type { i32 } +define weak void @Outer(%class.Outer* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.Outer, align 8 +%var2 = bitcast %class.Outer* %classvariable.this to i8* +%var3 = bitcast %class.Outer* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak void @Outer.Nested_Int(%class.Outer.Nested* %classvariable.this, i32 %Outer.Nested.i) #0 +{ +%classvariable.this.addr = alloca %class.Outer.Nested, align 8 +%Outer.Nested.i.addr = alloca i32, align 4 +store i32 %Outer.Nested.i, i32* %Outer.Nested.i.addr, align 4 +%var4 = load i32* %Outer.Nested.i.addr, align 4 +%var5 = getelementptr inbounds %class.Outer.Nested* %classvariable.this.addr, i32 0, i32 0 +store i32 %var4, i32* %var5, align 4 +%var6 = bitcast %class.Outer.Nested* %classvariable.this to i8* +%var7 = bitcast %class.Outer.Nested* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var6, i8* %var7, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @Outer.Nested.test(%class.Outer.Nested* %classvariable.this) #0 +{ +%var8 = getelementptr inbounds %class.Outer.Nested* %classvariable.this, i32 0, i32 0 +%var9 = load i32* %var8, align 4 +store i32 5, i32* %var8, align 4 +%var10 = getelementptr inbounds %class.Outer.Nested* %classvariable.this, i32 0, i32 0 +%var11 = load i32* %var10, align 4 +ret i32 %var11 +unreachable +} +define weak i32 @nested_test_2_Int(i32 %nested_test_2.k) #0 +{ +%nested_test_2.k.addr = alloca i32, align 4 +store i32 %nested_test_2.k, i32* %nested_test_2.k.addr, align 4 +%var12 = load i32* %nested_test_2.k.addr, align 4 +%var13 = sub nsw i32 %var12, 1 +%var15 = call i8* @malloc_heap(i32 4) +%var14 = bitcast i8* %var15 to %class.Outer.Nested* +%var16 = alloca %class.Outer.Nested*, align 8 +store %class.Outer.Nested* %var14, %class.Outer.Nested** %var16, align 8 +call void @Outer.Nested_Int(%class.Outer.Nested* %var14, i32 %var13) +%managed.unique.0.nested_test_2.j = alloca %class.Outer.Nested*, align 8 +%var17 = load %class.Outer.Nested** %managed.unique.0.nested_test_2.j, align 8 +%var18 = load %class.Outer.Nested** %var16, align 8 +store %class.Outer.Nested* %var18, %class.Outer.Nested** %managed.unique.0.nested_test_2.j, align 8 +%var19 = load %class.Outer.Nested** %managed.unique.0.nested_test_2.j, align 8 +%var20 = call i32 @Outer.Nested.test(%class.Outer.Nested* %var19) +%var21 = alloca i32, align 4 +store i32 %var20, i32* %var21, align 4 +%var22 = load i32* %var21, align 4 +ret i32 %var22 +unreachable +} +define weak i32 @nested_test_1_Int(i32 %nested_test_1.k) #0 +{ +%nested_test_1.k.addr = alloca i32, align 4 +store i32 %nested_test_1.k, i32* %nested_test_1.k.addr, align 4 +%var23 = load i32* %nested_test_1.k.addr, align 4 +%var24 = sub nsw i32 %var23, 1 +%var26 = call i8* @malloc_heap(i32 4) +%var25 = bitcast i8* %var26 to %class.Outer.Nested* +%var27 = alloca %class.Outer.Nested*, align 8 +store %class.Outer.Nested* %var25, %class.Outer.Nested** %var27, align 8 +call void @Outer.Nested_Int(%class.Outer.Nested* %var25, i32 %var24) +%managed.unique.1.nested_test_1.j = alloca %class.Outer.Nested*, align 8 +%var28 = load %class.Outer.Nested** %managed.unique.1.nested_test_1.j, align 8 +%var29 = load %class.Outer.Nested** %var27, align 8 +store %class.Outer.Nested* %var29, %class.Outer.Nested** %managed.unique.1.nested_test_1.j, align 8 +%var30 = load %class.Outer.Nested** %managed.unique.1.nested_test_1.j, align 8 +%var31 = getelementptr inbounds %class.Outer.Nested* %var30, i32 0, i32 0 +%var32 = load i32* %var31, align 4 +%var33 = load i32* %nested_test_1.k.addr, align 4 +store i32 %var33, i32* %var31, align 4 +%var34 = load %class.Outer.Nested** %managed.unique.1.nested_test_1.j, align 8 +%var35 = getelementptr inbounds %class.Outer.Nested* %var34, i32 0, i32 0 +%var36 = load i32* %var35, align 4 +ret i32 %var36 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.err new file mode 100644 index 00000000000..57b27087893 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.err @@ -0,0 +1,6 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./null_comparison_1/null_comparison_1.kt 9:5 Unresolved reference: println +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/null_comparison_1/null_comparison_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/nullable_1/nullable_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/nullable_1/nullable_1.kt.out new file mode 100644 index 00000000000..bdded4f5c03 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/nullable_1/nullable_1.kt.out @@ -0,0 +1,116 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.nullable_1_MyAwesomeClass = type { i32 } +define weak void @nullable_1_MyAwesomeClass_Int(%class.nullable_1_MyAwesomeClass* %classvariable.this, i32 %nullable_1_MyAwesomeClass.i) #0 +{ +%classvariable.this.addr = alloca %class.nullable_1_MyAwesomeClass, align 8 +%nullable_1_MyAwesomeClass.i.addr = alloca i32, align 4 +store i32 %nullable_1_MyAwesomeClass.i, i32* %nullable_1_MyAwesomeClass.i.addr, align 4 +%var2 = load i32* %nullable_1_MyAwesomeClass.i.addr, align 4 +%var3 = getelementptr inbounds %class.nullable_1_MyAwesomeClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.nullable_1_MyAwesomeClass* %classvariable.this to i8* +%var5 = bitcast %class.nullable_1_MyAwesomeClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @nullable_1_test_null_return() #0 +{ +ret i32 11 +unreachable +} +define weak void @nullable_1_test_null_return_slave(%class.nullable_1_MyAwesomeClass** %instance) #0 +{ +store %class.nullable_1_MyAwesomeClass* null, %class.nullable_1_MyAwesomeClass** %instance, align 1 +ret void +unreachable +} +define weak i32 @nullable_1_test_Int(i32 %nullable_1_test.i) #0 +{ +%nullable_1_test.i.addr = alloca i32, align 4 +store i32 %nullable_1_test.i, i32* %nullable_1_test.i.addr, align 4 +%managed.unique.0.nullable_1_test.x = alloca %class.nullable_1_MyAwesomeClass*, align 8 +%var6 = load %class.nullable_1_MyAwesomeClass** %managed.unique.0.nullable_1_test.x, align 8 +store %class.nullable_1_MyAwesomeClass* null, %class.nullable_1_MyAwesomeClass** %managed.unique.0.nullable_1_test.x, align 8 +%var7 = load i32* %nullable_1_test.i.addr, align 4 +%var9 = call i8* @malloc_heap(i32 4) +%var8 = bitcast i8* %var9 to %class.nullable_1_MyAwesomeClass* +%var10 = alloca %class.nullable_1_MyAwesomeClass*, align 8 +store %class.nullable_1_MyAwesomeClass* %var8, %class.nullable_1_MyAwesomeClass** %var10, align 8 +call void @nullable_1_MyAwesomeClass_Int(%class.nullable_1_MyAwesomeClass* %var8, i32 %var7) +%var11 = load %class.nullable_1_MyAwesomeClass** %managed.unique.0.nullable_1_test.x, align 8 +%var12 = load %class.nullable_1_MyAwesomeClass** %var10, align 8 +store %class.nullable_1_MyAwesomeClass* %var12, %class.nullable_1_MyAwesomeClass** %managed.unique.0.nullable_1_test.x, align 8 +%var13 = load %class.nullable_1_MyAwesomeClass** %managed.unique.0.nullable_1_test.x, align 8 +%var14 = getelementptr inbounds %class.nullable_1_MyAwesomeClass* %var13, i32 0, i32 0 +%var15 = load i32* %var14, align 4 +ret i32 %var15 +unreachable +} +define weak i32 @nullable_1_test_2_Int(i32 %nullable_1_test_2.i) #0 +{ +%nullable_1_test_2.i.addr = alloca i32, align 4 +store i32 %nullable_1_test_2.i, i32* %nullable_1_test_2.i.addr, align 4 +%var16 = load i32* %nullable_1_test_2.i.addr, align 4 +%var18 = call i8* @malloc_heap(i32 4) +%var17 = bitcast i8* %var18 to %class.nullable_1_MyAwesomeClass* +%var19 = alloca %class.nullable_1_MyAwesomeClass*, align 8 +store %class.nullable_1_MyAwesomeClass* %var17, %class.nullable_1_MyAwesomeClass** %var19, align 8 +call void @nullable_1_MyAwesomeClass_Int(%class.nullable_1_MyAwesomeClass* %var17, i32 %var16) +%managed.unique.1.nullable_1_test_2.x = alloca %class.nullable_1_MyAwesomeClass*, align 8 +%var20 = load %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var21 = load %class.nullable_1_MyAwesomeClass** %var19, align 8 +store %class.nullable_1_MyAwesomeClass* %var21, %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var22 = load %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +store %class.nullable_1_MyAwesomeClass* null, %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var23 = load i32* %nullable_1_test_2.i.addr, align 4 +%var25 = call i8* @malloc_heap(i32 4) +%var24 = bitcast i8* %var25 to %class.nullable_1_MyAwesomeClass* +%var26 = alloca %class.nullable_1_MyAwesomeClass*, align 8 +store %class.nullable_1_MyAwesomeClass* %var24, %class.nullable_1_MyAwesomeClass** %var26, align 8 +call void @nullable_1_MyAwesomeClass_Int(%class.nullable_1_MyAwesomeClass* %var24, i32 %var23) +%var27 = load %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var28 = load %class.nullable_1_MyAwesomeClass** %var26, align 8 +store %class.nullable_1_MyAwesomeClass* %var28, %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var29 = load %class.nullable_1_MyAwesomeClass** %managed.unique.1.nullable_1_test_2.x, align 8 +%var30 = getelementptr inbounds %class.nullable_1_MyAwesomeClass* %var29, i32 0, i32 0 +%var31 = load i32* %var30, align 4 +%var32 = add nsw i32 %var31, 1 +ret i32 %var32 +unreachable +} +define weak i32 @nullable_1_test_2_npe_operator_Int(i32 %nullable_1_test_2_npe_operator.i) #0 +{ +%nullable_1_test_2_npe_operator.i.addr = alloca i32, align 4 +store i32 %nullable_1_test_2_npe_operator.i, i32* %nullable_1_test_2_npe_operator.i.addr, align 4 +%var33 = load i32* %nullable_1_test_2_npe_operator.i.addr, align 4 +%var35 = call i8* @malloc_heap(i32 4) +%var34 = bitcast i8* %var35 to %class.nullable_1_MyAwesomeClass* +%var36 = alloca %class.nullable_1_MyAwesomeClass*, align 8 +store %class.nullable_1_MyAwesomeClass* %var34, %class.nullable_1_MyAwesomeClass** %var36, align 8 +call void @nullable_1_MyAwesomeClass_Int(%class.nullable_1_MyAwesomeClass* %var34, i32 %var33) +%managed.unique.2.nullable_1_test_2_npe_operator.x = alloca %class.nullable_1_MyAwesomeClass*, align 8 +%var37 = load %class.nullable_1_MyAwesomeClass** %managed.unique.2.nullable_1_test_2_npe_operator.x, align 8 +%var38 = load %class.nullable_1_MyAwesomeClass** %var36, align 8 +store %class.nullable_1_MyAwesomeClass* %var38, %class.nullable_1_MyAwesomeClass** %managed.unique.2.nullable_1_test_2_npe_operator.x, align 8 +%var40 = load %class.nullable_1_MyAwesomeClass** %managed.unique.2.nullable_1_test_2_npe_operator.x, align 8 +%var39 = icmp eq %class.nullable_1_MyAwesomeClass* null, %var40 +br i1 %var39, label %label.nullCheck.1, label %label.nullCheck.2 +label.nullCheck.1: +%var41 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.2 +label.nullCheck.2: +%var42 = load %class.nullable_1_MyAwesomeClass** %managed.unique.2.nullable_1_test_2_npe_operator.x, align 8 +%var43 = getelementptr inbounds %class.nullable_1_MyAwesomeClass* %var42, i32 0, i32 0 +%var44 = load i32* %var43, align 4 +%var45 = add nsw i32 %var44, 555 +ret i32 %var45 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/nullable_class_fields_1/nullable_class_fields_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/nullable_class_fields_1/nullable_class_fields_1.kt.out new file mode 100644 index 00000000000..f5d29a4b77d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/nullable_class_fields_1/nullable_class_fields_1.kt.out @@ -0,0 +1,110 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.nullable_class_fields_1_class = type { %class.nullable_class_fields_1_class*, i32* } +define weak void @nullable_class_fields_1_class(%class.nullable_class_fields_1_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.nullable_class_fields_1_class, align 8 +%var2 = getelementptr inbounds %class.nullable_class_fields_1_class* %classvariable.this.addr, i32 0, i32 0 +%var3 = load %class.nullable_class_fields_1_class** %var2, align 8 +store %class.nullable_class_fields_1_class* null, %class.nullable_class_fields_1_class** %var2, align 8 +%var4 = getelementptr inbounds %class.nullable_class_fields_1_class* %classvariable.this.addr, i32 0, i32 1 +%var5 = load i32** %var4, align 4 +store i32* null, i32** %var4, align 8 +%var6 = bitcast %class.nullable_class_fields_1_class* %classvariable.this to i8* +%var7 = bitcast %class.nullable_class_fields_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var6, i8* %var7, i64 16, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @nullable_class_fields_1_classes_not_null() #0 +{ +%var9 = call i8* @malloc_heap(i32 16) +%var8 = bitcast i8* %var9 to %class.nullable_class_fields_1_class* +%var10 = alloca %class.nullable_class_fields_1_class*, align 8 +store %class.nullable_class_fields_1_class* %var8, %class.nullable_class_fields_1_class** %var10, align 8 +call void @nullable_class_fields_1_class(%class.nullable_class_fields_1_class* %var8) +%managed.unique.0.nullable_class_fields_1_classes_not_null.a = alloca %class.nullable_class_fields_1_class*, align 8 +%var11 = load %class.nullable_class_fields_1_class** %managed.unique.0.nullable_class_fields_1_classes_not_null.a, align 8 +%var12 = load %class.nullable_class_fields_1_class** %var10, align 8 +store %class.nullable_class_fields_1_class* %var12, %class.nullable_class_fields_1_class** %managed.unique.0.nullable_class_fields_1_classes_not_null.a, align 8 +%var13 = load %class.nullable_class_fields_1_class** %managed.unique.0.nullable_class_fields_1_classes_not_null.a, align 8 +%var14 = getelementptr inbounds %class.nullable_class_fields_1_class* %var13, i32 0, i32 0 +%var16 = call i8* @malloc_heap(i32 16) +%var15 = bitcast i8* %var16 to %class.nullable_class_fields_1_class* +%var17 = alloca %class.nullable_class_fields_1_class*, align 8 +store %class.nullable_class_fields_1_class* %var15, %class.nullable_class_fields_1_class** %var17, align 8 +call void @nullable_class_fields_1_class(%class.nullable_class_fields_1_class* %var15) +%var18 = load %class.nullable_class_fields_1_class** %var14, align 8 +%var19 = load %class.nullable_class_fields_1_class** %var17, align 8 +store %class.nullable_class_fields_1_class* %var19, %class.nullable_class_fields_1_class** %var14, align 8 +%var20 = load %class.nullable_class_fields_1_class** %managed.unique.0.nullable_class_fields_1_classes_not_null.a, align 8 +%var21 = getelementptr inbounds %class.nullable_class_fields_1_class* %var20, i32 0, i32 0 +%var22 = load %class.nullable_class_fields_1_class** %var21, align 8 +%var23 = load %class.nullable_class_fields_1_class** %var21, align 8 +%var24 = icmp eq %class.nullable_class_fields_1_class* %var23, null +br i1 %var24, label %label.if.1, label %label.if.2 +label.if.1: +ret i32 29 +br label %label.if.3 +label.if.2: +ret i32 28 +br label %label.if.3 +label.if.3: +unreachable +} +define weak i32 @nullable_class_fields_1_classes() #0 +{ +%var26 = call i8* @malloc_heap(i32 16) +%var25 = bitcast i8* %var26 to %class.nullable_class_fields_1_class* +%var27 = alloca %class.nullable_class_fields_1_class*, align 8 +store %class.nullable_class_fields_1_class* %var25, %class.nullable_class_fields_1_class** %var27, align 8 +call void @nullable_class_fields_1_class(%class.nullable_class_fields_1_class* %var25) +%managed.unique.1.nullable_class_fields_1_classes.a = alloca %class.nullable_class_fields_1_class*, align 8 +%var28 = load %class.nullable_class_fields_1_class** %managed.unique.1.nullable_class_fields_1_classes.a, align 8 +%var29 = load %class.nullable_class_fields_1_class** %var27, align 8 +store %class.nullable_class_fields_1_class* %var29, %class.nullable_class_fields_1_class** %managed.unique.1.nullable_class_fields_1_classes.a, align 8 +%var30 = load %class.nullable_class_fields_1_class** %managed.unique.1.nullable_class_fields_1_classes.a, align 8 +%var31 = getelementptr inbounds %class.nullable_class_fields_1_class* %var30, i32 0, i32 0 +%var32 = load %class.nullable_class_fields_1_class** %var31, align 8 +%var33 = load %class.nullable_class_fields_1_class** %var31, align 8 +%var34 = icmp eq %class.nullable_class_fields_1_class* %var33, null +br i1 %var34, label %label.if.4, label %label.if.5 +label.if.4: +ret i32 29 +br label %label.if.6 +label.if.5: +ret i32 28 +br label %label.if.6 +label.if.6: +unreachable +} +define weak i32 @nullable_class_fields_1_primitives() #0 +{ +%var36 = call i8* @malloc_heap(i32 16) +%var35 = bitcast i8* %var36 to %class.nullable_class_fields_1_class* +%var37 = alloca %class.nullable_class_fields_1_class*, align 8 +store %class.nullable_class_fields_1_class* %var35, %class.nullable_class_fields_1_class** %var37, align 8 +call void @nullable_class_fields_1_class(%class.nullable_class_fields_1_class* %var35) +%managed.unique.2.nullable_class_fields_1_primitives.a = alloca %class.nullable_class_fields_1_class*, align 8 +%var38 = load %class.nullable_class_fields_1_class** %managed.unique.2.nullable_class_fields_1_primitives.a, align 8 +%var39 = load %class.nullable_class_fields_1_class** %var37, align 8 +store %class.nullable_class_fields_1_class* %var39, %class.nullable_class_fields_1_class** %managed.unique.2.nullable_class_fields_1_primitives.a, align 8 +%var40 = load %class.nullable_class_fields_1_class** %managed.unique.2.nullable_class_fields_1_primitives.a, align 8 +%var41 = getelementptr inbounds %class.nullable_class_fields_1_class* %var40, i32 0, i32 1 +%var42 = load i32** %var41, align 4 +%var43 = icmp eq i32* %var42, null +br i1 %var43, label %label.if.7, label %label.if.8 +label.if.7: +ret i32 29 +br label %label.if.9 +label.if.8: +ret i32 28 +br label %label.if.9 +label.if.9: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/nullable_primitive_types_1/nullable_primitive_types_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/nullable_primitive_types_1/nullable_primitive_types_1.kt.out new file mode 100644 index 00000000000..38d61c4f5b5 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/nullable_primitive_types_1/nullable_primitive_types_1.kt.out @@ -0,0 +1,132 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @nullable_primitive_types_1_extern_Int(i32 %nullable_primitive_types_1_extern.x) #0 +{ +%nullable_primitive_types_1_extern.x.addr = alloca i32, align 4 +store i32 %nullable_primitive_types_1_extern.x, i32* %nullable_primitive_types_1_extern.x.addr, align 4 +%managed.unique.0.nullable_primitive_types_1_extern.variable = alloca i32*, align 4 +%var2 = load i32** %managed.unique.0.nullable_primitive_types_1_extern.variable, align 4 +%var3 = load i32* %nullable_primitive_types_1_extern.x.addr, align 4 +store i32* %nullable_primitive_types_1_extern.x.addr, i32** %managed.unique.0.nullable_primitive_types_1_extern.variable, align 4 +%var5 = load i32** %managed.unique.0.nullable_primitive_types_1_extern.variable, align 4 +%var4 = icmp eq i32* null, %var5 +br i1 %var4, label %label.nullCheck.1, label %label.nullCheck.2 +label.nullCheck.1: +%var6 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.2 +label.nullCheck.2: +%var7 = load i32** %managed.unique.0.nullable_primitive_types_1_extern.variable, align 4 +%var8 = load i32* %var7, align 4 +%var9 = add nsw i32 %var8, 8 +%managed.unique.1.nullable_primitive_types_1_extern.art = alloca i32*, align 4 +%var10 = load i32** %managed.unique.1.nullable_primitive_types_1_extern.art, align 4 +%var12 = call i8* @malloc_heap(i32 8) +%var11 = bitcast i8* %var12 to i32* +store i32 %var9, i32* %var11, align 4 +store i32* %var11, i32** %managed.unique.1.nullable_primitive_types_1_extern.art, align 4 +%var14 = load i32** %managed.unique.1.nullable_primitive_types_1_extern.art, align 4 +%var13 = icmp eq i32* null, %var14 +br i1 %var13, label %label.nullCheck.3, label %label.nullCheck.4 +label.nullCheck.3: +%var15 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.4 +label.nullCheck.4: +%var16 = load i32** %managed.unique.1.nullable_primitive_types_1_extern.art, align 4 +%var17 = load i32* %var16, align 4 +ret i32 %var17 +unreachable +} +define weak i32 @nullable_primitive_types_1_if_not_null() #0 +{ +%managed.unique.2.nullable_primitive_types_1_if_not_null.variable = alloca i32*, align 4 +%var18 = load i32** %managed.unique.2.nullable_primitive_types_1_if_not_null.variable, align 4 +store i32* null, i32** %managed.unique.2.nullable_primitive_types_1_if_not_null.variable, align 8 +%var19 = load i32** %managed.unique.2.nullable_primitive_types_1_if_not_null.variable, align 4 +%var20 = icmp ne i32* %var19, null +br i1 %var20, label %label.if.5, label %label.if.6 +label.if.5: +ret i32 11 +br label %label.if.7 +label.if.6: +ret i32 2245 +br label %label.if.7 +label.if.7: +unreachable +} +define weak i32 @nullable_primitive_types_1_small() #0 +{ +%managed.unique.3.nullable_primitive_types_1_small.variable = alloca i32*, align 4 +%var21 = load i32** %managed.unique.3.nullable_primitive_types_1_small.variable, align 4 +store i32* null, i32** %managed.unique.3.nullable_primitive_types_1_small.variable, align 8 +%var22 = load i32** %managed.unique.3.nullable_primitive_types_1_small.variable, align 4 +%var24 = call i8* @malloc_heap(i32 8) +%var23 = bitcast i8* %var24 to i32* +store i32 29, i32* %var23, align 4 +store i32* %var23, i32** %managed.unique.3.nullable_primitive_types_1_small.variable, align 4 +%managed.unique.4.nullable_primitive_types_1_small.art = alloca i32*, align 4 +%var25 = load i32** %managed.unique.4.nullable_primitive_types_1_small.art, align 4 +%var26 = load i32** %managed.unique.3.nullable_primitive_types_1_small.variable, align 4 +store i32* %var26, i32** %managed.unique.4.nullable_primitive_types_1_small.art, align 4 +%var28 = load i32** %managed.unique.4.nullable_primitive_types_1_small.art, align 4 +%var27 = icmp eq i32* null, %var28 +br i1 %var27, label %label.nullCheck.8, label %label.nullCheck.9 +label.nullCheck.8: +%var29 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([59 x i8]* @exceptions.str.1, i32 0, i32 0)) +call void @abort() +br label %label.nullCheck.9 +label.nullCheck.9: +%var30 = load i32** %managed.unique.4.nullable_primitive_types_1_small.art, align 4 +%var31 = load i32* %var30, align 4 +ret i32 %var31 +unreachable +} +define weak i32 @nullable_primitive_types_1_if_null() #0 +{ +%managed.unique.5.nullable_primitive_types_1_if_null.variable = alloca i32*, align 4 +%var32 = load i32** %managed.unique.5.nullable_primitive_types_1_if_null.variable, align 4 +store i32* null, i32** %managed.unique.5.nullable_primitive_types_1_if_null.variable, align 8 +%var33 = load i32** %managed.unique.5.nullable_primitive_types_1_if_null.variable, align 4 +%var34 = icmp eq i32* %var33, null +br i1 %var34, label %label.if.10, label %label.if.11 +label.if.10: +ret i32 11 +br label %label.if.12 +label.if.11: +ret i32 2245 +br label %label.if.12 +label.if.12: +unreachable +} +define weak i32 @nullable_primitive_types_1_reassignment() #0 +{ +%managed.unique.6.nullable_primitive_types_1_reassignment.z = alloca i32*, align 4 +%var35 = load i32** %managed.unique.6.nullable_primitive_types_1_reassignment.z, align 4 +%var37 = call i8* @malloc_heap(i32 8) +%var36 = bitcast i8* %var37 to i32* +store i32 32, i32* %var36, align 4 +store i32* %var36, i32** %managed.unique.6.nullable_primitive_types_1_reassignment.z, align 4 +%var38 = load i32** %managed.unique.6.nullable_primitive_types_1_reassignment.z, align 4 +store i32* null, i32** %managed.unique.6.nullable_primitive_types_1_reassignment.z, align 8 +%managed.unique.7.nullable_primitive_types_1_reassignment.r = alloca i32*, align 4 +%var39 = load i32** %managed.unique.7.nullable_primitive_types_1_reassignment.r, align 4 +%var40 = load i32** %managed.unique.6.nullable_primitive_types_1_reassignment.z, align 4 +store i32* %var40, i32** %managed.unique.7.nullable_primitive_types_1_reassignment.r, align 4 +%var41 = load i32** %managed.unique.7.nullable_primitive_types_1_reassignment.r, align 4 +%var42 = icmp eq i32* %var41, null +br i1 %var42, label %label.if.13, label %label.if.14 +label.if.13: +ret i32 5678 +br label %label.if.15 +label.if.14: +ret i32 13 +br label %label.if.15 +label.if.15: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/numeric_literals_1/numeric_literals_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/numeric_literals_1/numeric_literals_1.kt.out new file mode 100644 index 00000000000..b6ddea03577 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/numeric_literals_1/numeric_literals_1.kt.out @@ -0,0 +1,33 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @numeric_literals_1_Int(i32 %numeric_literals_1.x) #0 +{ +%numeric_literals_1.x.addr = alloca i32, align 4 +store i32 %numeric_literals_1.x, i32* %numeric_literals_1.x.addr, align 4 +%var2 = load i32* %numeric_literals_1.x.addr, align 4 +ret i32 %var2 +unreachable +} +define weak i64 @numeric_literals_1_LL() #0 +{ +%managed.unique.0.numeric_literals_1_LL.k = alloca i64, align 8 +%var3 = load i64* %managed.unique.0.numeric_literals_1_LL.k, align 8 +store i64 320, i64* %managed.unique.0.numeric_literals_1_LL.k, align 8 +%var4 = load i64* %managed.unique.0.numeric_literals_1_LL.k, align 8 +ret i64 %var4 +unreachable +} +define weak i32 @numeric_literals_1_Binary() #0 +{ +%managed.unique.1.numeric_literals_1_Binary.k = alloca i32, align 4 +%var5 = load i32* %managed.unique.1.numeric_literals_1_Binary.k, align 4 +store i32 127, i32* %managed.unique.1.numeric_literals_1_Binary.k, align 4 +%var6 = load i32* %managed.unique.1.numeric_literals_1_Binary.k, align 4 +ret i32 %var6 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/object_1/object_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/object_1/object_1.kt.out new file mode 100644 index 00000000000..ea7713ab101 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/object_1/object_1.kt.out @@ -0,0 +1,49 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.Singleton = type { i32 } +@object.instance.Singleton = internal global %class.Singleton { i32 123456789 }, align 8 +define weak void @Singleton(%class.Singleton* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.Singleton, align 8 +%var2 = getelementptr inbounds %class.Singleton* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 123456789, i32* %var2, align 4 +%var4 = bitcast %class.Singleton* %classvariable.this to i8* +%var5 = bitcast %class.Singleton* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @Singleton.create_Int(%class.Singleton* %classvariable.this, i32 %Singleton.create.x) #0 +{ +%Singleton.create.x.addr = alloca i32, align 4 +store i32 %Singleton.create.x, i32* %Singleton.create.x.addr, align 4 +%var6 = load i32* %Singleton.create.x.addr, align 4 +%var7 = mul nsw i32 %var6, 8 +ret i32 %var7 +unreachable +} +define weak i32 @singleton_test_Int(i32 %singleton_test.i) #0 +{ +%singleton_test.i.addr = alloca i32, align 4 +store i32 %singleton_test.i, i32* %singleton_test.i.addr, align 4 +%var8 = load i32* %singleton_test.i.addr, align 4 +%var9 = call i32 @Singleton.create_Int(%class.Singleton* @object.instance.Singleton, i32 %var8) +%var10 = alloca i32, align 4 +store i32 %var9, i32* %var10, align 4 +%var11 = load i32* %var10, align 4 +ret i32 %var11 +unreachable +} +define weak i32 @singleton_test2() #0 +{ +%var12 = getelementptr inbounds %class.Singleton* @object.instance.Singleton, i32 0, i32 0 +%var13 = load i32* %var12, align 4 +ret i32 %var13 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/postfix_1/postfix_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/postfix_1/postfix_1.kt.out new file mode 100644 index 00000000000..c4fb587c4b7 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/postfix_1/postfix_1.kt.out @@ -0,0 +1,131 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @postfix_1_minus_before_Int(i32 %postfix_1_minus_before.x) #0 +{ +%postfix_1_minus_before.x.addr = alloca i32, align 4 +store i32 %postfix_1_minus_before.x, i32* %postfix_1_minus_before.x.addr, align 4 +%managed.unique.0.postfix_1_minus_before.xx = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.postfix_1_minus_before.xx, align 4 +%var3 = load i32* %postfix_1_minus_before.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.postfix_1_minus_before.xx, align 4 +%var4 = load i32* %managed.unique.0.postfix_1_minus_before.xx, align 4 +%var5 = alloca i32, align 4 +%var6 = load i32* %managed.unique.0.postfix_1_minus_before.xx, align 4 +store i32 %var6, i32* %var5, align 4 +%var7 = sub nsw i32 %var4, 1 +store i32 %var7, i32* %managed.unique.0.postfix_1_minus_before.xx, align 4 +%managed.unique.1.postfix_1_minus_before.z = alloca i32, align 4 +%var8 = load i32* %managed.unique.1.postfix_1_minus_before.z, align 4 +%var9 = load i32* %var5, align 4 +store i32 %var9, i32* %managed.unique.1.postfix_1_minus_before.z, align 4 +%var10 = load i32* %managed.unique.1.postfix_1_minus_before.z, align 4 +ret i32 %var10 +unreachable +} +define weak i32 @postfix_1_minus_inside_Int(i32 %postfix_1_minus_inside.x) #0 +{ +%postfix_1_minus_inside.x.addr = alloca i32, align 4 +store i32 %postfix_1_minus_inside.x, i32* %postfix_1_minus_inside.x.addr, align 4 +%managed.unique.2.postfix_1_minus_inside.xx = alloca i32, align 4 +%var11 = load i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +%var12 = load i32* %postfix_1_minus_inside.x.addr, align 4 +store i32 %var12, i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +%var13 = load i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +%var14 = alloca i32, align 4 +%var15 = load i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +store i32 %var15, i32* %var14, align 4 +%var16 = sub nsw i32 %var13, 1 +store i32 %var16, i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +%var17 = load i32* %managed.unique.2.postfix_1_minus_inside.xx, align 4 +ret i32 %var17 +unreachable +} +define weak i32 @postfix_1_plus_inside_Int(i32 %postfix_1_plus_inside.x) #0 +{ +%postfix_1_plus_inside.x.addr = alloca i32, align 4 +store i32 %postfix_1_plus_inside.x, i32* %postfix_1_plus_inside.x.addr, align 4 +%managed.unique.3.postfix_1_plus_inside.xx = alloca i32, align 4 +%var18 = load i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +%var19 = load i32* %postfix_1_plus_inside.x.addr, align 4 +store i32 %var19, i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +%var20 = load i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +%var21 = alloca i32, align 4 +%var22 = load i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +store i32 %var22, i32* %var21, align 4 +%var23 = add nsw i32 %var20, 1 +store i32 %var23, i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +%var24 = load i32* %managed.unique.3.postfix_1_plus_inside.xx, align 4 +ret i32 %var24 +unreachable +} +define weak i32 @postfix_1_plus_after_Int(i32 %postfix_1_plus_after.x) #0 +{ +%postfix_1_plus_after.x.addr = alloca i32, align 4 +store i32 %postfix_1_plus_after.x, i32* %postfix_1_plus_after.x.addr, align 4 +%managed.unique.4.postfix_1_plus_after.xx = alloca i32, align 4 +%var25 = load i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +%var26 = load i32* %postfix_1_plus_after.x.addr, align 4 +store i32 %var26, i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +%var27 = load i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +%var28 = alloca i32, align 4 +%var29 = load i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +store i32 %var29, i32* %var28, align 4 +%var30 = add nsw i32 %var27, 1 +store i32 %var30, i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +%managed.unique.5.postfix_1_plus_after.z = alloca i32, align 4 +%var31 = load i32* %managed.unique.5.postfix_1_plus_after.z, align 4 +%var32 = load i32* %var28, align 4 +store i32 %var32, i32* %managed.unique.5.postfix_1_plus_after.z, align 4 +%var33 = load i32* %managed.unique.4.postfix_1_plus_after.xx, align 4 +ret i32 %var33 +unreachable +} +define weak i32 @postfix_1_plus_before_Int(i32 %postfix_1_plus_before.x) #0 +{ +%postfix_1_plus_before.x.addr = alloca i32, align 4 +store i32 %postfix_1_plus_before.x, i32* %postfix_1_plus_before.x.addr, align 4 +%managed.unique.6.postfix_1_plus_before.xx = alloca i32, align 4 +%var34 = load i32* %managed.unique.6.postfix_1_plus_before.xx, align 4 +%var35 = load i32* %postfix_1_plus_before.x.addr, align 4 +store i32 %var35, i32* %managed.unique.6.postfix_1_plus_before.xx, align 4 +%var36 = load i32* %managed.unique.6.postfix_1_plus_before.xx, align 4 +%var37 = alloca i32, align 4 +%var38 = load i32* %managed.unique.6.postfix_1_plus_before.xx, align 4 +store i32 %var38, i32* %var37, align 4 +%var39 = add nsw i32 %var36, 1 +store i32 %var39, i32* %managed.unique.6.postfix_1_plus_before.xx, align 4 +%managed.unique.7.postfix_1_plus_before.z = alloca i32, align 4 +%var40 = load i32* %managed.unique.7.postfix_1_plus_before.z, align 4 +%var41 = load i32* %var37, align 4 +store i32 %var41, i32* %managed.unique.7.postfix_1_plus_before.z, align 4 +%var42 = load i32* %managed.unique.7.postfix_1_plus_before.z, align 4 +ret i32 %var42 +unreachable +} +define weak i32 @postfix_1_minus_after_Int(i32 %postfix_1_minus_after.x) #0 +{ +%postfix_1_minus_after.x.addr = alloca i32, align 4 +store i32 %postfix_1_minus_after.x, i32* %postfix_1_minus_after.x.addr, align 4 +%managed.unique.8.postfix_1_minus_after.xx = alloca i32, align 4 +%var43 = load i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +%var44 = load i32* %postfix_1_minus_after.x.addr, align 4 +store i32 %var44, i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +%var45 = load i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +%var46 = alloca i32, align 4 +%var47 = load i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +store i32 %var47, i32* %var46, align 4 +%var48 = sub nsw i32 %var45, 1 +store i32 %var48, i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +%managed.unique.9.postfix_1_minus_after.z = alloca i32, align 4 +%var49 = load i32* %managed.unique.9.postfix_1_minus_after.z, align 4 +%var50 = load i32* %var46, align 4 +store i32 %var50, i32* %managed.unique.9.postfix_1_minus_after.z, align 4 +%var51 = load i32* %managed.unique.8.postfix_1_minus_after.xx, align 4 +ret i32 %var51 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.err new file mode 100644 index 00000000000..b05262bbdb5 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.err @@ -0,0 +1,21 @@ +Exception in thread "main" java.rmi.UnexpectedException: Int.toShort + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExtensionExpression(BlockCodegen.kt:366) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotBody(BlockCodegen.kt:338) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotExpression(BlockCodegen.kt:284) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:79) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateBinaryExpression(BlockCodegen.kt:682) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:72) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateReturnInstruction(BlockCodegen.kt:1089) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateLeafPsiElement(BlockCodegen.kt:858) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluatePsiElement(BlockCodegen.kt:849) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:88) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:201) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/primitives_1/primitives_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.err new file mode 100644 index 00000000000..7495c2c5986 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.err @@ -0,0 +1,152 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 25:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 38:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 43:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 52:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 54:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 54:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 54:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 61:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 78:42 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 93:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 97:43 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 98:40 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 101:52 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 112:50 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 120:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 129:37 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 131:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 131:68 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 131:103 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 138:37 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 154:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 167:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 172:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 181:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 183:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 183:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 183:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 190:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 207:42 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 222:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 226:43 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 227:40 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 230:52 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 241:50 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 249:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 258:37 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 260:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 260:68 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 260:103 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 267:37 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 277:34 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 284:43 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 289:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 297:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 297:60 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 297:95 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 312:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 322:43 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 326:39 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 327:36 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 334:46 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 342:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 350:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 350:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 350:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 379:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 381:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 392:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 397:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 408:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 408:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 408:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 432:42 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 434:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 447:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 451:43 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 452:40 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 455:52 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 470:50 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 478:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 489:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 489:68 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 489:103 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 512:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 514:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 525:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 530:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 541:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 541:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 541:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 565:42 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 567:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 580:47 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 584:43 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 585:40 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 588:52 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 603:50 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 611:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 622:33 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 622:68 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 622:103 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 639:34 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 641:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 646:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 658:43 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 663:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 677:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 677:60 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 677:95 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 710:38 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 712:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 717:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 730:43 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 734:39 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 735:36 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 738:48 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 749:48 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 764:46 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 772:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 786:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 786:64 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 786:99 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 806:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 808:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 819:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 824:31 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 835:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 835:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 835:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 859:34 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 861:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 874:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 878:35 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 879:32 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 882:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 897:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 905:34 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 916:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 916:60 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 916:95 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 933:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 940:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 945:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 953:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 953:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 953:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 968:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 978:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 982:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 983:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 990:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 998:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 1006:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 1006:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 1006:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 1043:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_crossbranch_test/proto_crossbranch_test.kt 1046:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_crossbranch_test/proto_crossbranch_test.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.err new file mode 100644 index 00000000000..470dca419e2 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.err @@ -0,0 +1,65 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 23:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 48:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 53:31 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 62:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 65:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 68:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 70:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 70:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 70:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 77:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 80:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 83:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 112:34 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 137:39 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 141:35 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 142:32 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 145:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 152:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 159:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 170:42 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 178:34 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 187:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 190:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 193:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 195:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 195:60 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 195:95 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 202:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 205:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 208:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 218:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 220:28 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 243:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 248:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 260:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 263:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 265:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 265:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 265:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 275:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 278:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 307:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 309:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 332:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 336:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 337:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 340:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 351:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 358:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 369:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 377:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 389:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 392:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 394:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 394:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 394:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 404:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 407:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 437:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_location_test/proto_location_test.kt 440:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_location_test/proto_location_test.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.err new file mode 100644 index 00000000000..e31f8913369 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.err @@ -0,0 +1,67 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 8:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 10:28 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 21:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 26:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 37:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 37:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 37:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 61:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 63:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 76:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 80:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 81:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 84:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 99:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 107:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 118:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 118:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 118:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 141:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 143:28 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 154:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 159:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 170:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 170:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 170:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 194:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 196:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 209:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 213:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 214:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 217:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 232:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 240:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 251:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 251:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 251:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 274:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 287:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 292:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 301:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 303:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 303:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 303:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 310:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 327:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 342:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 346:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 347:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 350:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 361:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 369:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 378:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 380:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 380:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 380:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 387:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 431:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 434:15 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 448:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 451:15 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 465:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_multiple_messages/proto_multiple_messages.kt 468:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_multiple_messages/proto_multiple_messages.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.err new file mode 100644 index 00000000000..8181eddee74 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.err @@ -0,0 +1,190 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 20:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 23:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 31:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 50:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 58:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 77:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 85:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 104:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 112:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 131:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 139:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 158:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 166:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 185:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 193:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 213:19 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 214:21 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 215:21 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 216:23 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 217:17 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 218:21 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 219:23 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 223:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 228:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 239:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 239:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 242:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 246:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 252:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 252:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 255:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 259:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 265:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 265:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 268:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 272:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 278:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 278:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 281:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 285:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 291:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 291:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 294:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 298:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 304:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 304:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 307:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 311:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 317:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 317:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 320:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 324:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 327:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 327:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 327:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 336:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 336:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 339:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 343:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 349:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 349:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 352:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 356:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 362:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 362:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 365:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 369:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 375:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 375:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 378:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 382:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 388:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 388:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 391:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 395:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 401:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 401:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 404:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 408:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 414:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 414:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 417:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 421:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 503:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 506:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 514:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 533:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 541:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 560:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 568:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 587:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 595:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 614:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 622:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 641:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 649:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 668:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 676:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 702:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 706:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 707:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 710:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 724:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 739:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 753:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 768:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 782:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 797:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 811:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 826:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 840:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 855:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 869:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 884:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 898:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 917:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 925:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 936:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 936:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 939:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 943:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 949:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 949:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 952:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 956:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 962:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 962:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 965:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 969:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 975:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 975:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 978:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 982:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 988:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 988:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 991:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 995:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1001:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1001:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1004:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1008:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1014:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1014:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1017:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1021:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1024:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1024:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1024:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1033:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1033:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1036:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1040:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1046:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1046:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1049:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1053:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1059:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1059:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1062:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1066:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1072:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1072:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1075:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1079:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1085:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1085:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1088:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1092:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1098:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1098:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1101:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1105:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1111:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1111:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1114:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1118:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1184:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_varint/proto_repeated_varint.kt 1187:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_varint/proto_repeated_varint.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.err new file mode 100644 index 00000000000..68c18b4d52d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.err @@ -0,0 +1,70 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 10:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 13:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 21:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 40:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 48:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 68:19 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 69:21 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 73:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 78:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 89:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 89:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 92:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 96:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 102:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 102:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 105:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 109:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 112:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 112:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 112:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 121:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 121:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 124:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 128:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 134:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 134:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 137:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 141:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 173:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 176:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 184:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 203:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 211:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 237:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 241:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 242:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 245:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 259:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 274:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 288:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 307:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 315:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 326:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 326:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 329:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 333:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 339:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 339:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 342:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 346:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 349:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 349:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 349:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 358:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 358:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 361:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 365:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 371:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 371:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 374:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 378:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 439:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_repeated_zigzag/proto_repeated_zigzag.kt 442:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_repeated_zigzag/proto_repeated_zigzag.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.err new file mode 100644 index 00000000000..ab731bfb924 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.err @@ -0,0 +1,121 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 30:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 43:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 51:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 78:35 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 83:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 88:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 97:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 100:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 105:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 105:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 108:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 112:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 116:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 118:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 118:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 118:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 125:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 128:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 133:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 133:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 136:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 140:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 144:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 183:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 196:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 204:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 235:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 239:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 240:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 243:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 250:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 257:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 269:49 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 270:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 276:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 287:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 295:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 304:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 307:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 312:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 312:58 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 315:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 319:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 323:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 325:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 325:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 325:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 332:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 335:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 340:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 340:58 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 343:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 347:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 351:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 389:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 402:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 410:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 437:35 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 442:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 447:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 456:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 459:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 464:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 464:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 467:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 471:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 475:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 477:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 477:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 477:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 484:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 487:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 492:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 492:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 495:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 499:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 503:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 542:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 555:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 563:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 594:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 598:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 599:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 602:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 609:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 616:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 628:49 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 629:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 635:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 646:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 654:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 663:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 666:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 671:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 671:58 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 674:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 678:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 682:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 684:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 684:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 684:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 691:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 694:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 699:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 699:58 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 702:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 706:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 710:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 742:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 745:15 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 756:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_tagorder_test/proto_tagorder_test.kt 759:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_tagorder_test/proto_tagorder_test.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.err new file mode 100644 index 00000000000..224e8cb512d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.err @@ -0,0 +1,62 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 40:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 95:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 100:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 109:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 112:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 115:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 118:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 121:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 124:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 127:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 130:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 132:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 132:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 132:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 139:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 142:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 145:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 148:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 151:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 154:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 157:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 160:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 219:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 269:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 273:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 274:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 277:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 284:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 291:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 298:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 305:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 312:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 319:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 326:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 337:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 345:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 354:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 357:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 360:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 363:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 366:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 369:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 372:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 375:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 377:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 377:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 377:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 384:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 387:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 390:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 393:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 396:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 399:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 402:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 405:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 426:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_varint/proto_varint.kt 429:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_varint/proto_varint.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.err b/experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.err new file mode 100644 index 00000000000..2f09fa6b8a5 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.err @@ -0,0 +1,32 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 10:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 29:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 34:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 43:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 46:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 48:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 48:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 48:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 55:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 58:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 81:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 101:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 105:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 106:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 109:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 116:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 127:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 135:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 144:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 147:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 149:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 149:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 149:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 156:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 159:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 173:16 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./proto_zigzag/proto_zigzag.kt 176:15 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.out b/experiments/translator-bc/src/test/kotlin/tests/proto_zigzag/proto_zigzag.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.err new file mode 100644 index 00000000000..1dc92378c16 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.err @@ -0,0 +1,16 @@ +Exception in thread "main" kotlin.KotlinNullPointerException + at org.kotlinnative.translator.codegens.BlockCodegen.addPrimitiveReferenceOperationByName(BlockCodegen.kt:832) + at org.kotlinnative.translator.codegens.BlockCodegen.addPrimitiveBinaryOperation(BlockCodegen.kt:183) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateBinaryExpression(BlockCodegen.kt:694) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:72) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateValExpression(BlockCodegen.kt:1067) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:193) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/range_operator_1/range_operator_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/reassigment_0/reassigment_0.kt.out b/experiments/translator-bc/src/test/kotlin/tests/reassigment_0/reassigment_0.kt.out new file mode 100644 index 00000000000..807e66f822a --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/reassigment_0/reassigment_0.kt.out @@ -0,0 +1,20 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @reassigment_0_Int(i32 %reassigment_0.x) #0 +{ +%reassigment_0.x.addr = alloca i32, align 4 +store i32 %reassigment_0.x, i32* %reassigment_0.x.addr, align 4 +%var2 = load i32* %reassigment_0.x.addr, align 4 +%var3 = add nsw i32 %var2, 1 +%managed.unique.0.reassigment_0.b = alloca i32, align 4 +%var4 = load i32* %managed.unique.0.reassigment_0.b, align 4 +store i32 %var3, i32* %managed.unique.0.reassigment_0.b, align 4 +%var5 = load i32* %managed.unique.0.reassigment_0.b, align 4 +ret i32 %var5 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/reassigment_1/reassigment_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/reassigment_1/reassigment_1.kt.out new file mode 100644 index 00000000000..51296ef9f03 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/reassigment_1/reassigment_1.kt.out @@ -0,0 +1,32 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @reassigment_1_Int(i32 %reassigment_1.x) #0 +{ +%reassigment_1.x.addr = alloca i32, align 4 +store i32 %reassigment_1.x, i32* %reassigment_1.x.addr, align 4 +%managed.unique.0.reassigment_1.a = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.reassigment_1.a, align 4 +%var3 = load i32* %reassigment_1.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.reassigment_1.a, align 4 +%var4 = load i32* %managed.unique.0.reassigment_1.a, align 4 +%var5 = add nsw i32 %var4, 1 +%var6 = load i32* %managed.unique.0.reassigment_1.a, align 4 +store i32 %var5, i32* %managed.unique.0.reassigment_1.a, align 4 +%var7 = load i32* %managed.unique.0.reassigment_1.a, align 4 +%var8 = add nsw i32 %var7, 1 +%managed.unique.1.reassigment_1.b = alloca i32, align 4 +%var9 = load i32* %managed.unique.1.reassigment_1.b, align 4 +store i32 %var8, i32* %managed.unique.1.reassigment_1.b, align 4 +%var10 = load i32* %managed.unique.1.reassigment_1.b, align 4 +%var11 = add nsw i32 %var10, 1 +%var12 = load i32* %managed.unique.1.reassigment_1.b, align 4 +store i32 %var11, i32* %managed.unique.1.reassigment_1.b, align 4 +%var13 = load i32* %managed.unique.1.reassigment_1.b, align 4 +ret i32 %var13 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/referential_equality_1/referential_equality_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/referential_equality_1/referential_equality_1.kt.out new file mode 100644 index 00000000000..63b164bb45a --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/referential_equality_1/referential_equality_1.kt.out @@ -0,0 +1,333 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.referential_equality_1 = type { } +define weak void @referential_equality_1(%class.referential_equality_1* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.referential_equality_1, align 8 +%var2 = bitcast %class.referential_equality_1* %classvariable.this to i8* +%var3 = bitcast %class.referential_equality_1* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @referential_equality_1_EQEQEQ_false() #0 +{ +%var5 = call i8* @malloc_heap(i32 0) +%var4 = bitcast i8* %var5 to %class.referential_equality_1* +%var6 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var4, %class.referential_equality_1** %var6, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var4) +%managed.unique.0.referential_equality_1_EQEQEQ_false.instance = alloca %class.referential_equality_1*, align 8 +%var7 = load %class.referential_equality_1** %managed.unique.0.referential_equality_1_EQEQEQ_false.instance, align 8 +%var8 = load %class.referential_equality_1** %var6, align 8 +store %class.referential_equality_1* %var8, %class.referential_equality_1** %managed.unique.0.referential_equality_1_EQEQEQ_false.instance, align 8 +%var10 = call i8* @malloc_heap(i32 0) +%var9 = bitcast i8* %var10 to %class.referential_equality_1* +%var11 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var9, %class.referential_equality_1** %var11, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var9) +%managed.unique.1.referential_equality_1_EQEQEQ_false.instance2 = alloca %class.referential_equality_1*, align 8 +%var12 = load %class.referential_equality_1** %managed.unique.1.referential_equality_1_EQEQEQ_false.instance2, align 8 +%var13 = load %class.referential_equality_1** %var11, align 8 +store %class.referential_equality_1* %var13, %class.referential_equality_1** %managed.unique.1.referential_equality_1_EQEQEQ_false.instance2, align 8 +%var14 = load %class.referential_equality_1** %managed.unique.0.referential_equality_1_EQEQEQ_false.instance, align 8 +%var15 = load %class.referential_equality_1** %managed.unique.1.referential_equality_1_EQEQEQ_false.instance2, align 8 +%var16 = load %class.referential_equality_1** %managed.unique.0.referential_equality_1_EQEQEQ_false.instance, align 8 +%var17 = load %class.referential_equality_1** %managed.unique.1.referential_equality_1_EQEQEQ_false.instance2, align 8 +%var18 = icmp eq %class.referential_equality_1* %var16, %var17 +%var19 = alloca i32, align 4 +br i1 %var18, label %label.if_then.1, label %label.if_else.2 +label.if_then.1: +store i32 1, i32* %var19, align 4 +br label %label.if_end.3 +label.if_else.2: +store i32 0, i32* %var19, align 4 +br label %label.if_end.3 +label.if_end.3: +%var20 = load i32* %var19, align 4 +ret i32 %var20 +unreachable +} +define weak i32 @referential_equality_1_EXCLEQEQ_false() #0 +{ +%var22 = call i8* @malloc_heap(i32 0) +%var21 = bitcast i8* %var22 to %class.referential_equality_1* +%var23 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var21, %class.referential_equality_1** %var23, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var21) +%managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance = alloca %class.referential_equality_1*, align 8 +%var24 = load %class.referential_equality_1** %managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance, align 8 +%var25 = load %class.referential_equality_1** %var23, align 8 +store %class.referential_equality_1* %var25, %class.referential_equality_1** %managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance, align 8 +%var27 = call i8* @malloc_heap(i32 0) +%var26 = bitcast i8* %var27 to %class.referential_equality_1* +%var28 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var26, %class.referential_equality_1** %var28, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var26) +%managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2 = alloca %class.referential_equality_1*, align 8 +%var29 = load %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var30 = load %class.referential_equality_1** %var28, align 8 +store %class.referential_equality_1* %var30, %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var31 = load %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var32 = load %class.referential_equality_1** %managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance, align 8 +store %class.referential_equality_1* %var32, %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var33 = load %class.referential_equality_1** %managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance, align 8 +%var34 = load %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var35 = load %class.referential_equality_1** %managed.unique.2.referential_equality_1_EXCLEQEQ_false.instance, align 8 +%var36 = load %class.referential_equality_1** %managed.unique.3.referential_equality_1_EXCLEQEQ_false.instance2, align 8 +%var37 = icmp ne %class.referential_equality_1* %var35, %var36 +%var38 = alloca i32, align 4 +br i1 %var37, label %label.if_then.4, label %label.if_else.5 +label.if_then.4: +store i32 1, i32* %var38, align 4 +br label %label.if_end.6 +label.if_else.5: +store i32 0, i32* %var38, align 4 +br label %label.if_end.6 +label.if_end.6: +%var39 = load i32* %var38, align 4 +ret i32 %var39 +unreachable +} +define weak i32 @referential_equality_1_EXCLEQEQ_true() #0 +{ +%var41 = call i8* @malloc_heap(i32 0) +%var40 = bitcast i8* %var41 to %class.referential_equality_1* +%var42 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var40, %class.referential_equality_1** %var42, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var40) +%managed.unique.4.referential_equality_1_EXCLEQEQ_true.instance = alloca %class.referential_equality_1*, align 8 +%var43 = load %class.referential_equality_1** %managed.unique.4.referential_equality_1_EXCLEQEQ_true.instance, align 8 +%var44 = load %class.referential_equality_1** %var42, align 8 +store %class.referential_equality_1* %var44, %class.referential_equality_1** %managed.unique.4.referential_equality_1_EXCLEQEQ_true.instance, align 8 +%var46 = call i8* @malloc_heap(i32 0) +%var45 = bitcast i8* %var46 to %class.referential_equality_1* +%var47 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var45, %class.referential_equality_1** %var47, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var45) +%managed.unique.5.referential_equality_1_EXCLEQEQ_true.instance2 = alloca %class.referential_equality_1*, align 8 +%var48 = load %class.referential_equality_1** %managed.unique.5.referential_equality_1_EXCLEQEQ_true.instance2, align 8 +%var49 = load %class.referential_equality_1** %var47, align 8 +store %class.referential_equality_1* %var49, %class.referential_equality_1** %managed.unique.5.referential_equality_1_EXCLEQEQ_true.instance2, align 8 +%var50 = load %class.referential_equality_1** %managed.unique.4.referential_equality_1_EXCLEQEQ_true.instance, align 8 +%var51 = load %class.referential_equality_1** %managed.unique.5.referential_equality_1_EXCLEQEQ_true.instance2, align 8 +%var52 = load %class.referential_equality_1** %managed.unique.4.referential_equality_1_EXCLEQEQ_true.instance, align 8 +%var53 = load %class.referential_equality_1** %managed.unique.5.referential_equality_1_EXCLEQEQ_true.instance2, align 8 +%var54 = icmp ne %class.referential_equality_1* %var52, %var53 +%var55 = alloca i32, align 4 +br i1 %var54, label %label.if_then.7, label %label.if_else.8 +label.if_then.7: +store i32 1, i32* %var55, align 4 +br label %label.if_end.9 +label.if_else.8: +store i32 0, i32* %var55, align 4 +br label %label.if_end.9 +label.if_end.9: +%var56 = load i32* %var55, align 4 +ret i32 %var56 +unreachable +} +define weak i32 @referential_equality_1_EQEQEQ_true() #0 +{ +%var58 = call i8* @malloc_heap(i32 0) +%var57 = bitcast i8* %var58 to %class.referential_equality_1* +%var59 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var57, %class.referential_equality_1** %var59, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var57) +%managed.unique.6.referential_equality_1_EQEQEQ_true.instance = alloca %class.referential_equality_1*, align 8 +%var60 = load %class.referential_equality_1** %managed.unique.6.referential_equality_1_EQEQEQ_true.instance, align 8 +%var61 = load %class.referential_equality_1** %var59, align 8 +store %class.referential_equality_1* %var61, %class.referential_equality_1** %managed.unique.6.referential_equality_1_EQEQEQ_true.instance, align 8 +%var63 = call i8* @malloc_heap(i32 0) +%var62 = bitcast i8* %var63 to %class.referential_equality_1* +%var64 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var62, %class.referential_equality_1** %var64, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var62) +%managed.unique.7.referential_equality_1_EQEQEQ_true.instance2 = alloca %class.referential_equality_1*, align 8 +%var65 = load %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var66 = load %class.referential_equality_1** %var64, align 8 +store %class.referential_equality_1* %var66, %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var67 = load %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var68 = load %class.referential_equality_1** %managed.unique.6.referential_equality_1_EQEQEQ_true.instance, align 8 +store %class.referential_equality_1* %var68, %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var69 = load %class.referential_equality_1** %managed.unique.6.referential_equality_1_EQEQEQ_true.instance, align 8 +%var70 = load %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var71 = load %class.referential_equality_1** %managed.unique.6.referential_equality_1_EQEQEQ_true.instance, align 8 +%var72 = load %class.referential_equality_1** %managed.unique.7.referential_equality_1_EQEQEQ_true.instance2, align 8 +%var73 = icmp eq %class.referential_equality_1* %var71, %var72 +%var74 = alloca i32, align 4 +br i1 %var73, label %label.if_then.10, label %label.if_else.11 +label.if_then.10: +store i32 1, i32* %var74, align 4 +br label %label.if_end.12 +label.if_else.11: +store i32 0, i32* %var74, align 4 +br label %label.if_end.12 +label.if_end.12: +%var75 = load i32* %var74, align 4 +ret i32 %var75 +unreachable +} +define weak i32 @referential_equality_1_EQEQ_true() #0 +{ +%var77 = call i8* @malloc_heap(i32 0) +%var76 = bitcast i8* %var77 to %class.referential_equality_1* +%var78 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var76, %class.referential_equality_1** %var78, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var76) +%managed.unique.8.referential_equality_1_EQEQ_true.instance = alloca %class.referential_equality_1*, align 8 +%var79 = load %class.referential_equality_1** %managed.unique.8.referential_equality_1_EQEQ_true.instance, align 8 +%var80 = load %class.referential_equality_1** %var78, align 8 +store %class.referential_equality_1* %var80, %class.referential_equality_1** %managed.unique.8.referential_equality_1_EQEQ_true.instance, align 8 +%var82 = call i8* @malloc_heap(i32 0) +%var81 = bitcast i8* %var82 to %class.referential_equality_1* +%var83 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var81, %class.referential_equality_1** %var83, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var81) +%managed.unique.9.referential_equality_1_EQEQ_true.instance2 = alloca %class.referential_equality_1*, align 8 +%var84 = load %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var85 = load %class.referential_equality_1** %var83, align 8 +store %class.referential_equality_1* %var85, %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var86 = load %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var87 = load %class.referential_equality_1** %managed.unique.8.referential_equality_1_EQEQ_true.instance, align 8 +store %class.referential_equality_1* %var87, %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var88 = load %class.referential_equality_1** %managed.unique.8.referential_equality_1_EQEQ_true.instance, align 8 +%var89 = load %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var90 = load %class.referential_equality_1** %managed.unique.8.referential_equality_1_EQEQ_true.instance, align 8 +%var91 = load %class.referential_equality_1** %managed.unique.9.referential_equality_1_EQEQ_true.instance2, align 8 +%var92 = icmp eq %class.referential_equality_1* %var90, %var91 +%var93 = alloca i32, align 4 +br i1 %var92, label %label.if_then.13, label %label.if_else.14 +label.if_then.13: +store i32 1, i32* %var93, align 4 +br label %label.if_end.15 +label.if_else.14: +store i32 0, i32* %var93, align 4 +br label %label.if_end.15 +label.if_end.15: +%var94 = load i32* %var93, align 4 +ret i32 %var94 +unreachable +} +define weak i32 @referential_equality_1_EXCLEQEQEQ_false() #0 +{ +%var96 = call i8* @malloc_heap(i32 0) +%var95 = bitcast i8* %var96 to %class.referential_equality_1* +%var97 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var95, %class.referential_equality_1** %var97, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var95) +%managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance = alloca %class.referential_equality_1*, align 8 +%var98 = load %class.referential_equality_1** %managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance, align 8 +%var99 = load %class.referential_equality_1** %var97, align 8 +store %class.referential_equality_1* %var99, %class.referential_equality_1** %managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance, align 8 +%var101 = call i8* @malloc_heap(i32 0) +%var100 = bitcast i8* %var101 to %class.referential_equality_1* +%var102 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var100, %class.referential_equality_1** %var102, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var100) +%managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2 = alloca %class.referential_equality_1*, align 8 +%var103 = load %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var104 = load %class.referential_equality_1** %var102, align 8 +store %class.referential_equality_1* %var104, %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var105 = load %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var106 = load %class.referential_equality_1** %managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance, align 8 +store %class.referential_equality_1* %var106, %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var107 = load %class.referential_equality_1** %managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance, align 8 +%var108 = load %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var109 = load %class.referential_equality_1** %managed.unique.10.referential_equality_1_EXCLEQEQEQ_false.instance, align 8 +%var110 = load %class.referential_equality_1** %managed.unique.11.referential_equality_1_EXCLEQEQEQ_false.instance2, align 8 +%var111 = icmp ne %class.referential_equality_1* %var109, %var110 +%var112 = alloca i32, align 4 +br i1 %var111, label %label.if_then.16, label %label.if_else.17 +label.if_then.16: +store i32 1, i32* %var112, align 4 +br label %label.if_end.18 +label.if_else.17: +store i32 0, i32* %var112, align 4 +br label %label.if_end.18 +label.if_end.18: +%var113 = load i32* %var112, align 4 +ret i32 %var113 +unreachable +} +define weak i32 @referential_equality_1_EXCLEQEQEQ_true() #0 +{ +%var115 = call i8* @malloc_heap(i32 0) +%var114 = bitcast i8* %var115 to %class.referential_equality_1* +%var116 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var114, %class.referential_equality_1** %var116, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var114) +%managed.unique.12.referential_equality_1_EXCLEQEQEQ_true.instance = alloca %class.referential_equality_1*, align 8 +%var117 = load %class.referential_equality_1** %managed.unique.12.referential_equality_1_EXCLEQEQEQ_true.instance, align 8 +%var118 = load %class.referential_equality_1** %var116, align 8 +store %class.referential_equality_1* %var118, %class.referential_equality_1** %managed.unique.12.referential_equality_1_EXCLEQEQEQ_true.instance, align 8 +%var120 = call i8* @malloc_heap(i32 0) +%var119 = bitcast i8* %var120 to %class.referential_equality_1* +%var121 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var119, %class.referential_equality_1** %var121, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var119) +%managed.unique.13.referential_equality_1_EXCLEQEQEQ_true.instance2 = alloca %class.referential_equality_1*, align 8 +%var122 = load %class.referential_equality_1** %managed.unique.13.referential_equality_1_EXCLEQEQEQ_true.instance2, align 8 +%var123 = load %class.referential_equality_1** %var121, align 8 +store %class.referential_equality_1* %var123, %class.referential_equality_1** %managed.unique.13.referential_equality_1_EXCLEQEQEQ_true.instance2, align 8 +%var124 = load %class.referential_equality_1** %managed.unique.12.referential_equality_1_EXCLEQEQEQ_true.instance, align 8 +%var125 = load %class.referential_equality_1** %managed.unique.13.referential_equality_1_EXCLEQEQEQ_true.instance2, align 8 +%var126 = load %class.referential_equality_1** %managed.unique.12.referential_equality_1_EXCLEQEQEQ_true.instance, align 8 +%var127 = load %class.referential_equality_1** %managed.unique.13.referential_equality_1_EXCLEQEQEQ_true.instance2, align 8 +%var128 = icmp ne %class.referential_equality_1* %var126, %var127 +%var129 = alloca i32, align 4 +br i1 %var128, label %label.if_then.19, label %label.if_else.20 +label.if_then.19: +store i32 1, i32* %var129, align 4 +br label %label.if_end.21 +label.if_else.20: +store i32 0, i32* %var129, align 4 +br label %label.if_end.21 +label.if_end.21: +%var130 = load i32* %var129, align 4 +ret i32 %var130 +unreachable +} +define weak i32 @referential_equality_1_EQEQ_false() #0 +{ +%var132 = call i8* @malloc_heap(i32 0) +%var131 = bitcast i8* %var132 to %class.referential_equality_1* +%var133 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var131, %class.referential_equality_1** %var133, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var131) +%managed.unique.14.referential_equality_1_EQEQ_false.instance = alloca %class.referential_equality_1*, align 8 +%var134 = load %class.referential_equality_1** %managed.unique.14.referential_equality_1_EQEQ_false.instance, align 8 +%var135 = load %class.referential_equality_1** %var133, align 8 +store %class.referential_equality_1* %var135, %class.referential_equality_1** %managed.unique.14.referential_equality_1_EQEQ_false.instance, align 8 +%var137 = call i8* @malloc_heap(i32 0) +%var136 = bitcast i8* %var137 to %class.referential_equality_1* +%var138 = alloca %class.referential_equality_1*, align 8 +store %class.referential_equality_1* %var136, %class.referential_equality_1** %var138, align 8 +call void @referential_equality_1(%class.referential_equality_1* %var136) +%managed.unique.15.referential_equality_1_EQEQ_false.instance2 = alloca %class.referential_equality_1*, align 8 +%var139 = load %class.referential_equality_1** %managed.unique.15.referential_equality_1_EQEQ_false.instance2, align 8 +%var140 = load %class.referential_equality_1** %var138, align 8 +store %class.referential_equality_1* %var140, %class.referential_equality_1** %managed.unique.15.referential_equality_1_EQEQ_false.instance2, align 8 +%var141 = load %class.referential_equality_1** %managed.unique.14.referential_equality_1_EQEQ_false.instance, align 8 +%var142 = load %class.referential_equality_1** %managed.unique.15.referential_equality_1_EQEQ_false.instance2, align 8 +%var143 = load %class.referential_equality_1** %managed.unique.14.referential_equality_1_EQEQ_false.instance, align 8 +%var144 = load %class.referential_equality_1** %managed.unique.15.referential_equality_1_EQEQ_false.instance2, align 8 +%var145 = icmp eq %class.referential_equality_1* %var143, %var144 +%var146 = alloca i32, align 4 +br i1 %var145, label %label.if_then.22, label %label.if_else.23 +label.if_then.22: +store i32 1, i32* %var146, align 4 +br label %label.if_end.24 +label.if_else.23: +store i32 0, i32* %var146, align 4 +br label %label.if_end.24 +label.if_end.24: +%var147 = load i32* %var146, align 4 +ret i32 %var147 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/referential_equality_2/referential_equality_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/referential_equality_2/referential_equality_2.kt.out new file mode 100644 index 00000000000..633fdb519dc --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/referential_equality_2/referential_equality_2.kt.out @@ -0,0 +1,95 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.referential_equality_2_A = type { } +define weak void @referential_equality_2_A(%class.referential_equality_2_A* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.referential_equality_2_A, align 8 +%var2 = bitcast %class.referential_equality_2_A* %classvariable.this to i8* +%var3 = bitcast %class.referential_equality_2_A* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var2, i8* %var3, i64 0, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @referential_equality_2_NEQ_master() #0 +{ +%var5 = call i8* @malloc_heap(i32 8) +%var4 = bitcast i8* %var5 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var4) +%var7 = call i8* @malloc_heap(i32 8) +%var6 = bitcast i8* %var7 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var6) +%var8 = load %class.referential_equality_2_A** %var6, align 8 +%var9 = call i32 @referential_equality_2_NEQ_slave_Ref_referential_equality_2_A(%class.referential_equality_2_A* %var8) +%var10 = alloca i32, align 4 +store i32 %var9, i32* %var10, align 4 +%var11 = load i32* %var10, align 4 +ret i32 %var11 +unreachable +} +define weak i32 @referential_equality_2_EQ_master() #0 +{ +%var13 = call i8* @malloc_heap(i32 8) +%var12 = bitcast i8* %var13 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var12) +%var15 = call i8* @malloc_heap(i32 8) +%var14 = bitcast i8* %var15 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var14) +%var16 = load %class.referential_equality_2_A** %var14, align 8 +%var17 = call i32 @referential_equality_2_EQ_slave_Ref_referential_equality_2_A(%class.referential_equality_2_A* %var16) +%var18 = alloca i32, align 4 +store i32 %var17, i32* %var18, align 4 +%var19 = load i32* %var18, align 4 +ret i32 %var19 +unreachable +} +define weak i32 @referential_equality_2_NEQ_slave_Ref_referential_equality_2_A(%class.referential_equality_2_A* %referential_equality_2_NEQ_slave.second_msg) #0 +{ +%var21 = call i8* @malloc_heap(i32 8) +%var20 = bitcast i8* %var21 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var20) +%var22 = load %class.referential_equality_2_A* %referential_equality_2_NEQ_slave.second_msg, align 8 +%var23 = load %class.referential_equality_2_A** %var20, align 8 +%var24 = load %class.referential_equality_2_A** %var20, align 8 +%var25 = icmp ne %class.referential_equality_2_A* %referential_equality_2_NEQ_slave.second_msg, %var24 +br i1 %var25, label %label.if.1, label %label.if.3 +label.if.1: +ret i32 1 +br label %label.if.3 +label.if.3: +ret i32 0 +unreachable +} +define weak i32 @referential_equality_2_EQ_slave_Ref_referential_equality_2_A(%class.referential_equality_2_A* %referential_equality_2_EQ_slave.second_msg) #0 +{ +%var27 = call i8* @malloc_heap(i32 8) +%var26 = bitcast i8* %var27 to %class.referential_equality_2_A** +call void @referential_equality_2_build(%class.referential_equality_2_A** %var26) +%var28 = load %class.referential_equality_2_A* %referential_equality_2_EQ_slave.second_msg, align 8 +%var29 = load %class.referential_equality_2_A** %var26, align 8 +%var30 = load %class.referential_equality_2_A** %var26, align 8 +%var31 = icmp eq %class.referential_equality_2_A* %referential_equality_2_EQ_slave.second_msg, %var30 +br i1 %var31, label %label.if.4, label %label.if.6 +label.if.4: +ret i32 0 +br label %label.if.6 +label.if.6: +ret i32 1 +unreachable +} +define weak void @referential_equality_2_build(%class.referential_equality_2_A** %instance) #0 +{ +%var33 = call i8* @malloc_heap(i32 0) +%var32 = bitcast i8* %var33 to %class.referential_equality_2_A* +%var34 = alloca %class.referential_equality_2_A*, align 8 +store %class.referential_equality_2_A* %var32, %class.referential_equality_2_A** %var34, align 8 +call void @referential_equality_2_A(%class.referential_equality_2_A* %var32) +%var35 = load %class.referential_equality_2_A** %var34, align 8 +store %class.referential_equality_2_A* %var35, %class.referential_equality_2_A** %instance, align 8 +ret void +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/return_1/return_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/return_1/return_1.kt.out new file mode 100644 index 00000000000..e4232da22be --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/return_1/return_1.kt.out @@ -0,0 +1,14 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @return_test_1_Int(i32 %return_test_1.x) #0 +{ +%return_test_1.x.addr = alloca i32, align 4 +store i32 %return_test_1.x, i32* %return_test_1.x.addr, align 4 +ret i32 101 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/safe_access_operator/safe_access_operator.kt.out b/experiments/translator-bc/src/test/kotlin/tests/safe_access_operator/safe_access_operator.kt.out new file mode 100644 index 00000000000..e8d4e396667 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/safe_access_operator/safe_access_operator.kt.out @@ -0,0 +1,77 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.save_access_operator_Gen = type { i32 } +%class.save_access_operator_MyClass = type { %class.save_access_operator_Gen* } +define weak void @save_access_operator_Gen_Int(%class.save_access_operator_Gen* %classvariable.this, i32 %save_access_operator_Gen.i) #0 +{ +%classvariable.this.addr = alloca %class.save_access_operator_Gen, align 8 +%save_access_operator_Gen.i.addr = alloca i32, align 4 +store i32 %save_access_operator_Gen.i, i32* %save_access_operator_Gen.i.addr, align 4 +%var2 = load i32* %save_access_operator_Gen.i.addr, align 4 +%var3 = getelementptr inbounds %class.save_access_operator_Gen* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.save_access_operator_Gen* %classvariable.this to i8* +%var5 = bitcast %class.save_access_operator_Gen* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak void @save_access_operator_MyClass_Ref_save_access_operator_Gen(%class.save_access_operator_MyClass* %classvariable.this, %class.save_access_operator_Gen* %save_access_operator_MyClass.i) #0 +{ +%classvariable.this.addr = alloca %class.save_access_operator_MyClass, align 8 +%var6 = getelementptr inbounds %class.save_access_operator_MyClass* %classvariable.this.addr, i32 0, i32 0 +store %class.save_access_operator_Gen* %save_access_operator_MyClass.i, %class.save_access_operator_Gen** %var6, align 8 +%var7 = bitcast %class.save_access_operator_MyClass* %classvariable.this to i8* +%var8 = bitcast %class.save_access_operator_MyClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var7, i8* %var8, i64 8, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @save_access_operator_test1() #0 +{ +%managed.unique.0.save_access_operator_test1.x = alloca %class.save_access_operator_MyClass*, align 8 +%var9 = load %class.save_access_operator_MyClass** %managed.unique.0.save_access_operator_test1.x, align 8 +store %class.save_access_operator_MyClass* null, %class.save_access_operator_MyClass** %managed.unique.0.save_access_operator_test1.x, align 8 +%var10 = load %class.save_access_operator_MyClass** %managed.unique.0.save_access_operator_test1.x, align 8 +%var12 = call i8* @malloc_heap(i32 8) +%var11 = bitcast i8* %var12 to %class.save_access_operator_Gen** +%var13 = icmp eq %class.save_access_operator_MyClass* %var10, null +br i1 %var13, label %label.safe.access.1, label %label.safe.access.2 +label.safe.access.1: +store %class.save_access_operator_Gen* null, %class.save_access_operator_Gen** %var11, align 8 +br label %label.safe.access.3 +label.safe.access.2: +%var14 = load %class.save_access_operator_MyClass** %managed.unique.0.save_access_operator_test1.x, align 8 +%var15 = getelementptr inbounds %class.save_access_operator_MyClass* %var14, i32 0, i32 0 +%var16 = load %class.save_access_operator_Gen** %var15, align 8 +store %class.save_access_operator_Gen* %var16, %class.save_access_operator_Gen** %var11, align 8 +br label %label.safe.access.3 +label.safe.access.3: +%var17 = load %class.save_access_operator_Gen** %var11, align 8 +%var19 = call i8* @malloc_heap(i32 8) +%var18 = bitcast i8* %var19 to %class.save_access_operator_MyClass* +%var20 = alloca %class.save_access_operator_MyClass*, align 8 +store %class.save_access_operator_MyClass* %var18, %class.save_access_operator_MyClass** %var20, align 8 +call void @save_access_operator_MyClass_Ref_save_access_operator_Gen(%class.save_access_operator_MyClass* %var18, %class.save_access_operator_Gen* %var17) +%managed.unique.1.save_access_operator_test1.y = alloca %class.save_access_operator_MyClass*, align 8 +%var21 = load %class.save_access_operator_MyClass** %managed.unique.1.save_access_operator_test1.y, align 8 +%var22 = load %class.save_access_operator_MyClass** %var20, align 8 +store %class.save_access_operator_MyClass* %var22, %class.save_access_operator_MyClass** %managed.unique.1.save_access_operator_test1.y, align 8 +%var23 = load %class.save_access_operator_MyClass** %managed.unique.1.save_access_operator_test1.y, align 8 +%var24 = load %class.save_access_operator_MyClass** %managed.unique.1.save_access_operator_test1.y, align 8 +%var25 = icmp eq %class.save_access_operator_MyClass* %var24, null +br i1 %var25, label %label.if.4, label %label.if.5 +label.if.4: +ret i32 0 +br label %label.if.6 +label.if.5: +ret i32 1 +br label %label.if.6 +label.if.6: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.err new file mode 100644 index 00000000000..2df974c9c45 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.err @@ -0,0 +1,8 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./secondary_constructor_1/secondary_constructor_1.kt 20:35 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./secondary_constructor_1/secondary_constructor_1.kt 26:5 Unresolved reference: println +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/secondary_constructor_1/secondary_constructor_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.err b/experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.err new file mode 100644 index 00000000000..b9f29c3b2ad --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.err @@ -0,0 +1,97 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 9:25 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 22:34 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 27:26 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 36:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 38:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 38:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 38:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 45:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 62:29 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 77:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 85:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 86:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 89:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 100:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 110:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 120:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 122:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 122:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 122:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 129:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 147:25 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 150:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 158:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 177:32 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 185:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 205:31 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 206:25 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 210:34 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 215:26 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 226:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 226:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 229:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 233:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 239:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 239:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 242:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 246:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 249:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 249:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 249:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 258:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 258:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 261:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 265:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 271:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 271:50 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 274:34 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 278:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 312:29 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 315:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 323:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 342:36 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 350:42 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 376:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 384:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 385:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 388:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 400:49 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 401:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 407:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 419:49 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 420:41 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 430:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 440:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 452:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 452:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 455:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 459:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 465:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 465:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 468:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 472:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 475:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 475:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 475:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 484:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 484:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 487:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 491:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 497:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 497:54 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 500:38 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 504:29 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 517:18 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 520:17 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 545:24 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 548:23 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./serialization_test/serialization_test.kt 553:9 Unresolved reference: assert +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.out b/experiments/translator-bc/src/test/kotlin/tests/serialization_test/serialization_test.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/simple_class_2/simple_class_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/simple_class_2/simple_class_2.kt.out new file mode 100644 index 00000000000..20dc327fc17 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/simple_class_2/simple_class_2.kt.out @@ -0,0 +1,102 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.simple_class_2_MyClass = type { i32, i32 } +define weak void @simple_class_2_MyClass_Int_Int(%class.simple_class_2_MyClass* %classvariable.this, i32 %simple_class_2_MyClass.b, i32 %simple_class_2_MyClass.c) #0 +{ +%classvariable.this.addr = alloca %class.simple_class_2_MyClass, align 8 +%simple_class_2_MyClass.b.addr = alloca i32, align 4 +store i32 %simple_class_2_MyClass.b, i32* %simple_class_2_MyClass.b.addr, align 4 +%simple_class_2_MyClass.c.addr = alloca i32, align 4 +store i32 %simple_class_2_MyClass.c, i32* %simple_class_2_MyClass.c.addr, align 4 +%var2 = load i32* %simple_class_2_MyClass.b.addr, align 4 +%var3 = getelementptr inbounds %class.simple_class_2_MyClass* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = load i32* %simple_class_2_MyClass.c.addr, align 4 +%var5 = getelementptr inbounds %class.simple_class_2_MyClass* %classvariable.this.addr, i32 0, i32 1 +store i32 %var4, i32* %var5, align 4 +%var6 = bitcast %class.simple_class_2_MyClass* %classvariable.this to i8* +%var7 = bitcast %class.simple_class_2_MyClass* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var6, i8* %var7, i64 8, i32 4, i1 false) +ret void +unreachable +} +define weak void @simple_class_2_genMyClass_Int(%class.simple_class_2_MyClass** %instance, i32 %simple_class_2_genMyClass.i) #0 +{ +%simple_class_2_genMyClass.i.addr = alloca i32, align 4 +store i32 %simple_class_2_genMyClass.i, i32* %simple_class_2_genMyClass.i.addr, align 4 +%var8 = load i32* %simple_class_2_genMyClass.i.addr, align 4 +%var9 = load i32* %simple_class_2_genMyClass.i.addr, align 4 +%var11 = call i8* @malloc_heap(i32 8) +%var10 = bitcast i8* %var11 to %class.simple_class_2_MyClass* +%var12 = alloca %class.simple_class_2_MyClass*, align 8 +store %class.simple_class_2_MyClass* %var10, %class.simple_class_2_MyClass** %var12, align 8 +call void @simple_class_2_MyClass_Int_Int(%class.simple_class_2_MyClass* %var10, i32 %var8, i32 %var9) +%var13 = load %class.simple_class_2_MyClass** %var12, align 8 +store %class.simple_class_2_MyClass* %var13, %class.simple_class_2_MyClass** %instance, align 8 +ret void +unreachable +} +define weak i32 @simple_class_2_change_Int(i32 %simple_class_2_change.x) #0 +{ +%simple_class_2_change.x.addr = alloca i32, align 4 +store i32 %simple_class_2_change.x, i32* %simple_class_2_change.x.addr, align 4 +%var14 = load i32* %simple_class_2_change.x.addr, align 4 +%var15 = load i32* %simple_class_2_change.x.addr, align 4 +%var17 = call i8* @malloc_heap(i32 8) +%var16 = bitcast i8* %var17 to %class.simple_class_2_MyClass* +%var18 = alloca %class.simple_class_2_MyClass*, align 8 +store %class.simple_class_2_MyClass* %var16, %class.simple_class_2_MyClass** %var18, align 8 +call void @simple_class_2_MyClass_Int_Int(%class.simple_class_2_MyClass* %var16, i32 %var14, i32 %var15) +%managed.unique.0.simple_class_2_change.y = alloca %class.simple_class_2_MyClass*, align 8 +%var19 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var20 = load %class.simple_class_2_MyClass** %var18, align 8 +store %class.simple_class_2_MyClass* %var20, %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var21 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var22 = getelementptr inbounds %class.simple_class_2_MyClass* %var21, i32 0, i32 1 +%var23 = load i32* %var22, align 4 +%var24 = load i32* %simple_class_2_change.x.addr, align 4 +store i32 %var24, i32* %var22, align 4 +%var25 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var26 = getelementptr inbounds %class.simple_class_2_MyClass* %var25, i32 0, i32 1 +%var27 = load i32* %var26, align 4 +%var28 = load i32* %simple_class_2_change.x.addr, align 4 +store i32 %var28, i32* %var26, align 4 +%var29 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var30 = getelementptr inbounds %class.simple_class_2_MyClass* %var29, i32 0, i32 1 +%var31 = load i32* %var30, align 4 +store i32 1, i32* %var30, align 4 +%var32 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var33 = getelementptr inbounds %class.simple_class_2_MyClass* %var32, i32 0, i32 1 +%var34 = load i32* %simple_class_2_change.x.addr, align 4 +%var35 = add nsw i32 %var34, 1 +%var36 = load i32* %var33, align 4 +store i32 %var35, i32* %var33, align 4 +%var37 = load %class.simple_class_2_MyClass** %managed.unique.0.simple_class_2_change.y, align 8 +%var38 = getelementptr inbounds %class.simple_class_2_MyClass* %var37, i32 0, i32 1 +%var39 = load i32* %var38, align 4 +ret i32 %var39 +unreachable +} +define weak i32 @simple_class_2_testGen_Int(i32 %simple_class_2_testGen.i) #0 +{ +%simple_class_2_testGen.i.addr = alloca i32, align 4 +store i32 %simple_class_2_testGen.i, i32* %simple_class_2_testGen.i.addr, align 4 +%var40 = load i32* %simple_class_2_testGen.i.addr, align 4 +%var42 = call i8* @malloc_heap(i32 8) +%var41 = bitcast i8* %var42 to %class.simple_class_2_MyClass** +call void @simple_class_2_genMyClass_Int(%class.simple_class_2_MyClass** %var41, i32 %var40) +%managed.unique.1.simple_class_2_testGen.j = alloca %class.simple_class_2_MyClass*, align 8 +%var43 = load %class.simple_class_2_MyClass** %managed.unique.1.simple_class_2_testGen.j, align 8 +%var44 = load %class.simple_class_2_MyClass** %var41, align 8 +store %class.simple_class_2_MyClass* %var44, %class.simple_class_2_MyClass** %managed.unique.1.simple_class_2_testGen.j, align 8 +%var45 = load %class.simple_class_2_MyClass** %managed.unique.1.simple_class_2_testGen.j, align 8 +%var46 = getelementptr inbounds %class.simple_class_2_MyClass* %var45, i32 0, i32 0 +%var47 = load i32* %var46, align 4 +ret i32 %var47 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.err new file mode 100644 index 00000000000..3495f33ed2b --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.err @@ -0,0 +1,52 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 16:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 53:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 58:27 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 67:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 70:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 73:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 76:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 79:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 81:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 81:52 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 81:87 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 88:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 91:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 94:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 97:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 100:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 141:30 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 176:35 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 180:31 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 181:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 184:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 191:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 198:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 205:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 212:40 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 223:38 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 231:30 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 240:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 243:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 246:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 249:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 252:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 254:21 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 254:56 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 254:91 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 261:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 264:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 267:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 270:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 273:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 285:24 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 287:23 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 290:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 291:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 292:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 293:5 Unresolved reference: assert +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./simple_proto_test_1/simple_proto_test_1.kt 294:5 Unresolved reference: assert +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/simple_proto_test_1/simple_proto_test_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/simply_class_1/simply_class_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/simply_class_1/simply_class_1.kt.out new file mode 100644 index 00000000000..b03327ba4e4 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/simply_class_1/simply_class_1.kt.out @@ -0,0 +1,52 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.classname_A = type { i32 } +define weak void @classname_A_Int(%class.classname_A* %classvariable.this, i32 %classname_A.x) #0 +{ +%classvariable.this.addr = alloca %class.classname_A, align 8 +%classname_A.x.addr = alloca i32, align 4 +store i32 %classname_A.x, i32* %classname_A.x.addr, align 4 +%var2 = load i32* %classname_A.x.addr, align 4 +%var3 = getelementptr inbounds %class.classname_A* %classvariable.this.addr, i32 0, i32 0 +store i32 %var2, i32* %var3, align 4 +%var4 = bitcast %class.classname_A* %classvariable.this to i8* +%var5 = bitcast %class.classname_A* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i32 @classname_A.method(%class.classname_A* %classvariable.this) #0 +{ +%var6 = getelementptr inbounds %class.classname_A* %classvariable.this, i32 0, i32 0 +%var7 = load i32* %var6, align 4 +%var8 = add nsw i32 %var7, 5 +ret i32 %var8 +unreachable +} +define weak i32 @simply_class_1_Int(i32 %simply_class_1.zz) #0 +{ +%simply_class_1.zz.addr = alloca i32, align 4 +store i32 %simply_class_1.zz, i32* %simply_class_1.zz.addr, align 4 +%var9 = load i32* %simply_class_1.zz.addr, align 4 +%var11 = call i8* @malloc_heap(i32 4) +%var10 = bitcast i8* %var11 to %class.classname_A* +%var12 = alloca %class.classname_A*, align 8 +store %class.classname_A* %var10, %class.classname_A** %var12, align 8 +call void @classname_A_Int(%class.classname_A* %var10, i32 %var9) +%managed.unique.0.simply_class_1.x = alloca %class.classname_A*, align 8 +%var13 = load %class.classname_A** %managed.unique.0.simply_class_1.x, align 8 +%var14 = load %class.classname_A** %var12, align 8 +store %class.classname_A* %var14, %class.classname_A** %managed.unique.0.simply_class_1.x, align 8 +%var15 = load %class.classname_A** %managed.unique.0.simply_class_1.x, align 8 +%var16 = call i32 @classname_A.method(%class.classname_A* %var15) +%var17 = alloca i32, align 4 +store i32 %var16, i32* %var17, align 4 +%var18 = load i32* %var17, align 4 +ret i32 %var18 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/smartcast_1/smartcast_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/smartcast_1/smartcast_1.kt.out new file mode 100644 index 00000000000..e18f6496275 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/smartcast_1/smartcast_1.kt.out @@ -0,0 +1,43 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @smartcast_1_CastCheck_Int(i32 %smartcast_1_CastCheck.x) #0 +{ +%smartcast_1_CastCheck.x.addr = alloca i32, align 4 +store i32 %smartcast_1_CastCheck.x, i32* %smartcast_1_CastCheck.x.addr, align 4 +%var2 = load i32* %smartcast_1_CastCheck.x.addr, align 4 +%var3 = add nsw i32 %var2, 1 +ret i32 %var3 +unreachable +} +define weak i32 @smartcast_1() #0 +{ +%managed.unique.0.smartcast_1.x = alloca i32*, align 4 +%var4 = load i32** %managed.unique.0.smartcast_1.x, align 4 +store i32* null, i32** %managed.unique.0.smartcast_1.x, align 8 +%var5 = load i32** %managed.unique.0.smartcast_1.x, align 4 +%var7 = call i8* @malloc_heap(i32 8) +%var6 = bitcast i8* %var7 to i32* +store i32 3, i32* %var6, align 4 +store i32* %var6, i32** %managed.unique.0.smartcast_1.x, align 4 +%managed.unique.1.smartcast_1.y = alloca i32*, align 4 +%var8 = load i32** %managed.unique.1.smartcast_1.y, align 4 +%var9 = load i32** %managed.unique.0.smartcast_1.x, align 4 +store i32* %var9, i32** %managed.unique.1.smartcast_1.y, align 4 +%var10 = load i32** %managed.unique.1.smartcast_1.y, align 4 +%var11 = load i32* %var10, align 4 +%var12 = call i32 @smartcast_1_CastCheck_Int(i32 %var11) +%var13 = alloca i32, align 4 +store i32 %var12, i32* %var13, align 4 +%managed.unique.2.smartcast_1.uio = alloca i32, align 4 +%var14 = load i32* %managed.unique.2.smartcast_1.uio, align 4 +%var15 = load i32* %var13, align 4 +store i32 %var15, i32* %managed.unique.2.smartcast_1.uio, align 4 +%var16 = load i32* %managed.unique.2.smartcast_1.uio, align 4 +ret i32 %var16 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.err new file mode 100644 index 00000000000..37cbbe39a6d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.err @@ -0,0 +1,73 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 10:24 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 13:26 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 21:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 40:26 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 48:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 68:27 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 69:21 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 73:33 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 78:25 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 89:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 89:42 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 92:24 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 96:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 102:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 102:42 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 105:24 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 109:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 112:13 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 112:48 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 112:83 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 121:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 121:42 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 124:24 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 128:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 134:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 134:42 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 137:24 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 141:17 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 173:26 Unresolved reference: CodedOutputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 176:28 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 184:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 203:28 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 211:28 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 237:31 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 241:25 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 242:22 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 245:30 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 257:35 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 258:27 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 264:30 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 276:35 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: +public operator fun String?.plus(other: Any?): String defined in kotlin +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 277:27 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 287:34 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 295:26 Unresolved reference: CodedInputStream +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 306:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 306:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 309:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 313:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 319:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 319:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 322:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 326:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 329:15 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 329:50 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 329:85 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 338:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 338:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 341:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 345:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 351:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 351:44 Unresolved reference: WireType +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 354:26 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 358:19 Unresolved reference: WireFormat +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./stress_test_1/stress_test_1.kt 395:18 Unresolved reference: CodedInputStream +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/stress_test_1/stress_test_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.err new file mode 100644 index 00000000000..e226e329a2a --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.err @@ -0,0 +1,7 @@ +[ERROR]null -1:-1 + +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./string_print_test_1/string_print_test_1.kt 2:5 Unresolved reference: println +[ERROR]/Users/minamoto/ws/kotlin-native/experiments/translator-bc/src/test/kotlin/tests/./string_print_test_1/string_print_test_1.kt 9:5 Unresolved reference: println +Exception in thread "main" org.kotlinnative.translator.exceptions.TranslationException: Can't initialize binding context for project + at org.kotlinnative.translator.TranslationState$Companion.createTranslationState(TranslationState.kt:80) + at MainKt.main(main.kt:18) diff --git a/experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/string_print_test_1/string_print_test_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/this_test_1/this_test_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/this_test_1/this_test_1.kt.out new file mode 100644 index 00000000000..d304459ec77 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/this_test_1/this_test_1.kt.out @@ -0,0 +1,54 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.this_test_1_class = type { i32 } +define weak void @this_test_1_class(%class.this_test_1_class* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.this_test_1_class, align 8 +%var2 = getelementptr inbounds %class.this_test_1_class* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 5, i32* %var2, align 4 +%var4 = bitcast %class.this_test_1_class* %classvariable.this to i8* +%var5 = bitcast %class.this_test_1_class* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak void @this_test_1_class.f_Int(%class.this_test_1_class* %classvariable.this, i32 %this_test_1_class.f.x) #0 +{ +%this_test_1_class.f.x.addr = alloca i32, align 4 +store i32 %this_test_1_class.f.x, i32* %this_test_1_class.f.x.addr, align 4 +%var6 = getelementptr inbounds %class.this_test_1_class* %classvariable.this, i32 0, i32 0 +%var7 = load i32* %this_test_1_class.f.x.addr, align 4 +%var8 = add nsw i32 %var7, 5 +%var9 = load i32* %var6, align 4 +store i32 %var8, i32* %var6, align 4 +ret void +unreachable +} +define weak i32 @this_test_1_Int(i32 %this_test_1.arg) #0 +{ +%this_test_1.arg.addr = alloca i32, align 4 +store i32 %this_test_1.arg, i32* %this_test_1.arg.addr, align 4 +%var11 = call i8* @malloc_heap(i32 4) +%var10 = bitcast i8* %var11 to %class.this_test_1_class* +%var12 = alloca %class.this_test_1_class*, align 8 +store %class.this_test_1_class* %var10, %class.this_test_1_class** %var12, align 8 +call void @this_test_1_class(%class.this_test_1_class* %var10) +%managed.unique.0.this_test_1.instance = alloca %class.this_test_1_class*, align 8 +%var13 = load %class.this_test_1_class** %managed.unique.0.this_test_1.instance, align 8 +%var14 = load %class.this_test_1_class** %var12, align 8 +store %class.this_test_1_class* %var14, %class.this_test_1_class** %managed.unique.0.this_test_1.instance, align 8 +%var15 = load %class.this_test_1_class** %managed.unique.0.this_test_1.instance, align 8 +%var16 = load i32* %this_test_1.arg.addr, align 4 +call void @this_test_1_class.f_Int(%class.this_test_1_class* %var15, i32 %var16) +%var17 = load %class.this_test_1_class** %managed.unique.0.this_test_1.instance, align 8 +%var18 = getelementptr inbounds %class.this_test_1_class* %var17, i32 0, i32 0 +%var19 = load i32* %var18, align 4 +ret i32 %var19 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/unary_operators_1/unary_operators_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/unary_operators_1/unary_operators_1.kt.out new file mode 100644 index 00000000000..9f80620200d --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/unary_operators_1/unary_operators_1.kt.out @@ -0,0 +1,33 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i1 @unary_operator_1_not_Boolean(i1 %unary_operator_1_not.x) #0 +{ +%unary_operator_1_not.x.addr = alloca i1, align 4 +store i1 %unary_operator_1_not.x, i1* %unary_operator_1_not.x.addr, align 4 +%var2 = load i1* %unary_operator_1_not.x.addr, align 4 +%var3 = xor i1 1, %var2 +ret i1 %var3 +unreachable +} +define weak i32 @unary_operator_1_minus_Int(i32 %unary_operator_1_minus.x) #0 +{ +%unary_operator_1_minus.x.addr = alloca i32, align 4 +store i32 %unary_operator_1_minus.x, i32* %unary_operator_1_minus.x.addr, align 4 +%var4 = load i32* %unary_operator_1_minus.x.addr, align 4 +%var5 = sub nsw i32 0, %var4 +ret i32 %var5 +unreachable +} +define weak i32 @unary_operator_1_plus_Int(i32 %unary_operator_1_plus.x) #0 +{ +%unary_operator_1_plus.x.addr = alloca i32, align 4 +store i32 %unary_operator_1_plus.x, i32* %unary_operator_1_plus.x.addr, align 4 +%var6 = load i32* %unary_operator_1_plus.x.addr, align 4 +ret i32 %var6 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/variables_assigment_1/variables_assigment_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/variables_assigment_1/variables_assigment_1.kt.out new file mode 100644 index 00000000000..7a2b3e1a599 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/variables_assigment_1/variables_assigment_1.kt.out @@ -0,0 +1,25 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @variables_assigment_1_Int(i32 %variables_assigment_1.x) #0 +{ +%variables_assigment_1.x.addr = alloca i32, align 4 +store i32 %variables_assigment_1.x, i32* %variables_assigment_1.x.addr, align 4 +%managed.unique.0.variables_assigment_1.z = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.variables_assigment_1.z, align 4 +%var3 = load i32* %variables_assigment_1.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.variables_assigment_1.z, align 4 +%var4 = load i32* %managed.unique.0.variables_assigment_1.z, align 4 +%var5 = alloca i32, align 4 +%var6 = load i32* %managed.unique.0.variables_assigment_1.z, align 4 +store i32 %var6, i32* %var5, align 4 +%var7 = add nsw i32 %var4, 1 +store i32 %var7, i32* %managed.unique.0.variables_assigment_1.z, align 4 +%var8 = load i32* %variables_assigment_1.x.addr, align 4 +ret i32 %var8 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/when_block/when_block.kt.out b/experiments/translator-bc/src/test/kotlin/tests/when_block/when_block.kt.out new file mode 100644 index 00000000000..adb0d51f51e --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/when_block/when_block.kt.out @@ -0,0 +1,41 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i1 @when_block_test1_Int(i32 %when_block_test1.i) #0 +{ +%when_block_test1.i.addr = alloca i32, align 4 +store i32 %when_block_test1.i, i32* %when_block_test1.i.addr, align 4 +; start when expression +br label %label.when_start.1 +label.when_start.1: +br label %label.when_condition_condition.5 +label.when_condition_condition.5: +%var3 = load i32* %when_block_test1.i.addr, align 4 +%var4 = icmp eq i32 %var3, 0 +br i1 %var4, label %label.when_condition_success.4, label %label.when_condition_condition.6 +label.when_condition_condition.6: +br label %label.when_item.3 +label.when_condition_success.4: +ret i1 1 +br label %label.when_end.2 +label.when_item.3: +br label %label.when_condition_condition.9 +label.when_condition_condition.9: +%var5 = load i32* %when_block_test1.i.addr, align 4 +%var6 = icmp eq i32 %var5, 1 +br i1 %var6, label %label.when_condition_success.8, label %label.when_condition_condition.10 +label.when_condition_condition.10: +br label %label.when_item.7 +label.when_condition_success.8: +ret i1 0 +br label %label.when_end.2 +label.when_item.7: +br label %label.when_end.2 +label.when_end.2: +ret i1 0 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.err b/experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.err new file mode 100644 index 00000000000..00653945652 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.err @@ -0,0 +1,19 @@ +Exception in thread "main" java.rmi.UnexpectedException: Int.toByte + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExtensionExpression(BlockCodegen.kt:366) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotBody(BlockCodegen.kt:338) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateDotExpression(BlockCodegen.kt:284) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:79) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateWhenItem(BlockCodegen.kt:924) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateWhenExpression(BlockCodegen.kt:968) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateExpression(BlockCodegen.kt:77) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateValExpression(BlockCodegen.kt:1067) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:193) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:209) + at org.kotlinnative.translator.codegens.BlockCodegen.expressionWalker(BlockCodegen.kt:192) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock(BlockCodegen.kt:45) + at org.kotlinnative.translator.codegens.BlockCodegen.evaluateCodeBlock$default(BlockCodegen.kt:42) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate(FunctionCodegen.kt:81) + at org.kotlinnative.translator.codegens.FunctionCodegen.generate$default(FunctionCodegen.kt:72) + at org.kotlinnative.translator.ProjectTranslator.generateProjectBody(ProjectTranslator.kt:69) + at org.kotlinnative.translator.ProjectTranslator.generateCode(ProjectTranslator.kt:20) + at MainKt.main(main.kt:22) diff --git a/experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/when_expression_1/when_expression_1.kt.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/experiments/translator-bc/src/test/kotlin/tests/while_1/while_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/while_1/while_1.kt.out new file mode 100644 index 00000000000..24bab1038f7 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/while_1/while_1.kt.out @@ -0,0 +1,28 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @while_test_1_Int(i32 %while_test_1.x) #0 +{ +%while_test_1.x.addr = alloca i32, align 4 +store i32 %while_test_1.x, i32* %while_test_1.x.addr, align 4 +%managed.unique.0.while_test_1.a = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.while_test_1.a, align 4 +store i32 5, i32* %managed.unique.0.while_test_1.a, align 4 +br label %label.while.1 +label.while.1: +%var3 = icmp slt i32 2, 3 +br i1 %var3, label %label.while.2, label %label.while.3 +label.while.2: +%var4 = load i32* %managed.unique.0.while_test_1.a, align 4 +store i32 10, i32* %managed.unique.0.while_test_1.a, align 4 +%var5 = load i32* %managed.unique.0.while_test_1.a, align 4 +ret i32 %var5 +br label %label.while.1 +label.while.3: +ret i32 5 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/while_2/while_2.kt.out b/experiments/translator-bc/src/test/kotlin/tests/while_2/while_2.kt.out new file mode 100644 index 00000000000..752a3655335 --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/while_2/while_2.kt.out @@ -0,0 +1,30 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @while_test_2_Int(i32 %while_test_2.x) #0 +{ +%while_test_2.x.addr = alloca i32, align 4 +store i32 %while_test_2.x, i32* %while_test_2.x.addr, align 4 +%managed.unique.0.while_test_2.a = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.while_test_2.a, align 4 +%var3 = load i32* %while_test_2.x.addr, align 4 +store i32 %var3, i32* %managed.unique.0.while_test_2.a, align 4 +br label %label.while.1 +label.while.1: +%var4 = icmp slt i32 2, 3 +br i1 %var4, label %label.while.2, label %label.while.3 +label.while.2: +%var5 = load i32* %while_test_2.x.addr, align 4 +%var6 = add nsw i32 %var5, 1 +%var7 = load i32* %managed.unique.0.while_test_2.a, align 4 +store i32 %var6, i32* %managed.unique.0.while_test_2.a, align 4 +%var8 = load i32* %managed.unique.0.while_test_2.a, align 4 +ret i32 %var8 +br label %label.while.1 +label.while.3: +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/while_argument_side_effects_1/while_argument_side_effects_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/while_argument_side_effects_1/while_argument_side_effects_1.kt.out new file mode 100644 index 00000000000..5f4bd30668e --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/while_argument_side_effects_1/while_argument_side_effects_1.kt.out @@ -0,0 +1,63 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +%class.while_argument_side_effects_1_Counter = type { i32 } +@object.instance.while_argument_side_effects_1_Counter = internal global %class.while_argument_side_effects_1_Counter { i32 0 }, align 8 +define weak void @while_argument_side_effects_1_Counter(%class.while_argument_side_effects_1_Counter* %classvariable.this) #0 +{ +%classvariable.this.addr = alloca %class.while_argument_side_effects_1_Counter, align 8 +%var2 = getelementptr inbounds %class.while_argument_side_effects_1_Counter* %classvariable.this.addr, i32 0, i32 0 +%var3 = load i32* %var2, align 4 +store i32 0, i32* %var2, align 4 +%var4 = bitcast %class.while_argument_side_effects_1_Counter* %classvariable.this to i8* +%var5 = bitcast %class.while_argument_side_effects_1_Counter* %classvariable.this.addr to i8* +call void @llvm.memcpy.p0i8.p0i8.i64(i8* %var4, i8* %var5, i64 4, i32 4, i1 false) +ret void +unreachable +} +define weak i1 @while_argument_side_effects_1_Counter.isEnd(%class.while_argument_side_effects_1_Counter* %classvariable.this) #0 +{ +%var6 = getelementptr inbounds %class.while_argument_side_effects_1_Counter* %classvariable.this, i32 0, i32 0 +%var7 = load i32* %var6, align 4 +%var8 = load i32* %var6, align 4 +%var9 = add nsw i32 %var8, 1 +store i32 %var9, i32* %var6, align 4 +%var10 = load i32* %var6, align 4 +%var11 = getelementptr inbounds %class.while_argument_side_effects_1_Counter* %classvariable.this, i32 0, i32 0 +%var12 = load i32* %var11, align 4 +%var13 = icmp slt i32 %var12, 10 +ret i1 %var13 +unreachable +} +define weak i32 @while_argument_side_effects_1() #0 +{ +%managed.unique.0.while_argument_side_effects_1.iter = alloca i32, align 4 +%var14 = load i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +store i32 0, i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +br label %label.while.1 +label.while.1: +%var15 = call i1 @while_argument_side_effects_1_Counter.isEnd(%class.while_argument_side_effects_1_Counter* @object.instance.while_argument_side_effects_1_Counter) +%var16 = alloca i1, align 4 +store i1 %var15, i1* %var16, align 4 +%var17 = load i1* %var16, align 4 +br i1 %var17, label %label.while.2, label %label.while.3 +label.while.2: +%var18 = load i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +%var19 = load i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +%var20 = add nsw i32 %var19, 1 +store i32 %var20, i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +%var21 = load i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +br label %label.while.1 +label.while.3: +%var22 = getelementptr inbounds %class.while_argument_side_effects_1_Counter* @object.instance.while_argument_side_effects_1_Counter, i32 0, i32 0 +%var23 = load i32* %var22, align 4 +%var24 = mul nsw i32 1009, %var23 +%var25 = load i32* %managed.unique.0.while_argument_side_effects_1.iter, align 4 +%var26 = add nsw i32 %var25, %var24 +ret i32 %var26 +unreachable +} + diff --git a/experiments/translator-bc/src/test/kotlin/tests/while_break_1/while_break_1.kt.out b/experiments/translator-bc/src/test/kotlin/tests/while_break_1/while_break_1.kt.out new file mode 100644 index 00000000000..312d09ec0bb --- /dev/null +++ b/experiments/translator-bc/src/test/kotlin/tests/while_break_1/while_break_1.kt.out @@ -0,0 +1,30 @@ +@exceptions.str.1 = private unnamed_addr constant [59 x i8] c"Exception in thread main kotlin.KotlinNullPointerException\00", align 1 +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) +declare i8* @malloc_heap(i32) +declare i32 @printf(i8*, ...) +declare void @abort() +%class.Nothing = type { } +define weak i32 @while_break_1() #0 +{ +%managed.unique.0.while_break_1.i = alloca i32, align 4 +%var2 = load i32* %managed.unique.0.while_break_1.i, align 4 +store i32 1, i32* %managed.unique.0.while_break_1.i, align 4 +br label %label.while.1 +label.while.1: +br i1 1, label %label.while.2, label %label.while.3 +label.while.2: +%var3 = load i32* %managed.unique.0.while_break_1.i, align 4 +%var4 = add nsw i32 %var3, 1 +%var5 = load i32* %managed.unique.0.while_break_1.i, align 4 +store i32 %var4, i32* %managed.unique.0.while_break_1.i, align 4 +br label %label.while.3 +%var6 = sub nsw i32 0, 100 +%var7 = load i32* %managed.unique.0.while_break_1.i, align 4 +store i32 %var6, i32* %managed.unique.0.while_break_1.i, align 4 +br label %label.while.1 +label.while.3: +%var8 = load i32* %managed.unique.0.while_break_1.i, align 4 +ret i32 %var8 +unreachable +} +