This commit is contained in:
parent
54e0d1f10f
commit
75073a7c22
13
TestSuite/lambda_params.pas
Normal file
13
TestSuite/lambda_params.pas
Normal 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.
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue