This commit is contained in:
Mikhalkovich Stanislav 2020-07-01 18:57:18 +03:00
parent 53ea696be7
commit 57e14c8ccc
6 changed files with 26 additions and 6 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "6";
public const string Build = "3";
public const string Revision = "2545";
public const string Revision = "2547";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=6
%REVISION%=2545
%REVISION%=2547
%COREVERSION%=3
%MAJOR%=3

View file

@ -1 +1 @@
3.6.3.2545
3.6.3.2547

View file

@ -1 +1 @@
!define VERSION '3.6.3.2545'
!define VERSION '3.6.3.2547'

20
TestSuite/LamIntSelf.pas Normal file
View file

@ -0,0 +1,20 @@
// #2173
type
I1 = interface
function f1(b: byte): ()->byte;
end;
t1<T> = class(I1)
public
function I1.f1(b: byte): ()->byte := ()->b;
function f2 := self; //Ошибка: Неизвестное имя 'self'
function f3 := default(T); //Ошибка: Неизвестное имя 'T'
end;
begin
var v := new t1<integer>;
Assert(v = v.f2);
Assert(v.f3 = 0);
var ii: I1 := v;
Assert(ii.f1(2)=2);
end.

View file

@ -12851,8 +12851,8 @@ namespace PascalABCCompiler.TreeConverter
{
if (_procedure_definition.proc_header.name != null)
{
if (_procedure_definition.proc_header.name.class_name == null)
{
if (_procedure_definition.proc_header.name.class_name == null || _procedure_definition.Parent is class_members) // SSM #2173 01/07/20 - добавка после || - озн, что это явное расширение интерфейса
{
must_visit_body = false;
context.is_order_independed_method_description = true;
}