bug fix #591
This commit is contained in:
parent
a4e3b61484
commit
082fe67a18
17
TestSuite/lambdas4.pas
Normal file
17
TestSuite/lambdas4.pas
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
type
|
||||||
|
t1=class
|
||||||
|
|
||||||
|
function f1:byte:=2;
|
||||||
|
|
||||||
|
constructor;
|
||||||
|
begin
|
||||||
|
var a:= new byte[1];
|
||||||
|
a.Fill(i->f1);
|
||||||
|
assert(a[0] = 2);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
new t1;
|
||||||
|
end.
|
||||||
|
|
@ -78,6 +78,12 @@ namespace TreeConverter.LambdaExpressions
|
||||||
to.name.ToLower() == RESULT_KEY_WORD)
|
to.name.ToLower() == RESULT_KEY_WORD)
|
||||||
{
|
{
|
||||||
var converted = syntaxTreeVisitor.convert_strong(from);
|
var converted = syntaxTreeVisitor.convert_strong(from);
|
||||||
|
if (converted is typed_expression)
|
||||||
|
{
|
||||||
|
delegated_methods dm = converted.type as delegated_methods;
|
||||||
|
if (dm.empty_param_method != null)
|
||||||
|
converted = syntaxTreeVisitor.convert_typed_expression_to_function_call(converted as typed_expression);
|
||||||
|
}
|
||||||
resultExpressionsTypes.Add(new Tuple<type_node, expression, expression_node>(converted.type, from, converted));
|
resultExpressionsTypes.Add(new Tuple<type_node, expression, expression_node>(converted.type, from, converted));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue