This commit is contained in:
blueloveTH 2023-09-29 15:19:23 +08:00
parent da7d30048b
commit bb5978da04

View File

@ -77,11 +77,11 @@ void _bind(VM* vm, PyObject* obj, const char* sig, Ret(T::*func)(Params...)){
#define PY_FIELD(T, NAME, REF, EXPR) \
vm->bind_property(type, NAME, \
[](VM* vm, ArgsView args){ \
T& self = _CAST(T&, args[0]); \
T& self = PK_OBJ_GET(T, args[0]); \
return VAR(self.REF()->EXPR); \
}, \
[](VM* vm, ArgsView args){ \
T& self = _CAST(T&, args[0]); \
T& self = PK_OBJ_GET(T, args[0]); \
self.REF()->EXPR = CAST(decltype(self.REF()->EXPR), args[1]); \
return vm->None; \
});
@ -89,14 +89,14 @@ void _bind(VM* vm, PyObject* obj, const char* sig, Ret(T::*func)(Params...)){
#define PY_READONLY_FIELD(T, NAME, REF, EXPR) \
vm->bind_property(type, NAME, \
[](VM* vm, ArgsView args){ \
T& self = _CAST(T&, args[0]); \
T& self = PK_OBJ_GET(T, args[0]); \
return VAR(self.REF()->EXPR); \
});
#define PY_PROPERTY(T, NAME, REF, FGET, FSET) \
vm->bind_property(type, NAME, \
[](VM* vm, ArgsView args){ \
T& self = _CAST(T&, args[0]); \
T& self = PK_OBJ_GET(T, args[0]); \
return VAR(self.REF()->FGET()); \
}, \
[](VM* vm, ArgsView args){ \
@ -109,7 +109,7 @@ void _bind(VM* vm, PyObject* obj, const char* sig, Ret(T::*func)(Params...)){
#define PY_READONLY_PROPERTY(T, NAME, REF, FGET) \
vm->bind_property(type, NAME, \
[](VM* vm, ArgsView args){ \
T& self = _CAST(T&, args[0]); \
T& self = PK_OBJ_GET(T, args[0]); \
return VAR(self.REF()->FGET()); \
});