text: 
  // metadoc Context copyright Steve Dekorte 2002
  // metadoc Context license 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:
  
          IO_METHOD(IoDuration, days);
  
  becomes:
  
          IoObject *IoDuration_days(IoContext *context);
  */
  
  #ifdef __cplusplus
  }
  #endif
  #endif
  