bug fix #1946
This commit is contained in:
parent
79dacd5f37
commit
f7a01bc366
|
|
@ -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 = "2062";
|
||||
public const string Revision = "2064";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=2
|
||||
%REVISION%=2062
|
||||
%REVISION%=2064
|
||||
%MINOR%=4
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.2.2062'
|
||||
!define VERSION '3.4.2.2064'
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
type
|
||||
t1 = class
|
||||
|
||||
b: byte;
|
||||
|
||||
static procedure p1(b: byte);
|
||||
begin
|
||||
|
||||
var p: procedure;
|
||||
p := ()->
|
||||
begin
|
||||
p := ()->
|
||||
begin
|
||||
b := b;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
begin
|
||||
Assert(1=1);
|
||||
type
|
||||
t1 = class
|
||||
|
||||
b: byte;
|
||||
|
||||
static procedure p1(b: byte);
|
||||
begin
|
||||
|
||||
var p: procedure;
|
||||
p := ()->
|
||||
begin
|
||||
p := ()->
|
||||
begin
|
||||
b := b;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
begin
|
||||
Assert(1=1);
|
||||
end.
|
||||
|
|
@ -447,7 +447,7 @@ namespace PascalABCCompiler.NetHelper
|
|||
//if (namespaces[s] == null) ns_ht.Add(s,s);
|
||||
ns_ht[s] = s;
|
||||
namespaces[s] = t;
|
||||
// SSM 17.05.19 Пробую запретить uses Reflection: https://github.com/pascalabcnet/pascalabcnet/issues/1941
|
||||
// SSM 17.05.19 Запретил uses Reflection: https://github.com/pascalabcnet/pascalabcnet/issues/1941
|
||||
/*if (pos != -1)
|
||||
{
|
||||
string[] sub_ns_arr = s.Split('.');
|
||||
|
|
|
|||
|
|
@ -5883,8 +5883,10 @@ namespace PascalABCCompiler.TreeConverter
|
|||
var fl = fld.lambda_visit_mode;
|
||||
|
||||
// запомнили типы параметров лямбды - SSM
|
||||
object[] realparamstype = new object[fld.formal_parameters.params_list.Count]; // здесь хранятся выведенные типы лямбд или null если типы явно заданы
|
||||
for (var k = 0; k < fld.formal_parameters.params_list.Count; k++)
|
||||
var fld_formal_parameters_Count = fld.formal_parameters == null ? 0 : fld.formal_parameters.params_list.Count;
|
||||
|
||||
object[] realparamstype = new object[fld_formal_parameters_Count]; // здесь хранятся выведенные типы лямбд или null если типы явно заданы
|
||||
for (var k = 0; k < fld_formal_parameters_Count; k++)
|
||||
{
|
||||
var laminftypeK = fld.formal_parameters.params_list[k].vars_type as SyntaxTree.lambda_inferred_type;
|
||||
if (laminftypeK == null)
|
||||
|
|
@ -5939,7 +5941,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
if (restype != null)
|
||||
restype.real_type = realrestype;
|
||||
// восстанавливаем сохраненные типы параметров лямбды, которые не были заданы явно
|
||||
for (var k = 0; k < fld.formal_parameters.params_list.Count; k++)
|
||||
for (var k = 0; k < fld_formal_parameters_Count; k++)
|
||||
{
|
||||
var laminftypeK = fld.formal_parameters.params_list[k].vars_type as SyntaxTree.lambda_inferred_type;
|
||||
if (laminftypeK != null)
|
||||
|
|
|
|||
Loading…
Reference in a new issue