This commit is contained in:
miks1965 2018-10-30 23:24:08 +03:00
parent e33ed6599b
commit 94dc715c40
7 changed files with 11 additions and 5 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "4";
public const string Build = "2";
public const string Revision = "1846";
public const string Revision = "1848";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=4
%REVISION%=1846
%REVISION%=1848
%COREVERSION%=2
%MAJOR%=3

Binary file not shown.

View file

@ -1 +1 @@
!define VERSION '3.4.2.1846'
!define VERSION '3.4.2.1848'

View file

@ -323,6 +323,11 @@ namespace TreeConverter.LambdaExpressions.Closure
}
var forNodeIndex = enclosedStatementList.subnodes.FindIndex(stmt => stmt == forNode);
if (forNodeIndex == -1) // SSM 30.10.18 грубый fix #1443 Если for_node находится на 2 и более уровней ниже, то мы её нне найдём - пробуем вставить в начало блока
forNodeIndex = 0;
// Конечно, могут возникнуть проблемы что мы вставляем в начало блока, но если там нет перекрывающихся имен, то вроде и проблем нет
enclosedStatementList.subnodes.InsertRange(forNodeIndex, nodesToAdd);

View file

@ -5281,7 +5281,8 @@ namespace PascalABCCompiler.TreeConverter
expressions_list ex_list = new expressions_list();
ex_list.AddRange(exprs);
ex_list.remove_at(0);
ffn = convertion_data_and_alghoritms.select_function(ex_list, sil, subloc, syntax_nodes_parameters,true);
// Последний параметр - странный. Глупо искать не в методах расширения если это - метод расширения и мы удаляем затем первый параметр
ffn = convertion_data_and_alghoritms.select_function(ex_list, sil, subloc, syntax_nodes_parameters/*,true*/);
if (ffn == null)
{
ThrowCompilationError = true;

View file

@ -729,7 +729,7 @@ namespace PascalABCCompiler.TreeRealization
(type_node)((lambda_inferred_type)lambda_syntax_node.return_type).real_type,
deduced, nils)) //Выводим дженерик-параметры после того как вычислили тип возвращаемого значения
{
result = false;
result = false;
}
}
}