You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TRACE_OBJ, MKOBJ, SET_RO_PROP_V, SET_RO_PROP2, SET_RO_PROP, SET_PROP_FUNC, SET_METHOD
По этим макросам я написал комментарии в internal.h.
По поводу properties: read-only property я реализовал как функцию которую можно установить макросом SET_PROP_FUNC. Но честно говоря мне не очень нравится этот подход. Такую функцию нельзя использовать как setter, а только как getter. Можно подправить парсер и при присваивании проверять, не присваивается ли значение атрибуту которое на самом деле такая property function, и если да, вызвать функцию с аргументами. Но можно придумать и какой-то другой вариант. Например, в каждом объекте тупо добавлять такие атрибуты - но потом за ними придется следить (например строка меняется - нужно изменить атрибут length и тп).
Про флаги: да, мне кажется битовые поля удобнее флагов.
Только зачем их заворачивать в union? Не проще просто
По поводу SET_PROP_FUNC. Я думаю есть резон подправить парсер чтобы устанавливаемая этим макросом функция работала как setter, и как getter. А является ли property read-only или нет можно определять кодом функции. И не надо будет ничего парсером отслеживать.
TRACE_OBJ, MKOBJ, SET_RO_PROP_V, SET_RO_PROP2, SET_RO_PROP, SET_PROP_FUNC, SET_METHOD
По этим макросам я написал комментарии в
internal.h
.По поводу properties: read-only property я реализовал как функцию которую можно установить макросом
SET_PROP_FUNC
. Но честно говоря мне не очень нравится этот подход. Такую функцию нельзя использовать как setter, а только как getter. Можно подправить парсер и при присваивании проверять, не присваивается ли значение атрибуту которое на самом деле такая property function, и если да, вызвать функцию с аргументами. Но можно придумать и какой-то другой вариант. Например, в каждом объекте тупо добавлять такие атрибуты - но потом за ними придется следить (например строка меняется - нужно изменить атрибутlength
и тп).Про флаги: да, мне кажется битовые поля удобнее флагов.
Только зачем их заворачивать в
union
? Не проще простоThe text was updated successfully, but these errors were encountered: