fix #1443
This commit is contained in:
parent
e33ed6599b
commit
94dc715c40
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=4
|
||||
%REVISION%=1846
|
||||
%REVISION%=1848
|
||||
%COREVERSION%=2
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.2.1846'
|
||||
!define VERSION '3.4.2.1848'
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue