Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/objc/execute/formal_protocol-2.m @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Contributed by Nicola Pero - Fri Mar 9 21:35:47 CET 2001 */ #include <stdlib.h> #include "../../objc-obj-c++-shared/TestsuiteObject.m" /* Test defining a protocol, a class adopting it, and using an object of type `id <protocol>'. */ @protocol Enabling - (BOOL) isEnabled; - (void) setEnabled: (BOOL)flag; @end @interface Feature : TestsuiteObject <Enabling> { const char *name; BOOL isEnabled; } @end @implementation Feature - (BOOL) isEnabled { return isEnabled; } - (void) setEnabled: (BOOL)flag { isEnabled = flag; } @end int main (void) { id <Enabling> object; object = [Feature new]; [object setEnabled: YES]; if (![object isEnabled]) { abort (); } return 0; }