mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-31 06:42:38 +02:00

the use of Objective-C 1.0 constructs. Because it is a mode switch, it can be used cumulatively with every syntax mode. Note that a {$mode xxx} statement resets all mode switches as well, so you cannot use the -Mobjectivec1 variant if you have such a statement in a unit. This modeswitch is currently only enabled for Darwin/PowerPC and Darwin/i386, as the backend support is not yet implemented for other platforms. + implemented selector() statement that can be used to create an Objective-C selector for the message with the specified *constant* name (in the future, it will also work for Objective-C method identifiers) + added SEL type to the system unit (the selector() statement returns it) + added all Objective-C segments to the assembler writers + (currently mostly dummy) objc1 unit that is automatically included if the {$modeswitch objectivec1} statement is used + some tests for the selector() statement git-svn-id: trunk@12870 -
34 lines
1.3 KiB
PHP
34 lines
1.3 KiB
PHP
{
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2009 by the Free Pascal development team
|
|
|
|
This unit contains Objective-C compatibility stuff.
|
|
|
|
Additionally this file defines the interface of TObject, providing
|
|
their basic implementation in the corresponding objpas.inc file.
|
|
|
|
WARNING: IF YOU CHANGE SOME OF THESE INTERNAL RECORDS, MAKE SURE
|
|
TO MODIFY THE COMPILER AND OBJPAS.INC ACCORDINGLY, OTHERWISE
|
|
THIS WILL LEAD TO CRASHES IN THE RESULTING COMPILER AND/OR RTL.
|
|
|
|
IN PARTICULAR, THE IMPLEMENTATION PART OF THIS INCLUDE FILE,
|
|
OBJPAS.INC, USES SOME HARDCODED RECORD MEMBER OFFSETS.
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
{*****************************************************************************
|
|
Basic Types/constants
|
|
*****************************************************************************}
|
|
|
|
type
|
|
{ make sel assignment-incompatible with other typed pointers }
|
|
_fpc_objc_sel_type = record end;
|
|
SEL = ^_fpc_objc_sel_type;
|