From 0b72b74afff94d911ae1e9630f85917e49a947fe Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Tue, 28 Sep 2021 21:01:49 +0200 Subject: [PATCH] #2516 --- TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs | 3 +-- TreeConverter/TreeConversion/syntax_tree_visitor.cs | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs index 1c44fbb5b..1f9d468ed 100644 --- a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs +++ b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs @@ -686,8 +686,7 @@ namespace PascalABCCompiler.TreeConverter type_node conv_type = en.type; expression_node expr = create_simple_function_call(pct.first.convertion_method, en.location, en); expr.conversion_type = conv_type; - if (expr.type == en.type) - expr.type = to; + return expr; } diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index da1ae795c..872858d5a 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -18501,10 +18501,12 @@ namespace PascalABCCompiler.TreeConverter if (ltr.first != null && rtl.first == null) { left = convertion_data_and_alghoritms.convert_type(left, right.type); + left.type = right.type; } else if (ltr.first == null && rtl.first != null) { right = convertion_data_and_alghoritms.convert_type(right, left.type); + right.type = left.type; } else {