theLib 10.0
Loading...
Searching...
No Matches
libmyoox_private_mox.h
Go to the documentation of this file.
1
9#pragma once
10
11#include <tcl.h>
12#include "libmyoox_mox.h"
13#include "debug_mox.h"
14#include "rl_mox.h"
15
16#define MOX_EXTERN __attribute__ ((visibility("default")))
17#define MOX_USE_OBJ_PRINTF 1
18
19#define MOX_SETUP_hdl_static \
20 MOX_UNUSED int __skip=1; \
21 MOX_UNUSED MOX_RT_T moxrt = clientData; \
22
23// printAry2(__func__,objc,objv)
24
25mox_inline MOX_STRN NS(_InspectI_direct) ( MOX_OBJ_T o )
26{
27 static __thread char buf[256]; buf[0] = '\0';
28 if (o == NULL) {
29 snprintf(buf,256,"Inspect: NULL");
30 } else {
31 snprintf(buf,256,"Inspect: %-30s [ref=%i, typ=%-20s, prt1=%-10p, prt2=%-10p]",
32 o->bytes, o->refCount, o->typePtr ? o->typePtr->name : "ukn",
33 o->internalRep.twoPtrValue.ptr1, o->internalRep.twoPtrValue.ptr2);
34 }
35 return buf;
36};
37
38#define printOther(__ptr) do { \
39 Var *_ptr = __ptr; \
40 printV(#__ptr ": %p," , _ptr->value.objPtr); \
41 printV(" | TclIsVarScalar=%d, TclIsVarLink=%d, TclIsVarArray=%d, TclIsVarUndefined=%d", \
42 TclIsVarScalar(_ptr), TclIsVarLink(_ptr), TclIsVarArray(_ptr), \
43 TclIsVarUndefined(_ptr)); \
44 printV(" | TclIsVarArrayElement=%d, TclIsVarTemporary=%d, TclIsVarArgument=%d, TclIsVarResolved=%d", \
45 TclIsVarArrayElement(_ptr), TclIsVarTemporary(_ptr), TclIsVarArgument(_ptr), \
46 TclIsVarResolved(_ptr)); \
47 printV(" | TclIsVarNamespaceVar=%d", \
48 TclIsVarNamespaceVar(_ptr)); \
49} while (0)
50
51// ====================================================================================================================
52
53#define STR2VAL(str) Tcl_NewStringObj((MOX_STRN)str,-1)
54
55#define VAL2STR(val) Tcl_GetString(val)
56#define VAL2SELF(val) (val)
57#define VAL2CLASS(val) (val)
58
tag: nhi1-release-250425
tag: nhi1-release-250425
#define mox_inline
#define NS(n)
Tcl_Obj * MOX_OBJ_T
const char * MOX_STRN
tag: nhi1-release-250425