#ifndef _extends #define _extends // Macros #include "stdlib.h" extern char * __ClassNames[]; // Includes #include typedef struct b{ unsigned short __classIndex; int propertyFromB; } b; void b_methodFromB( struct inherit * this ); typedef struct a{ unsigned short __classIndex; int propertyFromA; int propertyFromB; } a; void a_methodFromA( struct inherit * this ); void a_methodFromB( struct inherit * this ); typedef struct inherit{ unsigned short __classIndex; int propertyFromC; int propertyFromA; int propertyFromB; } inherit; void inherit_methodFromC( struct inherit * this ); void inherit_methodFromA( struct inherit * this ); void inherit_methodFromB( struct inherit * this ); typedef struct classA{ unsigned short __classIndex; int propertyFromC; } classA; void classA_methodFromC( struct inherit * this ); typedef struct classB{ unsigned short __classIndex; int propertyFromC; } classB; void classB_methodFromC( struct inherit * this ); b b_new( ); b * b_newPointer( ); a a_new( ); a * a_newPointer( ); inherit inherit_new( ); inherit * inherit_newPointer( ); classA classA_new( ); classA * classA_newPointer( ); classB classB_new( ); classB * classB_newPointer( ); #endif