diff --git a/NETGenerator/NETGenerator.cs b/NETGenerator/NETGenerator.cs index cf728acb0..dace46506 100644 --- a/NETGenerator/NETGenerator.cs +++ b/NETGenerator/NETGenerator.cs @@ -10900,7 +10900,6 @@ namespace PascalABCCompiler.NETGenerator il.Emit(OpCodes.Br, EndLabel); il.MarkLabel(NullLabel); value.ret_if_null.visit(this); - ti = helper.GetTypeReference(value.ret_if_null.type); if (ti != null) EmitBox(value.ret_if_null, ti.tp); il.MarkLabel(EndLabel); diff --git a/TestSuite/double_question5.pas b/TestSuite/double_question5.pas new file mode 100644 index 000000000..eb6414a32 --- /dev/null +++ b/TestSuite/double_question5.pas @@ -0,0 +1,11 @@ +var i: integer; +procedure test(o: object); +begin + i := integer(o); +end; +begin + var x: Object := nil; + var y:= x ?? 10; + test(y); + assert(i = 10); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 1430477e6..0405e768f 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -18580,7 +18580,6 @@ namespace PascalABCCompiler.TreeConverter { right = convertion_data_and_alghoritms.convert_type(right, left.type); } - } }