mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-03 12:29:25 +01:00
change is that it is now also allowed to specify an external name for
formal external class definitions, but if they are later mixed with
regular class definitions the external names have to match.
o because the "external" status of methods is now set while parsing the
class rather than afterwards, some procdir compatibility checks had to
be inlined because they only have to be performed for
* also adapted the syntax for external cppclasses in the same way
* fixed return type of NSObject.retainCount and NSObject.hash
(NSUInteger instead of cint)
* moved "patches" directory from cocoaint/src to cocoaint/utils/cocoa-skel
so they are used by the conversion script when re-parsing the headers
* updated Objective-C header parser script to
o use the new external class syntax
o not write inheritance information for root classes (NSObject, NSProxy)
o use internal translation tables for some conflicting method names that
are named specially in objcbase.pp
and updated parsed headers
* fixed rtl/inc/objcbase.pp and tests to conform to the new external class
syntax
git-svn-id: trunk@16684 -
29 lines
493 B
ObjectPascal
29 lines
493 B
ObjectPascal
{ %fail }
|
|
{ %opt=-vh -Seh }
|
|
{ %target=darwin }
|
|
{ %cpu=powerpc,powerpc64,i386,x86_64,arm }
|
|
|
|
{ Written by Jonas Maebe in 2009, released into the public domain }
|
|
|
|
{$modeswitch objectivec1}
|
|
|
|
type
|
|
{ should produce a hint that ta does not automatically derive from any
|
|
other class }
|
|
ta = objcclass external
|
|
end;
|
|
|
|
var
|
|
a: ta;
|
|
b: nsobject;
|
|
c: id;
|
|
begin
|
|
{ avoid hints about unused types/variables/units }
|
|
a:=nil;
|
|
if (a<>nil) then
|
|
exit;
|
|
c:=nil;
|
|
b:=c;
|
|
b.isEqual_(b);
|
|
end.
|