This commit is contained in:
Ivan Bondarev 2021-01-06 19:50:55 +01:00
parent 54e0d1f10f
commit 75073a7c22
2 changed files with 17 additions and 1 deletions

View file

@ -0,0 +1,13 @@
procedure p1(params fs: array of Action0);
begin
fs[0];
end;
begin
var i := 0;
p1(()->
begin
i := 1;
end);
assert(i = 1);
end.

View file

@ -7203,7 +7203,10 @@ namespace PascalABCCompiler.TreeConverter
else
{
var enLambda = (SyntaxTree.function_lambda_definition)en;
LambdaHelper.InferTypesFromVarStmt(fn.parameters[exprCounter].type, enLambda, this);
if (fn.parameters[exprCounter].is_params)
LambdaHelper.InferTypesFromVarStmt(fn.parameters[exprCounter].type.element_type, enLambda, this);
else
LambdaHelper.InferTypesFromVarStmt(fn.parameters[exprCounter].type, enLambda, this);
enLambda.lambda_visit_mode = LambdaVisitMode.VisitForAdvancedMethodCallProcessing;
exprs[exprCounter] = convert_strong(en);
enLambda.lambda_visit_mode = LambdaVisitMode.VisitForInitialMethodCallProcessing;