mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 12:09:55 +02:00
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.
|