From 2771314915f95d258994dd05937aa433c8a33e0b Mon Sep 17 00:00:00 2001 From: miks1965 Date: Tue, 19 Apr 2016 13:10:35 +0300 Subject: [PATCH] bug fix #139 --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 2 +- .../PascalABCParserNewSaushkin/ABCPascal.cs | 2 +- .../ABCPascalYacc.cs | 8 ++++---- Parsers/PascalABCParserNewSaushkin/PABC.tags | 2 -- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- TreeConverter/TreeRealization/generics.cs | 18 ++++++++++++------ bin/Lib/PABCRtl.dll | Bin 504320 -> 504320 bytes 8 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 9aa91f9d5..97340dcef 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "1"; public const string Build = "0"; - public const string Revision = "1223"; + public const string Revision = "1227"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 25594fb27..f07a66552 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %COREVERSION%=0 -%REVISION%=1223 +%REVISION%=1227 %MINOR%=1 %MAJOR%=3 diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 3ff6089e6..fb9605e50 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -2,7 +2,7 @@ // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 // Machine: SSM -// DateTime: 18.04.2016 14:09:33 +// DateTime: 19.04.2016 1:30:33 // UserName: ????????? // GPLEX input file // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index b909af5e7..19f1fd16d 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,9 +2,9 @@ // GPPG version 1.3.6 // Machine: SSM -// DateTime: 18.04.2016 14:09:33 +// DateTime: 19.04.2016 1:30:34 // UserName: ????????? -// Input file +// Input file // options: no-lines gplex @@ -56,7 +56,7 @@ public abstract class ScanBase : AbstractScanner { - // Verbatim content from ABCPascal.y + // Verbatim content from D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y // ��� ���������� ����������� � ����� GPPGParser, �������������� ����� ������, ������������ �������� gppg public syntax_tree_node root; // �������� ���� ��������������� ������ @@ -68,7 +68,7 @@ public partial class GPPGParser: ShiftReduceParser scanner) : base(scanner) { } - // End verbatim content from ABCPascal.y + // End verbatim content from D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y #pragma warning disable 649 private static Dictionary aliasses; diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.tags b/Parsers/PascalABCParserNewSaushkin/PABC.tags index 3261da1fb..a628afc80 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.tags +++ b/Parsers/PascalABCParserNewSaushkin/PABC.tags @@ -190,7 +190,6 @@ - @@ -331,7 +330,6 @@ - diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 0baa94258..9cc8c5ae2 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.1.0.1223' +!define VERSION '3.1.0.1227' diff --git a/TreeConverter/TreeRealization/generics.cs b/TreeConverter/TreeRealization/generics.cs index 265e70f4a..869909526 100644 --- a/TreeConverter/TreeRealization/generics.cs +++ b/TreeConverter/TreeRealization/generics.cs @@ -704,12 +704,18 @@ namespace PascalABCCompiler.TreeRealization { result = false; } - else - if (!DeduceInstanceTypes(formal_delegate.return_value_type, - (type_node)((lambda_inferred_type)lambda_syntax_node.return_type).real_type, - deduced, nils)) //Выводим дженерик-параметры после того как вычислили тип возвращаемого значения - { - result = false; + else + { + if (formal_delegate.return_value_type==null) // SSM 19/04/16 - эта проверка в связи с падением при передаче функции вместо процедуры в качестве функционального параметра: a.Foreach(x->1) + { + result = false; + } + else if (!DeduceInstanceTypes(formal_delegate.return_value_type, + (type_node)((lambda_inferred_type)lambda_syntax_node.return_type).real_type, + deduced, nils)) //Выводим дженерик-параметры после того как вычислили тип возвращаемого значения + { + result = false; + } } } } diff --git a/bin/Lib/PABCRtl.dll b/bin/Lib/PABCRtl.dll index 273de3327e507e3d84bbfb3c09990d7fe7e14542..5630533152de9b5072c5c1e5633824d1cc1f34fe 100644 GIT binary patch delta 235 zcmVFus3Fwg(?&lCnBT^Ws#tkx|g=weyiF7dsUI~m@(2E&AqxGRb_Ce zYpJn>;Q#`QMmXN{oJzXkaJN{hwyU;J-kBWOtA7vu=$lQ_5JOWc+Z3C&(i&=w2wC3p z;=+Z~dgGs4UMD&Mb%#rs1BXkP1cytQ1-DC>1}SC`xemZil2F%9hIs=a#gB^aw}k!% l*sudZU=^2NuLl_rjq*Rh%5T9#ut2Uf2MmkYw}`I?cmkQ+ZkYf8 delta 235 zcmVB!G~3*pjm$Nma@MyI&hSm8qJIP)USK%XlIlU{%YbDv{cJM$gW&m46Fh-= zOhRPYoNbW0r)(1eT!%}T1BXkP1cytQ1-DC>1}SC`_I&re)d>VegJ1j~ucM)Kw}k!% l*sue_#}t=euLl_ril_^}AI^wGh{?EZl3cdNw}`I?cmi;tbNv7S