aboutsummaryrefslogtreecommitdiff
path: root/tests/Introspection.m
blob: dd6a061651cdb10c5332a43ab97b0d4c1617f999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <Paradox/Core.h>
#include <stdio.h>

@interface MyClass : PXObject
- (void)sayHello;
@end

@implementation MyClass

- (void)sayHello {
	printf("Hello!\n");
}

@end

int main(void) {
	printf("Object introspection test\n");
	MyClass *instance = [MyClass new];
	printf("class = %s\n", class_getName([instance class]));
	printf("superclass = %s\n", class_getName([instance superclass]));
	printf("className = %s\n", [instance className]);
	printf("isMemberOfClass:MyClass = %s\n", [instance isMemberOfClass:[MyClass class]] ? "YES" : "NO");
	printf("isMemberOfClass:PXObject = %s\n", [instance isMemberOfClass:[PXObject class]] ? "YES" : "NO");
	printf("isKindOfClass:MyClass = %s\n", [instance isKindOfClass:[MyClass class]] ? "YES" : "NO");
	printf("isKindOfClass:PXObject = %s\n", [instance isKindOfClass:[PXObject class]] ? "YES" : "NO");

	[instance release];
	printf("test complete\n");
}