bug fix #1046
This commit is contained in:
miks1965 2018-08-20 01:29:17 +03:00
parent 79585149f3
commit b3d5ec894f
5 changed files with 9 additions and 6 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 = "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;

View file

@ -1,4 +1,4 @@
%COREVERSION%=0
%REVISION%=1753
%MINOR%=4
%REVISION%=1754
%COREVERSION%=0
%MAJOR%=3

View file

@ -1 +1 @@
!define VERSION '3.4.0.1753'
!define VERSION '3.4.0.1754'

View file

@ -1720,7 +1720,7 @@ namespace PascalABCCompiler.TreeConverter
}
//Первый параметр - выходной. Он содержит выражения с необходимыми преобразованиями типов.
public function_node select_function(expressions_list parameters, List<SymbolInfo> functions, location loc, List<SyntaxTree.expression> syntax_nodes_parameters = null)
public function_node select_function(expressions_list parameters, List<SymbolInfo> functions, location loc, List<SyntaxTree.expression> 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)
{

View file

@ -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;