From bc2130e0fc2b991e5fc3459cdcb4cc703a672825 Mon Sep 17 00:00:00 2001 From: heguokai <275503077@qq.com> Date: Mon, 7 Jul 2025 16:43:27 +0800 Subject: [PATCH 1/2] fixed for setSlot Signed-off-by: heguokai <275503077@qq.com> --- frameworks/ets/ani/include/sts_common.h | 18 +++++++++--------- frameworks/ets/ani/src/sts_common.cpp | 14 +++++++------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/frameworks/ets/ani/include/sts_common.h b/frameworks/ets/ani/include/sts_common.h index 8fc00d4e5..fd0cffaa7 100644 --- a/frameworks/ets/ani/include/sts_common.h +++ b/frameworks/ets/ani/include/sts_common.h @@ -46,7 +46,7 @@ ani_object ConvertArrayDoubleToAniObj(ani_env *env, const std::vector &values); // property -bool SetPropertyOptionalByBoolean(ani_env *env, ani_object object, const char *name, bool value); -bool SetPropertyOptionalByDouble(ani_env *env, ani_object object, const char *name, double value); -bool SetPropertyOptionalByString(ani_env *env, ani_object object, const char *name, const std::string value); -bool SetPropertyOptionalByInt(ani_env *env, ani_object object, const char *name, int32_t value); -bool SetPropertyByRef(ani_env *env, ani_object object, const char *name, ani_ref value); +bool SetPropertyOptionalByBoolean(ani_env *env, ani_object &object, const char *name, bool value); +bool SetPropertyOptionalByDouble(ani_env *env, ani_object &object, const char *name, double value); +bool SetPropertyOptionalByString(ani_env *env, ani_object &object, const char *name, const std::string value); +bool SetPropertyOptionalByInt(ani_env *env, ani_object &object, const char *name, int32_t value); +bool SetPropertyByRef(ani_env *env, ani_object &object, const char *name, ani_ref value); bool CreateClassObjByClassName(ani_env *env, const char *className, ani_class &cls, ani_object &outAniObj); @@ -87,7 +87,7 @@ inline ani_boolean BoolToAniBoolean(bool value) } template -static bool CallSetter(ani_env* env, ani_class cls, ani_object object, const char* propertyName, valueType value) +static bool CallSetter(ani_env* env, ani_class cls, ani_object &object, const char* propertyName, valueType value) { if (env == nullptr || cls == nullptr || object == nullptr) { return false; @@ -115,7 +115,7 @@ static bool CallSetter(ani_env* env, ani_class cls, ani_object object, const cha return true; } -[[maybe_unused]]static bool CallSetterNull(ani_env* env, ani_class cls, ani_object object, const char* propertyName) +[[maybe_unused]]static bool CallSetterNull(ani_env* env, ani_class cls, ani_object &object, const char* propertyName) { ani_ref nullRef = nullptr; ani_status status = env->GetNull(&nullRef); diff --git a/frameworks/ets/ani/src/sts_common.cpp b/frameworks/ets/ani/src/sts_common.cpp index e58fc37ac..600f23ec0 100644 --- a/frameworks/ets/ani/src/sts_common.cpp +++ b/frameworks/ets/ani/src/sts_common.cpp @@ -138,7 +138,7 @@ ani_status GetPropertyString(ani_env *env, ani_object obj, const char *name, } ani_status GetPropertyBool(ani_env *env, ani_object obj, const char *name, - ani_boolean isUndefined, bool outvalue) + ani_boolean isUndefined, bool &outvalue) { ANS_LOGD("GetPropertyBool start"); if (env == nullptr || obj == nullptr || name == nullptr) { @@ -559,7 +559,7 @@ ani_object ConvertArrayDoubleToAniObj(ani_env *env, const std::vector &values) { if (env == nullptr || cls == nullptr || object == nullptr || fieldName.empty()) { @@ -658,7 +658,7 @@ ani_object CreateInt(ani_env *env, int32_t value) return outObj; } -bool SetPropertyOptionalByBoolean(ani_env *env, ani_object object, const char *name, bool value) +bool SetPropertyOptionalByBoolean(ani_env *env, ani_object &object, const char *name, bool value) { ANS_LOGD("enter SetPropertyOptionalByBoolean"); if (env == nullptr || object == nullptr || name == nullptr) { @@ -673,7 +673,7 @@ bool SetPropertyOptionalByBoolean(ani_env *env, ani_object object, const char *n return SetPropertyByRef(env, object, name, boolObj); } -bool SetPropertyOptionalByDouble(ani_env *env, ani_object object, const char *name, double value) +bool SetPropertyOptionalByDouble(ani_env *env, ani_object &object, const char *name, double value) { ANS_LOGD("enter SetPropertyOptionalByDouble"); if (env == nullptr || object == nullptr || name == nullptr) { @@ -688,7 +688,7 @@ bool SetPropertyOptionalByDouble(ani_env *env, ani_object object, const char *na return SetPropertyByRef(env, object, name, doubleObj); } -bool SetPropertyOptionalByString(ani_env *env, ani_object object, const char *name, const std::string value) +bool SetPropertyOptionalByString(ani_env *env, ani_object &object, const char *name, const std::string value) { ANS_LOGD("enter SetPropertyOptionalByString"); if (env == nullptr || object == nullptr || name == nullptr) { @@ -708,7 +708,7 @@ bool SetPropertyOptionalByString(ani_env *env, ani_object object, const char *na return SetPropertyByRef(env, object, name, static_cast(stringObj)); } -bool SetPropertyOptionalByInt(ani_env *env, ani_object object, const char *name, int32_t value) +bool SetPropertyOptionalByInt(ani_env *env, ani_object &object, const char *name, int32_t value) { ANS_LOGD("enter SetPropertyOptionalByInt"); if (env == nullptr || object == nullptr || name == nullptr) { @@ -723,7 +723,7 @@ bool SetPropertyOptionalByInt(ani_env *env, ani_object object, const char *name, return SetPropertyByRef(env, object, name, IntObj); } -bool SetPropertyByRef(ani_env *env, ani_object object, const char *name, ani_ref value) +bool SetPropertyByRef(ani_env *env, ani_object &object, const char *name, ani_ref value) { ANS_LOGD("enter SetPropertyByRef"); ani_status status = ANI_OK; -- Gitee From c830e990349bc650139da5898affacd9602afcb5 Mon Sep 17 00:00:00 2001 From: heguokai <275503077@qq.com> Date: Mon, 7 Jul 2025 18:04:51 +0800 Subject: [PATCH 2/2] modify Signed-off-by: heguokai <275503077@qq.com> --- frameworks/ets/ani/include/sts_common.h | 2 +- frameworks/ets/ani/src/sts_common.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/ets/ani/include/sts_common.h b/frameworks/ets/ani/include/sts_common.h index fd0cffaa7..1129ade5a 100644 --- a/frameworks/ets/ani/include/sts_common.h +++ b/frameworks/ets/ani/include/sts_common.h @@ -46,7 +46,7 @@ ani_object ConvertArrayDoubleToAniObj(ani_env *env, const std::vector