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