Skip to content

Commit 406b22d

Browse files
committed
Delete VariantGetInternalPtr and VariantImplicitConvert.
Replace uses with `VariantInternalAccessor`.
1 parent f81287d commit 406b22d

File tree

9 files changed

+938
-975
lines changed

9 files changed

+938
-975
lines changed

core/variant/binder_common.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -531,27 +531,27 @@ void call_with_ptr_args_static_method(void (*p_method)(P...), const void **p_arg
531531

532532
template <typename T, typename... P>
533533
void call_with_validated_variant_args(Variant *base, void (T::*p_method)(P...), const Variant **p_args) {
534-
call_with_validated_variant_args_helper<T, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, BuildIndexSequence<sizeof...(P)>{});
534+
call_with_validated_variant_args_helper<T, P...>(&VariantInternalAccessor<T>::get(base), p_method, p_args, BuildIndexSequence<sizeof...(P)>{});
535535
}
536536

537537
template <typename T, typename R, typename... P>
538538
void call_with_validated_variant_args_ret(Variant *base, R (T::*p_method)(P...), const Variant **p_args, Variant *r_ret) {
539-
call_with_validated_variant_args_ret_helper<T, R, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
539+
call_with_validated_variant_args_ret_helper<T, R, P...>(&VariantInternalAccessor<T>::get(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
540540
}
541541

542542
template <typename T, typename R, typename... P>
543543
void call_with_validated_variant_args_retc(Variant *base, R (T::*p_method)(P...) const, const Variant **p_args, Variant *r_ret) {
544-
call_with_validated_variant_args_retc_helper<T, R, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
544+
call_with_validated_variant_args_retc_helper<T, R, P...>(&VariantInternalAccessor<T>::get(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
545545
}
546546

547547
template <typename T, typename... P>
548548
void call_with_validated_variant_args_static(Variant *base, void (*p_method)(T *, P...), const Variant **p_args) {
549-
call_with_validated_variant_args_static_helper<T, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, BuildIndexSequence<sizeof...(P)>{});
549+
call_with_validated_variant_args_static_helper<T, P...>(&VariantInternalAccessor<T>::get(base), p_method, p_args, BuildIndexSequence<sizeof...(P)>{});
550550
}
551551

552552
template <typename T, typename R, typename... P>
553553
void call_with_validated_variant_args_static_retc(Variant *base, R (*p_method)(T *, P...), const Variant **p_args, Variant *r_ret) {
554-
call_with_validated_variant_args_static_retc_helper<T, R, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
554+
call_with_validated_variant_args_static_retc_helper<T, R, P...>(&VariantInternalAccessor<T>::get(base), p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
555555
}
556556

557557
template <typename... P>

core/variant/variant.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,11 @@ class Variant {
174174
friend struct _VariantCall;
175175
friend class VariantInternal;
176176
template <typename>
177-
friend struct _VariantGetInternalPtrLocal;
177+
friend struct _VariantInternalAccessorLocal;
178178
template <typename>
179-
friend struct _VariantGetInternalPtrElsewhere;
179+
friend struct _VariantInternalAccessorElsewhere;
180180
template <typename>
181-
friend struct _VariantGetInternalPtrPackedArrayRef;
181+
friend struct _VariantInternalAccessorPackedArrayRef;
182182
// Variant takes 24 bytes when real_t is float, and 40 bytes if double.
183183
// It only allocates extra memory for AABB/Transform2D (24, 48 if double),
184184
// Basis/Transform3D (48, 96 if double), Projection (64, 128 if double),

core/variant/variant_call.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,58 +54,58 @@ static _FORCE_INLINE_ void vc_static_method_call(void (*method)(P...), const Var
5454

5555
template <typename R, typename T, typename... P>
5656
static _FORCE_INLINE_ void vc_method_call(R (T::*method)(P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
57-
call_with_variant_args_ret_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, r_ret, r_error, p_defvals);
57+
call_with_variant_args_ret_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, r_ret, r_error, p_defvals);
5858
}
5959

6060
template <typename R, typename T, typename... P>
6161
static _FORCE_INLINE_ void vc_method_call(R (T::*method)(P...) const, Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
62-
call_with_variant_args_retc_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, r_ret, r_error, p_defvals);
62+
call_with_variant_args_retc_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, r_ret, r_error, p_defvals);
6363
}
6464

6565
template <typename T, typename... P>
6666
static _FORCE_INLINE_ void vc_method_call(void (T::*method)(P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
6767
VariantInternal::clear(&r_ret);
68-
call_with_variant_args_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, r_error, p_defvals);
68+
call_with_variant_args_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, r_error, p_defvals);
6969
}
7070

7171
template <typename T, typename... P>
7272
static _FORCE_INLINE_ void vc_method_call(void (T::*method)(P...) const, Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
7373
VariantInternal::clear(&r_ret);
74-
call_with_variant_argsc_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, r_error, p_defvals);
74+
call_with_variant_argsc_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, r_error, p_defvals);
7575
}
7676

7777
template <typename From, typename R, typename T, typename... P>
7878
static _FORCE_INLINE_ void vc_convert_method_call(R (T::*method)(P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
79-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
79+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
8080
call_with_variant_args_ret_dv(&converted, method, p_args, p_argcount, r_ret, r_error, p_defvals);
8181
}
8282

8383
template <typename From, typename R, typename T, typename... P>
8484
static _FORCE_INLINE_ void vc_convert_method_call(R (T::*method)(P...) const, Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
85-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
85+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
8686
call_with_variant_args_retc_dv(&converted, method, p_args, p_argcount, r_ret, r_error, p_defvals);
8787
}
8888

8989
template <typename From, typename T, typename... P>
9090
static _FORCE_INLINE_ void vc_convert_method_call(void (T::*method)(P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
91-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
91+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
9292
call_with_variant_args_dv(&converted, method, p_args, p_argcount, r_error, p_defvals);
9393
}
9494

9595
template <typename From, typename T, typename... P>
9696
static _FORCE_INLINE_ void vc_convert_method_call(void (T::*method)(P...) const, Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
97-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
97+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
9898
call_with_variant_argsc_dv(&converted, method, p_args, p_argcount, r_error, p_defvals);
9999
}
100100

101101
template <typename R, typename T, typename... P>
102102
static _FORCE_INLINE_ void vc_method_call_static(R (*method)(T *, P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
103-
call_with_variant_args_retc_static_helper_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, r_ret, p_defvals, r_error);
103+
call_with_variant_args_retc_static_helper_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, r_ret, p_defvals, r_error);
104104
}
105105

106106
template <typename T, typename... P>
107107
static _FORCE_INLINE_ void vc_method_call_static(void (*method)(T *, P...), Variant *base, const Variant **p_args, int p_argcount, Variant &r_ret, const Vector<Variant> &p_defvals, Callable::CallError &r_error) {
108-
call_with_variant_args_static_helper_dv(VariantGetInternalPtr<T>::get_ptr(base), method, p_args, p_argcount, p_defvals, r_error);
108+
call_with_variant_args_static_helper_dv(&VariantInternalAccessor<T>::get(base), method, p_args, p_argcount, p_defvals, r_error);
109109
}
110110

111111
template <typename R, typename T, typename... P>
@@ -129,24 +129,24 @@ static _FORCE_INLINE_ void vc_validated_call(void (T::*method)(P...) const, Vari
129129

130130
template <typename From, typename R, typename T, typename... P>
131131
static _FORCE_INLINE_ void vc_convert_validated_call(R (T::*method)(P...), Variant *base, const Variant **p_args, Variant *r_ret) {
132-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
132+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
133133
call_with_validated_variant_args_ret_helper<T, R, P...>(&converted, method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
134134
}
135135

136136
template <typename From, typename R, typename T, typename... P>
137137
static _FORCE_INLINE_ void vc_convert_validated_call(R (T::*method)(P...) const, Variant *base, const Variant **p_args, Variant *r_ret) {
138-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
138+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
139139
call_with_validated_variant_args_retc_helper<T, R, P...>(&converted, method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
140140
}
141141
template <typename From, typename T, typename... P>
142142
static _FORCE_INLINE_ void vc_convert_validated_call(void (T::*method)(P...), Variant *base, const Variant **p_args, Variant *r_ret) {
143-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
143+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
144144
call_with_validated_variant_args_helper<T, P...>(&converted, method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
145145
}
146146

147147
template <typename From, typename T, typename... P>
148148
static _FORCE_INLINE_ void vc_convert_validated_call(void (T::*method)(P...) const, Variant *base, const Variant **p_args, Variant *r_ret) {
149-
T converted(static_cast<T>(*VariantGetInternalPtr<From>::get_ptr(base)));
149+
T converted(static_cast<T>(VariantInternalAccessor<From>::get(base)));
150150
call_with_validated_variant_argsc_helper<T, P...>(&converted, method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{});
151151
}
152152

@@ -1168,17 +1168,17 @@ struct _VariantCall {
11681168
}
11691169

11701170
static void func_Callable_call(Variant *v, const Variant **p_args, int p_argcount, Variant &r_ret, Callable::CallError &r_error) {
1171-
Callable *callable = VariantGetInternalPtr<Callable>::get_ptr(v);
1171+
Callable *callable = &VariantInternalAccessor<Callable>::get(v);
11721172
callable->callp(p_args, p_argcount, r_ret, r_error);
11731173
}
11741174

11751175
static void func_Callable_call_deferred(Variant *v, const Variant **p_args, int p_argcount, Variant &r_ret, Callable::CallError &r_error) {
1176-
Callable *callable = VariantGetInternalPtr<Callable>::get_ptr(v);
1176+
Callable *callable = &VariantInternalAccessor<Callable>::get(v);
11771177
callable->call_deferredp(p_args, p_argcount);
11781178
}
11791179

11801180
static void func_Callable_rpc(Variant *v, const Variant **p_args, int p_argcount, Variant &r_ret, Callable::CallError &r_error) {
1181-
Callable *callable = VariantGetInternalPtr<Callable>::get_ptr(v);
1181+
Callable *callable = &VariantInternalAccessor<Callable>::get(v);
11821182
callable->rpcp(0, p_args, p_argcount, r_error);
11831183
}
11841184

@@ -1191,13 +1191,13 @@ struct _VariantCall {
11911191
r_error.argument = 0;
11921192
r_error.expected = Variant::INT;
11931193
} else {
1194-
Callable *callable = VariantGetInternalPtr<Callable>::get_ptr(v);
1194+
Callable *callable = &VariantInternalAccessor<Callable>::get(v);
11951195
callable->rpcp(*p_args[0], &p_args[1], p_argcount - 1, r_error);
11961196
}
11971197
}
11981198

11991199
static void func_Callable_bind(Variant *v, const Variant **p_args, int p_argcount, Variant &r_ret, Callable::CallError &r_error) {
1200-
Callable *callable = VariantGetInternalPtr<Callable>::get_ptr(v);
1200+
Callable *callable = &VariantInternalAccessor<Callable>::get(v);
12011201
r_ret = callable->bindp(p_args, p_argcount);
12021202
}
12031203

@@ -1206,7 +1206,7 @@ struct _VariantCall {
12061206
}
12071207

12081208
static void func_Signal_emit(Variant *v, const Variant **p_args, int p_argcount, Variant &r_ret, Callable::CallError &r_error) {
1209-
Signal *signal = VariantGetInternalPtr<Signal>::get_ptr(v);
1209+
Signal *signal = &VariantInternalAccessor<Signal>::get(v);
12101210
signal->emit(p_args, p_argcount);
12111211
}
12121212

0 commit comments

Comments
 (0)