From c533fc4dd29645af87f99e2881ae8cd7e2001313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BD=D0=B4=D0=B0=D1=80=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Sun, 16 Aug 2020 12:25:28 +0200 Subject: [PATCH] bug fix #2259 --- ReleaseGenerators/copyright.txt | 2 +- TestSuite/explicitinterface6.pas | 30 +++++++++++++++++++ .../TreeConversion/compilation_context.cs | 2 +- doc/License_en.txt | 2 +- doc/copyright.txt | 2 +- doc/license.txt | 2 +- 6 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 TestSuite/explicitinterface6.pas diff --git a/ReleaseGenerators/copyright.txt b/ReleaseGenerators/copyright.txt index 3a3f9f963..c1d3dc226 100644 --- a/ReleaseGenerators/copyright.txt +++ b/ReleaseGenerators/copyright.txt @@ -1 +1 @@ -Copyright (C) 2005-2018 by Ivan Bondarev, Stanislav Mikhalkovich \ No newline at end of file +Copyright (C) 2005-2020 by Ivan Bondarev, Stanislav Mikhalkovich \ No newline at end of file diff --git a/TestSuite/explicitinterface6.pas b/TestSuite/explicitinterface6.pas new file mode 100644 index 000000000..d9aa969ec --- /dev/null +++ b/TestSuite/explicitinterface6.pas @@ -0,0 +1,30 @@ +var a: integer; + +type + I1 = interface + + procedure p1(i: integer); + procedure p1(s: string); + + end; + + t1 = class(I1) + + public procedure I1.p1(i: integer); + begin + a := 1; + end; + public procedure I1.p1(s: string); + begin + a := 2; + end; + + end; + +begin + var o: I1 := new t1; + o.p1(2); + assert(a = 1); + o.p1(''); + assert(a = 2); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/compilation_context.cs b/TreeConverter/TreeConversion/compilation_context.cs index 400994795..e2a7ed123 100644 --- a/TreeConverter/TreeConversion/compilation_context.cs +++ b/TreeConverter/TreeConversion/compilation_context.cs @@ -2702,7 +2702,7 @@ namespace PascalABCCompiler.TreeConverter else { sil = tmp_si; - sil.RemoveRange(1, sil.Count() - 1); + //sil.RemoveRange(1, sil.Count() - 1); } } diff --git a/doc/License_en.txt b/doc/License_en.txt index d4ea23128..a8829d4c7 100644 --- a/doc/License_en.txt +++ b/doc/License_en.txt @@ -3,7 +3,7 @@ A copy of the GNU GPL is appended to this file. IMPORTANT PascalABC.NET LICENSE TERMS -Copyright (C) 2005-2019 by Ivan Bondarev, Stanislav Mikhalkovich +Copyright (C) 2005-2020 by Ivan Bondarev, Stanislav Mikhalkovich This program is free software; you may redistribute and/or modify it under the terms of the GNU LGPL version 3 with the clarifications and exceptions described below. PascalABC.NET can be linked with non-free modules and libraries. This condition is mainly concerned with possibility of adding foreign modules and libraries to PascalABC.NET, aimed at education. In particular, PascalABC.NET includes as a part PROGRAMMING TASKBOOK FOR PASCALABC.NET (in agreement with the author of this product), which is distributed under the terms of proprietary license (see \bin\PT4) diff --git a/doc/copyright.txt b/doc/copyright.txt index 9012b983a..c1d3dc226 100644 --- a/doc/copyright.txt +++ b/doc/copyright.txt @@ -1 +1 @@ -Copyright (C) 2005-2019 by Ivan Bondarev, Stanislav Mikhalkovich \ No newline at end of file +Copyright (C) 2005-2020 by Ivan Bondarev, Stanislav Mikhalkovich \ No newline at end of file diff --git a/doc/license.txt b/doc/license.txt index 1f90bc51b..ad6a51f95 100644 --- a/doc/license.txt +++ b/doc/license.txt @@ -3,7 +3,7 @@ ВАЖНЕЙШИЕ УСЛОВИЯ РАСПРОСТРАНЕНИЯ ПРОДУКТА PascalABC.NET -Copyright (C) 2005-2019 by Ivan Bondarev, Stanislav Mikhalkovich +Copyright (C) 2005-2020 by Ivan Bondarev, Stanislav Mikhalkovich Это программное обеспечение является свободным; вы можете распространять и/или модифицировать его на условиях GNU LGPL версии 3 с разъяснениями и исключениями, данными ниже.