Sha256: 1b24b1f102563a9a1adb86881094706e55976c2fdbb99fbfebf461a7a60c65b0

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

/*
 *  wax_instance.h
 *  Lua
 *
 *  Created by ProbablyInteractive on 5/18/09.
 *  Copyright 2009 Probably Interactive. All rights reserved.
 *
 */

#import <Foundation/Foundation.h>
#import <objc/runtime.h>
#import <objc/message.h>

#import "lua.h"

#define WAX_INSTANCE_METATABLE_NAME "wax.instance"

typedef struct _wax_instance_userdata {
    id instance;
    BOOL isClass;
    Class isSuper; // isSuper not only stores whether the class is a super, but it also contains the value of the next superClass.
	BOOL actAsSuper; // It only acts like a super once, when it is called for the first time.
} wax_instance_userdata;

int luaopen_wax_instance(lua_State *L);

wax_instance_userdata *wax_instance_create(lua_State *L, id instance, BOOL isClass);
wax_instance_userdata *wax_instance_createSuper(lua_State *L, wax_instance_userdata *instanceUserdata);
void wax_instance_pushUserdataTable(lua_State *L);
void wax_instance_pushStrongUserdataTable(lua_State *L);

BOOL wax_instance_pushFunction(lua_State *L, id self, SEL selector);
void wax_instance_pushUserdata(lua_State *L, id object);
BOOL wax_instance_isWaxClass(id instance);

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
candle-0.0.7 lib/candle/generators/lua/wax/lib/wax_instance.h
candle-0.0.6 lib/candle/generators/lua/wax/lib/wax_instance.h
candle-0.0.4 lib/candle/generators/lua/wax/lib/wax_instance.h
candle-0.0.3 lib/candle/generators/lua/wax/lib/wax_instance.h
candle-0.0.2 lib/candle/generators/lua/wax/lib/wax_instance.h
candle-0.0.1 lib/candle/generators/lua/wax/lib/wax_instance.h