diff --git a/TestSuite/question5.pas b/TestSuite/question5.pas new file mode 100644 index 000000000..8378330fb --- /dev/null +++ b/TestSuite/question5.pas @@ -0,0 +1,6 @@ +function f1 := 1; +function f2 := 0; +begin + var i := true ? f1 : f2; + assert(i = 1); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 2fbfead5d..2d3bee7e9 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -16777,7 +16777,8 @@ namespace PascalABCCompiler.TreeConverter condition = convertion_data_and_alghoritms.convert_type(condition, SystemLibrary.SystemLibrary.bool_type); expression_node left = convert_strong(node.ret_if_true); expression_node right = convert_strong(node.ret_if_false); - + try_convert_typed_expression_to_function_call(ref left); + try_convert_typed_expression_to_function_call(ref right); /*var typeComparisonResult = type_table.compare_types(left.type, right.type); if (typeComparisonResult == type_compare.greater_type) right = convertion_data_and_alghoritms.convert_type(right, left.type);