bug fix #1488
This commit is contained in:
parent
6d5a5ee7e8
commit
518adb227b
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "4";
|
||||
public const string Build = "2";
|
||||
public const string Revision = "1864";
|
||||
public const string Revision = "1865";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=4
|
||||
%REVISION%=1864
|
||||
%COREVERSION%=2
|
||||
%REVISION%=1865
|
||||
%MINOR%=4
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.2.1864'
|
||||
!define VERSION '3.4.2.1865'
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
public void ReplaceStatementUsingParent(statement from, IEnumerable<statement> to, Desc d = Desc.DirectDescendants)
|
||||
{
|
||||
var fp = from.Parent; // SSM 02.10.18 - запомним, т.к. from.Parent может быть одним из x.Parent
|
||||
foreach (var x in to)
|
||||
x.Parent = fp;
|
||||
//foreach (var x in to) // Это и так делается по обоим веткам!
|
||||
// x.Parent = fp;
|
||||
var sl = fp as statement_list;
|
||||
if (sl != null)
|
||||
{
|
||||
|
|
@ -69,6 +69,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
l.AddMany(to);
|
||||
l.source_context = from.source_context;
|
||||
fp.ReplaceDescendant(from, l, d);
|
||||
l.Parent = fp; // на всякий случай
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
TestSuite/foreach_foreach.pas
Normal file
15
TestSuite/foreach_foreach.pas
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
begin
|
||||
|
||||
foreach var a1 in Arr&<object> do
|
||||
foreach var a2 in Arr&<object>.Select(o->o as object) do
|
||||
begin
|
||||
|
||||
var p: procedure := ()->
|
||||
begin
|
||||
var o: object;
|
||||
var f := o is byte(var b);
|
||||
end;
|
||||
|
||||
end;
|
||||
Assert(1=1);
|
||||
end.
|
||||
Loading…
Reference in a new issue