From bba132bd5dbe24a770e068d6f0b6686cb83c72b9 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Wed, 22 Jan 2025 09:14:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D1=83=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 +-- Localization/DefaultLang.resources | Bin 102037 -> 102244 bytes Release/pabcversion.txt | 2 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- TestSuite/CompilationSamples/PABCSystem.pas | 2 +- .../convertion_data_and_alghoritms.cs | 32 ++++++++++++++++++ .../TreeConversion/syntax_tree_visitor.cs | 2 +- 8 files changed, 39 insertions(+), 7 deletions(-) diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 75e197dfa..f88dbdd4f 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 = "10"; public const string Build = "2"; - public const string Revision = "3596"; + public const string Revision = "3597"; 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 bd7d56bf1..8cc06586a 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=2 -%REVISION%=3596 %MINOR%=10 +%REVISION%=3597 +%COREVERSION%=2 %MAJOR%=3 diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index 3a7dc55fd4819149f25fba0007d390d4d8dee6da..a43b04c94a0905098a13b408d974ecb27d88b4db 100644 GIT binary patch delta 219 zcmbO_m+i?swh0fI8u~Uq`s-(xnx0u)l3L`Lm*SkCS5lOp6OdDyo|&hYl32par5X_A z>gE}tYRk)|uO9?es*sqMq5xGqIgnAJKFHPGGdRRGDBjV}CEnTJFC@s{CqBR@)ZNoB zo|ntd(bv`Xz@ty^KD>DT;M!OlUR0U@6Le#jD53Xi_Nd!q36slub*@87+C k`}C~>FPEEtkT0eQyj)-hmFAUX=B743_22%~pK*g708M9O6#xJL delta 24 gcmaDdk8SE)wh0fIHui3O^w+O>UBLEr0gT)10HCT2dH?_b diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index b8a44a2c0..bc7ffd4b8 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.10.2.3596 +3.10.2.3597 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index c917b3c22..82ee1e15e 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.10.2.3596' +!define VERSION '3.10.2.3597' diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index 5e6562049..a544854a4 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -11587,7 +11587,7 @@ begin end; end; -/// Превращает последовательность в последовательность n-ок соседних элементов +/// Превращает последовательность в последовательность массивов, содержащих n соседних элементов function Nwise(Self: sequence of T; n: integer): sequence of array of T; extensionmethod; begin var chunk := new Queue(n); diff --git a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs index f2149d289..d38a59549 100644 --- a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs +++ b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs @@ -1207,6 +1207,38 @@ namespace PascalABCCompiler.TreeConverter } else { + // SSM 20/01/25 - Tuple -> Tuple + /*if (formal_param_type.original_generic != null + && formal_param_type.original_generic.BaseFullName.StartsWith("System.Tuple`") + && factparams[i].type.original_generic != null + && factparams[i].type.original_generic.BaseFullName.StartsWith("System.Tuple`") + && formal_param_type.instance_params.Count == factparams[i].type.instance_params.Count + && factparams[i] is IFunctionCallNode fpf + && fpf.function.name == "Create") + { + expressions_list el = null; + function_node fn = null; + if (fpf is common_static_method_call fpf1) { + el = fpf1.parameters; + fn = fpf1.function_node; + } + else if (fpf is compiled_static_method_call fpf2) { + el = fpf2.parameters; + fn = fpf2.function_node; + } + var ccc = syntax_tree_visitor.create_constructor_call(formal_param_type, + el, factparams[i].location); + //factparams[i] = ccc; + possible_type_convertions ptci = new possible_type_convertions(); + var ttttt = (ccc as compiled_constructor_call).function_node; + ptci.first = new type_conversion(ttttt); + ptci.second = null; + ptci.from = factparams[i].type; + ptci.to = formal_param_type; + tc.AddElement(ptci); + return tc; + }*/ + //issue #2161 - SSM 12.03.2020 //issue #348 if ((formal_param_type == SystemLibrary.SystemLibrary.object_type || formal_param_type.IsDelegate) && factparams[i].type is delegated_methods) diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 91fc72442..d0dc5755a 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -19807,7 +19807,7 @@ namespace PascalABCCompiler.TreeConverter return adrv; } - private base_function_call create_constructor_call(type_node tn, expressions_list exprs, location loc, Tuple> lambdas_info = null, bool inherited_call=false) + public base_function_call create_constructor_call(type_node tn, expressions_list exprs, location loc, Tuple> lambdas_info = null, bool inherited_call=false) { if (tn.IsInterface) {