mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 17:28:14 +02:00

--- Merging r42815 through r42817 into '.': U tests/test/tobjc34.pp U tests/test/tobjc36.pp U tests/test/tobjcl2.pp A tests/test/units/cocoaall A tests/test/units/cocoaall/tw35994.pp U compiler/defcmp.pas U compiler/ncal.pas C compiler/pdecl.pas C compiler/symconst.pas C compiler/utils/ppuutils/ppudump.pp U compiler/symtable.pas --- Recording mergeinfo for merge of r42815 through r42817 into '.': U . --- Merging r42857 into '.': G compiler/symtable.pas --- Recording mergeinfo for merge of r42857 into '.': G . git-svn-id: branches/fixes_3_2@42883 -
55 lines
1.0 KiB
ObjectPascal
55 lines
1.0 KiB
ObjectPascal
{ %target=darwin }
|
|
{ %cpu=powerpc,powerpc64,i386,x86_64,arm,aarch64 }
|
|
|
|
{ Written by Jonas Maebe in 2010, released into the public domain }
|
|
|
|
{$mode objfpc}
|
|
{$modeswitch objectivec1}
|
|
|
|
type
|
|
MyOverride = objcclass(NSObject)
|
|
class procedure testClassOverride; message 'testClassOverride';
|
|
end;
|
|
|
|
MyOverride2 = objcclass(MyOverride)
|
|
class procedure testClassOverride; override;
|
|
end;
|
|
|
|
tmyoverrideclass = class of MyOverride;
|
|
|
|
var
|
|
selfshouldbe: tmyoverrideclass;
|
|
|
|
class procedure MyOverride.testClassOverride;
|
|
begin
|
|
if (self<>selfshouldbe) then
|
|
halt(20);
|
|
|
|
writeln('MyOverride.testClassOverride');
|
|
end;
|
|
|
|
class procedure MyOverride2.testClassOverride;
|
|
begin
|
|
if (self<>selfshouldbe) then
|
|
halt(21);
|
|
|
|
writeln('MyOverride2.testClassOverride');
|
|
end;
|
|
|
|
var
|
|
a: MyOverride;
|
|
classclass: tmyoverrideclass;
|
|
begin
|
|
classclass:=MyOverride;
|
|
a:=classclass.alloc.init;
|
|
selfshouldbe:=MyOverride;
|
|
a.testClassOverride;
|
|
a.release;
|
|
|
|
classclass:=MyOverride2;
|
|
a:=classclass.alloc.init;
|
|
selfshouldbe:=MyOverride2;
|
|
a.testClassOverride;
|
|
a.release;
|
|
end.
|