From b3d5ec894f6ae981c352b11367fc51a96b59cb2c Mon Sep 17 00:00:00 2001 From: miks1965 Date: Mon, 20 Aug 2018 01:29:17 +0300 Subject: [PATCH] bug fix #1048 bug fix #1046 --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 ++-- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- .../TreeConversion/convertion_data_and_alghoritms.cs | 5 ++++- TreeConverter/TreeConversion/syntax_tree_visitor.cs | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 8f02ae8b0..0d6cdb5fa 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 = "4"; public const string Build = "0"; - public const string Revision = "1753"; + public const string Revision = "1754"; 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 707458336..fa103ce53 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=0 -%REVISION%=1753 %MINOR%=4 +%REVISION%=1754 +%COREVERSION%=0 %MAJOR%=3 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 21b1c6952..2f10a832d 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.4.0.1753' +!define VERSION '3.4.0.1754' diff --git a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs index d0cc8e212..8fadf3a43 100644 --- a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs +++ b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs @@ -1720,7 +1720,7 @@ namespace PascalABCCompiler.TreeConverter } //Первый параметр - выходной. Он содержит выражения с необходимыми преобразованиями типов. - public function_node select_function(expressions_list parameters, List functions, location loc, List syntax_nodes_parameters = null) + public function_node select_function(expressions_list parameters, List functions, location loc, List syntax_nodes_parameters = null, bool only_from_not_extensions = false) { if (functions == null) { @@ -1738,6 +1738,9 @@ namespace PascalABCCompiler.TreeConverter foreach (SymbolInfo function in functions) { + // В режиме only_from_not_extensions пропускать все extensions + if (only_from_not_extensions && (function.sym_info is function_node) && (function.sym_info as function_node).is_extension_method) + continue; #if (DEBUG) if (function.sym_info.general_node_type != general_node_type.function_node && function.sym_info.general_node_type != general_node_type.property_node) { diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index c7bae182e..04a36a9b6 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -5435,7 +5435,7 @@ namespace PascalABCCompiler.TreeConverter function_node tmp_fn = fn; exprs.remove_at(0); sil = tmp_sil; - fn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc, syntax_nodes_parameters); + fn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc, syntax_nodes_parameters,true); if (fn == null) { fn = tmp_fn;