fix #869
This commit is contained in:
parent
a73085a953
commit
92b0bf4cc2
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "5";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "2075";
|
||||
public const string Revision = "2077";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=5
|
||||
%REVISION%=2075
|
||||
%REVISION%=2077
|
||||
%COREVERSION%=0
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.5.0.2075'
|
||||
!define VERSION '3.5.0.2077'
|
||||
|
|
|
|||
15
TestSuite/lambda_capture_private_static_and_local.pas
Normal file
15
TestSuite/lambda_capture_private_static_and_local.pas
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
type
|
||||
t1 = class
|
||||
{public} static a1: byte := 2;
|
||||
|
||||
private procedure p1;
|
||||
begin
|
||||
var a2: word := 3;
|
||||
var pp1: ()->integer := ()->a1+a2;
|
||||
Assert(pp1=5);
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
t1.Create.p1
|
||||
end.
|
||||
7
TestSuite/match_byte_integer.pas
Normal file
7
TestSuite/match_byte_integer.pas
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
begin
|
||||
var l: byte;
|
||||
l := 1;
|
||||
match l with
|
||||
1: Assert(l=1);
|
||||
end;
|
||||
end.
|
||||
|
|
@ -433,17 +433,17 @@ namespace TreeConverter.LambdaExpressions.Closure
|
|||
Tuple<string, class_field, semantic_node> publicProperty;
|
||||
if (classScope.NonPublicMembersNamesMapping.TryGetValue(varName, out publicProperty))
|
||||
{
|
||||
dotnode1 = new dot_node(dotnode1, new ident(publicProperty.Item1, sourceCtxt), sourceCtxt);
|
||||
dotnode1 = new dot_node(dotnode1.left, new ident(publicProperty.Item1, sourceCtxt), sourceCtxt); // SSM #869 добавил .left - была ошибка
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(ClassField != null && ClassField.IsStatic))
|
||||
dotnode1 = new dot_node(dotnode1, new ident(varName, sourceCtxt), sourceCtxt);
|
||||
dotnode1 = new dot_node(dotnode1, new ident(varName, sourceCtxt), sourceCtxt); // ?? dotnode1.left ??
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dotnode1 = new dot_node(dotnode1, new ident(varName, sourceCtxt), sourceCtxt);
|
||||
dotnode1 = new dot_node(dotnode1, new ident(varName, sourceCtxt), sourceCtxt); // ?? dotnode1.left ??
|
||||
}
|
||||
}
|
||||
_lambdaIdReferences.Add(new LambdaReferencesSubstitutionInfo
|
||||
|
|
|
|||
Loading…
Reference in a new issue