This commit is contained in:
Mikhalkovich Stanislav 2019-06-21 09:36:54 +03:00
parent b2f42cca9c
commit 717b73cb60
7 changed files with 34 additions and 13 deletions

View file

@ -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 = "2129";
public const string Revision = "2133";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=5
%REVISION%=2129
%REVISION%=2133
%COREVERSION%=0
%MAJOR%=3

View file

@ -1 +1 @@
!define VERSION '3.5.0.2129'
!define VERSION '3.5.0.2133'

View file

@ -1,14 +1,14 @@
(************************************************************************************)
//*****************************************************************************************************\\
// Copyright (©) Cergey Latchenko ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega )
// This code is distributed under the Unlicense
// For details please see LICENSE.md or here:
// For details see LICENSE.md file or this:
// https://github.com/SunSerega/PascalABC.Net-BlockFileOfT/blob/master/LICENSE.md
(************************************************************************************)
// Copyright (©) Сергей латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega )
//*****************************************************************************************************\\
// Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega )
// Этот код распространяется под Unlicense
// Для деталей смотрите в файл LICENSE.md или сюда:
// Для деталей смотрите в файл LICENSE.md или это:
// https://github.com/SunSerega/PascalABC.Net-BlockFileOfT/blob/master/LICENSE.md
(************************************************************************************)
//*****************************************************************************************************\\
///Модуль, содержащий тип BlockFileOf<T>
///Тип-альтернатива стандартному file of T

View file

@ -3950,6 +3950,8 @@ end;
function operator**(x: real; n: integer): real; extensionmethod := Power(x, n);
function operator**(x: single; n: integer): real; extensionmethod := Power(x, n);
function operator**(x, y: integer): real; extensionmethod := Power(real(x), y);
function operator**(x, y: real): real; extensionmethod := Power(x, y);

View file

@ -0,0 +1,16 @@
type
t0<T> = class end;
t1<T> = class(t0<T>)
public procedure p1();
begin
var b: T;
var p: procedure := ()->
begin
var b1 := b;
var b2 := b;
end;
end;
end;
begin
end.

View file

@ -392,12 +392,13 @@ namespace TreeConverter.LambdaExpressions.Closure
if (idRef == null) //TODO: Осторожнее переделать
{
{
/*var index = -1;
var index = -1;
for (var i=0; i < sc.VariablesDefinedInScope.Count; i++)
{
if (sc.VariablesDefinedInScope[i].SymbolInfo.sym_info is var_definition_node vdn && vdn.name.ToLower() == id.name.ToLower()) // SSM #2001 и подобные - исключаю одноимённые
{
index = i;
si = sc.VariablesDefinedInScope[i].SymbolInfo;
break;
}
}
@ -406,14 +407,16 @@ namespace TreeConverter.LambdaExpressions.Closure
sc.VariablesDefinedInScope.Add(new CapturedVariablesTreeNode.CapturedSymbolInfo(null, si));
index = sc.VariablesDefinedInScope.Count - 1;
}
idRef = sc.VariablesDefinedInScope[index];*/
return; // SSM 21/06/19 - так было
idRef = sc.VariablesDefinedInScope[index];
if (!(idRef.SymbolInfo.sym_info is IVAriableDefinitionNode))
return; // SSM 21/06/19 - так было
}
}
if (_currentTreeNode.CorrespondingSyntaxTreeNode != null)
{
if (!(idRef.SymbolInfo.sym_info is IVAriableDefinitionNode)) // SSM 21/06/19
return;
var varName = ((IVAriableDefinitionNode)idRef.SymbolInfo.sym_info).name; //TODO: случай параметров и полей класса!!!!!!!!!!!!!!!!!!
var substKey = new SubstitutionKey(varName, idRef.SyntaxTreeNodeWithVarDeclaration, _currentTreeNode.CorrespondingSyntaxTreeNode);