diff --git a/interop/src/cpp/ets/convertors-ets.h b/interop/src/cpp/ets/convertors-ets.h index 767b2d3e15a5e2c2105fa0d07eb408a8dfd1fc57..e05b89c7082988c285f779ae35754eb6e15efa00 100644 --- a/interop/src/cpp/ets/convertors-ets.h +++ b/interop/src/cpp/ets/convertors-ets.h @@ -124,15 +124,17 @@ template<> struct InteropTypeConverter { using InteropType = ets_object; static KLength convertFrom(EtsEnv* env, InteropType value) { - const static ets_class double_class = env->FindClass("std/core/Double"); - const static ets_class int_class = env->FindClass("std/core/Int"); - const static ets_class string_class = env->FindClass("std/core/String"); - const static ets_class resource_class = env->FindClass("@koalaui/arkts-arkui/generated/ArkResourceInterfaces/Resource"); + // TODO: add [static], + // see: https://rnd-gitlab-msc.huawei.com/rus-os-team/virtual-machines-and-tools/panda/-/issues/22142 + const ets_class double_class = env->FindClass("std/core/Double"); + const ets_class int_class = env->FindClass("std/core/Int"); + const ets_class string_class = env->FindClass("std/core/String"); + const ets_class resource_class = env->FindClass("@koalaui/arkts-arkui/generated/ArkResourceInterfaces/Resource"); if (env->IsInstanceOf(value, double_class)) { const static ets_method double_p = env->Getp_method(double_class, "unboxed", ":D"); return KLength{ 1, (KFloat)env->CallDoubleMethod(value, double_p), 1, 0 }; - } if (env->IsInstanceOf(value, int_class)) { + } else if (env->IsInstanceOf(value, int_class)) { const static ets_method int_p = env->Getp_method(int_class, "unboxed", ":I"); return KLength{ 1, (KFloat)env->CallIntMethod(value, int_p), 1, 0 }; } else if (env->IsInstanceOf(value, string_class)) {