This commit is contained in:
Ivan Bondarev 2021-12-24 14:24:51 +01:00
parent f88ef8abcd
commit eef8481b7c
3 changed files with 27 additions and 4 deletions

View file

@ -721,10 +721,14 @@ namespace PascalABCCompiler.PCU
{
int pos = (int)bw.BaseStream.Position;
members[dn] = pos;
name_pool[dn].offset = pos;
if (dn is common_namespace_function_node)
if ((dn as common_namespace_function_node).is_overload)
name_pool[dn].symbol_kind = symbol_kind.sk_overload_function;
if (name_pool.ContainsKey(dn))
{
name_pool[dn].offset = pos;
if (dn is common_namespace_function_node)
if ((dn as common_namespace_function_node).is_overload)
name_pool[dn].symbol_kind = symbol_kind.sk_overload_function;
}
gl_members[dn] = pos;
List<PCUWriter> pwl = null;
//если какой-то модуль ждет смещения от этой сущности, сообщаем ему

View file

@ -0,0 +1,18 @@
unit u_delegates5;
interface
implementation
type
d<T> = T->();
procedure Test;
begin
var i := 0;
var f: d<integer> := x -> begin i := x end;
f(2);
assert(i = 2);
end;
begin
Test;
end.

View file

@ -0,0 +1 @@
uses u_delegates5; begin end.