This commit is contained in:
Mikhalkovich Stanislav 2019-05-30 13:37:54 +03:00
parent a73085a953
commit 92b0bf4cc2
6 changed files with 28 additions and 6 deletions

View file

@ -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 = "2075"; public const string Revision = "2077";
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;

View file

@ -1,4 +1,4 @@
%MINOR%=5 %MINOR%=5
%REVISION%=2075 %REVISION%=2077
%COREVERSION%=0 %COREVERSION%=0
%MAJOR%=3 %MAJOR%=3

View file

@ -1 +1 @@
!define VERSION '3.5.0.2075' !define VERSION '3.5.0.2077'

View 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.

View file

@ -0,0 +1,7 @@
begin
var l: byte;
l := 1;
match l with
1: Assert(l=1);
end;
end.

View file

@ -433,17 +433,17 @@ namespace TreeConverter.LambdaExpressions.Closure
Tuple<string, class_field, semantic_node> publicProperty; Tuple<string, class_field, semantic_node> publicProperty;
if (classScope.NonPublicMembersNamesMapping.TryGetValue(varName, out 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 else
{ {
if (!(ClassField != null && ClassField.IsStatic)) 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 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 _lambdaIdReferences.Add(new LambdaReferencesSubstitutionInfo