• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "ecmascript/cross_vm/dynamic_object_descriptor.h"
17 
18 #include "ecmascript/js_tagged_value.h"
19 #include "common_interfaces/objects/base_object_dispatcher.h"
20 
21 namespace panda::ecmascript {
22 
23 DynamicObjectDescriptor DynamicObjectDescriptor::dynObjectDescriptor_;
24 
Initialize()25 void DynamicObjectDescriptor::Initialize()
26 {
27     common::BaseObjectDispatcher::GetDispatcher().RegisterDynamicObjectDescriptor(&dynObjectDescriptor_);
28 }
29 
GetProperty(ThreadHolder * thread,const BaseObject * obj,const char * name) const30 std::pair<JSTaggedValue, HandlerBase> DynamicObjectDescriptor::GetProperty(ThreadHolder *thread,
31                                                                            const BaseObject *obj,
32                                                                            const char *name) const
33 {
34     return std::make_pair(JSTaggedValue(), HandlerBase());
35 }
36 
SetProperty(ThreadHolder * thread,BaseObject * obj,const char * name,JSTaggedValue value)37 std::pair<bool, HandlerBase> DynamicObjectDescriptor::SetProperty(ThreadHolder *thread,
38                                                                   BaseObject *obj,
39                                                                   const char *name,
40                                                                   JSTaggedValue value)
41 {
42     return std::make_pair(false, HandlerBase());
43 }
44 
GetElementByIdx(ThreadHolder * thread,const BaseObject * obj,uint32_t index) const45 std::pair<JSTaggedValue, HandlerBase> DynamicObjectDescriptor::GetElementByIdx(ThreadHolder *thread,
46                                                                                const BaseObject *obj,
47                                                                                uint32_t index) const
48 {
49     return std::make_pair(JSTaggedValue::Undefined(), HandlerBase());
50 }
51 
SetElementByIdx(ThreadHolder * thread,BaseObject * obj,uint32_t index,JSTaggedValue value)52 std::pair<bool, HandlerBase> DynamicObjectDescriptor::SetElementByIdx(ThreadHolder *thread,
53                                                                       BaseObject *obj,
54                                                                       uint32_t index,
55                                                                       JSTaggedValue value)
56 {
57     return std::make_pair(false, HandlerBase());
58 }
59 }