14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_cideclare function print(arg:any):string;
174514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.is, caller function name:func_main_0@builtinObjectObject
184514f5e3Sopenharmony_ciprint(Object.is(1, 1)); //: true
194514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.is, caller function name:func_main_0@builtinObjectObject
204514f5e3Sopenharmony_ciprint(Object.is(1, 2)); //: false
214514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.is, caller function name:func_main_0@builtinObjectObject
224514f5e3Sopenharmony_ciprint(Object.is(1, "abc")); //: false
234514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.is, caller function name:func_main_0@builtinObjectObject
244514f5e3Sopenharmony_ciprint(Object.is(1, {})); //: false
254514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.getPrototypeOf, caller function name:func_main_0@builtinObjectObject
264514f5e3Sopenharmony_ciprint(Object.getPrototypeOf({})) //: [object Object]
274514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.getPrototypeOf, caller function name:func_main_0@builtinObjectObject
284514f5e3Sopenharmony_ciprint(Object.getPrototypeOf(1)) //: 0
294514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.getPrototypeOf, caller function name:func_main_0@builtinObjectObject
304514f5e3Sopenharmony_ciprint(Object.getPrototypeOf(true)) //: false
314514f5e3Sopenharmony_cilet proto = {name: "create"};
324514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.create, caller function name:func_main_0@builtinObjectObject
334514f5e3Sopenharmony_ciprint(Object.create(proto).name); //: create
344514f5e3Sopenharmony_ciprint(Object.create(proto, {
354514f5e3Sopenharmony_ci    name: {
364514f5e3Sopenharmony_ci        value: "new create",
374514f5e3Sopenharmony_ci        enumerable: false,
384514f5e3Sopenharmony_ci        writable: true,
394514f5e3Sopenharmony_ci        configurable: true,
404514f5e3Sopenharmony_ci    },
414514f5e3Sopenharmony_ci}).name); //: new create
424514f5e3Sopenharmony_citry {
434514f5e3Sopenharmony_ci    //aot: [trace] aot inline builtin: Object.create, caller function name:func_main_0@builtinObjectObject
444514f5e3Sopenharmony_ci    Object.create(undefined);
454514f5e3Sopenharmony_ci} catch(e) {
464514f5e3Sopenharmony_ci    print(e instanceof TypeError); //: true
474514f5e3Sopenharmony_ci}
484514f5e3Sopenharmony_cilet isProto = {};
494514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.prototype.isPrototypeOf, caller function name:func_main_0@builtinObjectObject
504514f5e3Sopenharmony_ciprint(isProto.isPrototypeOf(isProto)); //: false
514514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.prototype.isPrototypeOf, caller function name:func_main_0@builtinObjectObject
524514f5e3Sopenharmony_ciprint(Object.prototype.isPrototypeOf(isProto)); //: true
534514f5e3Sopenharmony_cilet hasOwnProp = {a: 123};
544514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.prototype.hasOwnProperty, caller function name:func_main_0@builtinObjectObject
554514f5e3Sopenharmony_ciprint(hasOwnProp.hasOwnProperty("a")); //: true
564514f5e3Sopenharmony_ci//aot: [trace] aot inline builtin: Object.prototype.hasOwnProperty, caller function name:func_main_0@builtinObjectObject
574514f5e3Sopenharmony_ciprint(hasOwnProp.hasOwnProperty("b")); //: false
58