fix #2009
This commit is contained in:
parent
06a053ad74
commit
d299d70a23
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
||||||
public const string Major = "3";
|
public const string Major = "3";
|
||||||
public const string Minor = "5";
|
public const string Minor = "5";
|
||||||
public const string Build = "0";
|
public const string Build = "0";
|
||||||
public const string Revision = "2144";
|
public const string Revision = "2146";
|
||||||
|
|
||||||
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%=0
|
%COREVERSION%=0
|
||||||
%REVISION%=2144
|
%REVISION%=2146
|
||||||
%MINOR%=5
|
%MINOR%=5
|
||||||
%MAJOR%=3
|
%MAJOR%=3
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
!define VERSION '3.5.0.2144'
|
!define VERSION '3.5.0.2146'
|
||||||
|
|
|
||||||
16
TestSuite/lambda_static_1.pas
Normal file
16
TestSuite/lambda_static_1.pas
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
type
|
||||||
|
T = class
|
||||||
|
public static function f: T := new T; //Обязательно static
|
||||||
|
|
||||||
|
public procedure P;
|
||||||
|
begin
|
||||||
|
var s := f; // Повторно объявленный идентификатор s
|
||||||
|
// Если добавить (), то всё работает
|
||||||
|
|
||||||
|
var lambda: () -> integer = () -> 1; //любая лямбда
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
@ -209,7 +209,7 @@ namespace TreeConverter.LambdaExpressions.Closure
|
||||||
{
|
{
|
||||||
dot_node dn = null;
|
dot_node dn = null;
|
||||||
// Поменял принцип добавления имени класса для статических полей и функций
|
// Поменял принцип добавления имени класса для статических полей и функций
|
||||||
Func<common_type_node, addressed_value> getClassIdent = (classNode) =>
|
Func<common_type_node, addressed_value> getClassIdent = classNode =>
|
||||||
{
|
{
|
||||||
if (classNode.name.Contains("<"))
|
if (classNode.name.Contains("<"))
|
||||||
{
|
{
|
||||||
|
|
@ -291,7 +291,7 @@ namespace TreeConverter.LambdaExpressions.Closure
|
||||||
cname = (cd.Parent as type_declaration).type_name;
|
cname = (cd.Parent as type_declaration).type_name;
|
||||||
dot_node dn = new dot_node(new ident(cname.name, cname.source_context), new ident(id.name, id.source_context), id.source_context);
|
dot_node dn = new dot_node(new ident(cname.name, cname.source_context), new ident(id.name, id.source_context), id.source_context);
|
||||||
id.Parent.ReplaceDescendantUnsafe(id, dn);
|
id.Parent.ReplaceDescendantUnsafe(id, dn);
|
||||||
ProcessNode(id.Parent);
|
ProcessNode(dn);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue