This commit is contained in:
Бондарев Иван 2020-11-22 17:10:21 +01:00
parent 1609903b1d
commit 899f0da1bd
4 changed files with 29 additions and 1 deletions

View file

@ -1399,6 +1399,8 @@ namespace PascalABCCompiler.PCU
return GetGenericParameterOfFunction();
case 11:
return GetGenericParameterOfMethod();
case 12:
return new lambda_any_type_node();
}
return null;
}

View file

@ -98,7 +98,8 @@ namespace PascalABCCompiler.PCU
ShortString = 8,
GenericParameterOfType = 9,
GenericParameterOfFunction = 10,
GenericParameterOfMethod = 11
GenericParameterOfMethod = 11,
LambdaAnyType = 12
}
public enum GenericParamKind
@ -1418,6 +1419,12 @@ namespace PascalABCCompiler.PCU
WriteTemplateInstance(c_t_n);
return;
}
if (type is lambda_any_type_node)
{
bw.Write((byte)TypeKind.LambdaAnyType);
return;
}
byte is_def = 0;
int offset = GetTypeReference(type, ref is_def);

View file

@ -0,0 +1,14 @@
unit u_lambda_any;
{$reference WindowsBase.dll}
function f: integer;
begin
var d := System.Windows.Threading.Dispatcher.CurrentDispatcher;
var res := d.Invoke(()->
begin
Result := 1;
end);
Result := res;
end;
end.

View file

@ -0,0 +1,5 @@
uses u_lambda_any;
begin
assert(f = 1);
end.