mirror of https://github.com/mgba-emu/mgba.git
Scripting: Add faux "NUL" type for type matching
This commit is contained in:
parent
004f68496f
commit
5c0bd1b245
|
@ -38,6 +38,7 @@ CXX_GUARD_START
|
||||||
#define mSCRIPT_TYPE_C_TABLE struct Table*
|
#define mSCRIPT_TYPE_C_TABLE struct Table*
|
||||||
#define mSCRIPT_TYPE_C_WRAPPER struct mScriptValue*
|
#define mSCRIPT_TYPE_C_WRAPPER struct mScriptValue*
|
||||||
#define mSCRIPT_TYPE_C_WEAKREF uint32_t
|
#define mSCRIPT_TYPE_C_WEAKREF uint32_t
|
||||||
|
#define mSCRIPT_TYPE_C_NUL void*
|
||||||
#define mSCRIPT_TYPE_C_S(STRUCT) struct STRUCT*
|
#define mSCRIPT_TYPE_C_S(STRUCT) struct STRUCT*
|
||||||
#define mSCRIPT_TYPE_C_CS(STRUCT) const struct STRUCT*
|
#define mSCRIPT_TYPE_C_CS(STRUCT) const struct STRUCT*
|
||||||
#define mSCRIPT_TYPE_C_PS(X) void
|
#define mSCRIPT_TYPE_C_PS(X) void
|
||||||
|
@ -66,6 +67,7 @@ CXX_GUARD_START
|
||||||
#define mSCRIPT_TYPE_FIELD_TABLE table
|
#define mSCRIPT_TYPE_FIELD_TABLE table
|
||||||
#define mSCRIPT_TYPE_FIELD_WRAPPER opaque
|
#define mSCRIPT_TYPE_FIELD_WRAPPER opaque
|
||||||
#define mSCRIPT_TYPE_FIELD_WEAKREF u32
|
#define mSCRIPT_TYPE_FIELD_WEAKREF u32
|
||||||
|
#define mSCRIPT_TYPE_FIELD_NUL opaque
|
||||||
#define mSCRIPT_TYPE_FIELD_S(STRUCT) opaque
|
#define mSCRIPT_TYPE_FIELD_S(STRUCT) opaque
|
||||||
#define mSCRIPT_TYPE_FIELD_CS(STRUCT) copaque
|
#define mSCRIPT_TYPE_FIELD_CS(STRUCT) copaque
|
||||||
#define mSCRIPT_TYPE_FIELD_PS(STRUCT) opaque
|
#define mSCRIPT_TYPE_FIELD_PS(STRUCT) opaque
|
||||||
|
@ -94,6 +96,7 @@ CXX_GUARD_START
|
||||||
#define mSCRIPT_TYPE_MS_TABLE (&mSTTable)
|
#define mSCRIPT_TYPE_MS_TABLE (&mSTTable)
|
||||||
#define mSCRIPT_TYPE_MS_WRAPPER (&mSTWrapper)
|
#define mSCRIPT_TYPE_MS_WRAPPER (&mSTWrapper)
|
||||||
#define mSCRIPT_TYPE_MS_WEAKREF (&mSTWeakref)
|
#define mSCRIPT_TYPE_MS_WEAKREF (&mSTWeakref)
|
||||||
|
#define mSCRIPT_TYPE_MS_NUL mSCRIPT_TYPE_MS_VOID
|
||||||
#define mSCRIPT_TYPE_MS_S(STRUCT) (&mSTStruct_ ## STRUCT)
|
#define mSCRIPT_TYPE_MS_S(STRUCT) (&mSTStruct_ ## STRUCT)
|
||||||
#define mSCRIPT_TYPE_MS_CS(STRUCT) (&mSTStructConst_ ## STRUCT)
|
#define mSCRIPT_TYPE_MS_CS(STRUCT) (&mSTStructConst_ ## STRUCT)
|
||||||
#define mSCRIPT_TYPE_MS_PS(STRUCT) (&mSTStructPtr_ ## STRUCT)
|
#define mSCRIPT_TYPE_MS_PS(STRUCT) (&mSTStructPtr_ ## STRUCT)
|
||||||
|
@ -123,6 +126,7 @@ CXX_GUARD_START
|
||||||
#define mSCRIPT_TYPE_CMP_TABLE(TYPE) mSCRIPT_TYPE_CMP_GENERIC(mSCRIPT_TYPE_MS_TABLE, TYPE)
|
#define mSCRIPT_TYPE_CMP_TABLE(TYPE) mSCRIPT_TYPE_CMP_GENERIC(mSCRIPT_TYPE_MS_TABLE, TYPE)
|
||||||
#define mSCRIPT_TYPE_CMP_PTR(TYPE) ((TYPE)->base >= mSCRIPT_TYPE_OPAQUE)
|
#define mSCRIPT_TYPE_CMP_PTR(TYPE) ((TYPE)->base >= mSCRIPT_TYPE_OPAQUE)
|
||||||
#define mSCRIPT_TYPE_CMP_WRAPPER(TYPE) (true)
|
#define mSCRIPT_TYPE_CMP_WRAPPER(TYPE) (true)
|
||||||
|
#define mSCRIPT_TYPE_CMP_NUL(TYPE) mSCRIPT_TYPE_CMP_GENERIC(mSCRIPT_TYPE_MS_VOID, TYPE)
|
||||||
#define mSCRIPT_TYPE_CMP_S(STRUCT) mSCRIPT_TYPE_MS_S(STRUCT)->name == _mSCRIPT_FIELD_NAME
|
#define mSCRIPT_TYPE_CMP_S(STRUCT) mSCRIPT_TYPE_MS_S(STRUCT)->name == _mSCRIPT_FIELD_NAME
|
||||||
#define mSCRIPT_TYPE_CMP_CS(STRUCT) mSCRIPT_TYPE_MS_CS(STRUCT)->name == _mSCRIPT_FIELD_NAME
|
#define mSCRIPT_TYPE_CMP_CS(STRUCT) mSCRIPT_TYPE_MS_CS(STRUCT)->name == _mSCRIPT_FIELD_NAME
|
||||||
#define mSCRIPT_TYPE_CMP_WSTR(TYPE) (mSCRIPT_TYPE_CMP_GENERIC(mSCRIPT_TYPE_MS_WSTR, TYPE))
|
#define mSCRIPT_TYPE_CMP_WSTR(TYPE) (mSCRIPT_TYPE_CMP_GENERIC(mSCRIPT_TYPE_MS_WSTR, TYPE))
|
||||||
|
|
Loading…
Reference in New Issue