This commit is contained in:
Ivan Bondarev 2021-01-17 11:56:37 +01:00
parent 7aab08a5b5
commit 6ca2ab67d9
3 changed files with 13 additions and 2 deletions

View file

@ -0,0 +1,5 @@
begin
var l := Lst(1,3,5);
var o := l.IndexOf;
assert(o(3) = 1);
end.

View file

@ -0,0 +1,6 @@
begin
var a: array of integer := |1,2,3|;
var l: List<integer> := new List<integer>(|4,2,5|);
var a2 := a.ConvertAll(l.Contains);//Ошибка: Нельзя преобразовать тип List<byte> к byte
assert(a2.ArrEqual(|false, true, false|));
end.

View file

@ -10055,8 +10055,8 @@ namespace PascalABCCompiler.TreeConverter
List<SymbolInfo> tmp_list = new List<SymbolInfo>(sil);
foreach (SymbolInfo tmp_si in tmp_list)
{
if (tmp_si.sym_info is function_node && !(tmp_si.sym_info as function_node).is_extension_method
&& !(tmp_si.sym_info is common_method_node && (tmp_si.sym_info as common_method_node).is_constructor)
if (tmp_si.sym_info is function_node && !(tmp_si.sym_info as function_node).is_extension_method && (tmp_si.sym_info as function_node).polymorphic_state != SemanticTree.polymorphic_state.ps_static
&& !(tmp_si.sym_info is common_method_node && (tmp_si.sym_info as common_method_node).is_constructor) && (tmp_si.sym_info as function_node).return_value_type != null
&& !(tmp_si.sym_info is compiled_constructor_node))
return false;
}