/*
docCopyright("Steve Dekorte", 2002)
docLicense("BSD revised")
*/

#ifndef IOCONTEXT_DEFINED 
#define IOCONTEXT_DEFINED 1

#include "IoObject_struct.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct
{
    void *self;       // activationContext
    void *locals;     // currentContext
    void *message;
    void *slotContext;
} IoContext;

#define IOCONTEXT(self, locals, message) ((IoContext *){self, locals, message})

/*

#define SELF	(context->self)
#define LOCALS	(context->locals)
#define MESSAGE (context->message)

example:

    IoObject *IoDuration_days(IoDuration *self, IoObject *locals, IoMessage *m);

becomes:

    IoObject *IoDuration_days(IoContext *context);
*/

#ifdef __cplusplus
}
#endif
#endif




syntax highlighted by Code2HTML, v. 0.9.1