14514f5e3Sopenharmony_ci/* 24514f5e3Sopenharmony_ci * Copyright (c) 2022 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_cideclare function print(str: any): string; 164514f5e3Sopenharmony_cideclare var ArkTools:any; 174514f5e3Sopenharmony_cifunction foo() { 184514f5e3Sopenharmony_ci return "pass"; 194514f5e3Sopenharmony_ci} 204514f5e3Sopenharmony_ci 214514f5e3Sopenharmony_cifunction foo1(a: any) { 224514f5e3Sopenharmony_ci return a + 1; 234514f5e3Sopenharmony_ci} 244514f5e3Sopenharmony_ci 254514f5e3Sopenharmony_cifunction foo2(a: any, b: any) { 264514f5e3Sopenharmony_ci return a + b; 274514f5e3Sopenharmony_ci} 284514f5e3Sopenharmony_ci 294514f5e3Sopenharmony_cifunction foo3(a: any, b: any, c: any) { 304514f5e3Sopenharmony_ci return a + b + c; 314514f5e3Sopenharmony_ci} 324514f5e3Sopenharmony_ci 334514f5e3Sopenharmony_cifunction foo4(a: any, b: any, c: any, d: any) { 344514f5e3Sopenharmony_ci return a + b + c + d; 354514f5e3Sopenharmony_ci} 364514f5e3Sopenharmony_ci 374514f5e3Sopenharmony_ciprint(foo()); 384514f5e3Sopenharmony_ciprint(foo1(1)); 394514f5e3Sopenharmony_ciprint(foo1(1)); 404514f5e3Sopenharmony_ciprint(foo1(1)); 414514f5e3Sopenharmony_ciprint(foo2(1, 2)); 424514f5e3Sopenharmony_ciprint(foo3(1, 2, 3)); 434514f5e3Sopenharmony_ciprint(foo4(1, 2, 3, 4)); 444514f5e3Sopenharmony_ci 454514f5e3Sopenharmony_ciclass A { 464514f5e3Sopenharmony_ci public mode: number = 1; 474514f5e3Sopenharmony_ci 484514f5e3Sopenharmony_ci constructor(dt: number) { 494514f5e3Sopenharmony_ci print(dt); 504514f5e3Sopenharmony_ci print(new.target.name); 514514f5e3Sopenharmony_ci const size = 50; 524514f5e3Sopenharmony_ci this.mode = 4; 534514f5e3Sopenharmony_ci } 544514f5e3Sopenharmony_ci 554514f5e3Sopenharmony_ci update (dt: number, dt1: number): void { 564514f5e3Sopenharmony_ci print(dt); 574514f5e3Sopenharmony_ci print(dt1); 584514f5e3Sopenharmony_ci } 594514f5e3Sopenharmony_ci} 604514f5e3Sopenharmony_ci 614514f5e3Sopenharmony_ciclass B { 624514f5e3Sopenharmony_ci public mode: number = 1; 634514f5e3Sopenharmony_ci 644514f5e3Sopenharmony_ci constructor(dt: number, dt1: number, dt2: number) { 654514f5e3Sopenharmony_ci print(dt); 664514f5e3Sopenharmony_ci print(dt1); 674514f5e3Sopenharmony_ci print(dt2); 684514f5e3Sopenharmony_ci print(new.target.name); 694514f5e3Sopenharmony_ci const size = 50; 704514f5e3Sopenharmony_ci this.mode = 4; 714514f5e3Sopenharmony_ci } 724514f5e3Sopenharmony_ci} 734514f5e3Sopenharmony_ci 744514f5e3Sopenharmony_ciclass C { 754514f5e3Sopenharmony_ci public mode: number = 1; 764514f5e3Sopenharmony_ci 774514f5e3Sopenharmony_ci constructor(dt: number, dt1: number, dt2: number, dt3: number, dt4: number, dt5: number, dt6: number, dt7: number) { 784514f5e3Sopenharmony_ci print(new.target.name); 794514f5e3Sopenharmony_ci print(dt); 804514f5e3Sopenharmony_ci print(dt1); 814514f5e3Sopenharmony_ci print(dt4); 824514f5e3Sopenharmony_ci print(dt6); 834514f5e3Sopenharmony_ci print(dt7); 844514f5e3Sopenharmony_ci const size = 50; 854514f5e3Sopenharmony_ci this.mode = 4; 864514f5e3Sopenharmony_ci } 874514f5e3Sopenharmony_ci} 884514f5e3Sopenharmony_ci 894514f5e3Sopenharmony_cifunction funcv(value: number, value1: number, value2: number, value3: number, value4: number, value5: number, value6: number, value7: number): number { 904514f5e3Sopenharmony_ci print(value); 914514f5e3Sopenharmony_ci print(value1); 924514f5e3Sopenharmony_ci print(value2); 934514f5e3Sopenharmony_ci print(value3); 944514f5e3Sopenharmony_ci print(value4); 954514f5e3Sopenharmony_ci print(value5); 964514f5e3Sopenharmony_ci print(value6); 974514f5e3Sopenharmony_ci print(value7); 984514f5e3Sopenharmony_ci return 100; 994514f5e3Sopenharmony_ci} 1004514f5e3Sopenharmony_ci 1014514f5e3Sopenharmony_cifunction func0(): number { 1024514f5e3Sopenharmony_ci return 110; 1034514f5e3Sopenharmony_ci} 1044514f5e3Sopenharmony_ci 1054514f5e3Sopenharmony_cifunction func1(value: number): number { 1064514f5e3Sopenharmony_ci print(value); 1074514f5e3Sopenharmony_ci return value; 1084514f5e3Sopenharmony_ci} 1094514f5e3Sopenharmony_ci 1104514f5e3Sopenharmony_cifunction func2(value: number, value1: number): number { 1114514f5e3Sopenharmony_ci print(value); 1124514f5e3Sopenharmony_ci print(value1); 1134514f5e3Sopenharmony_ci return value; 1144514f5e3Sopenharmony_ci} 1154514f5e3Sopenharmony_ci 1164514f5e3Sopenharmony_cifunction func3(value: number, value1: number, value2: number): number { 1174514f5e3Sopenharmony_ci print(value); 1184514f5e3Sopenharmony_ci print(value1); 1194514f5e3Sopenharmony_ci print(value2); 1204514f5e3Sopenharmony_ci func1(value); 1214514f5e3Sopenharmony_ci return value; 1224514f5e3Sopenharmony_ci} 1234514f5e3Sopenharmony_ci 1244514f5e3Sopenharmony_cifunction func4(value: number, value1: number, value2: number, value3: number): number { 1254514f5e3Sopenharmony_ci print(value); 1264514f5e3Sopenharmony_ci print(value1); 1274514f5e3Sopenharmony_ci print(value2); 1284514f5e3Sopenharmony_ci print(value3); 1294514f5e3Sopenharmony_ci return value; 1304514f5e3Sopenharmony_ci} 1314514f5e3Sopenharmony_ci 1324514f5e3Sopenharmony_cifunction testNewTarget(value: number): number { 1334514f5e3Sopenharmony_ci print(new.target.name); 1344514f5e3Sopenharmony_ci return value; 1354514f5e3Sopenharmony_ci} 1364514f5e3Sopenharmony_civar systems: A = new A(1); 1374514f5e3Sopenharmony_civar systems1: B = new B(2, 3); 1384514f5e3Sopenharmony_civar systems2: C = new C(3, 4, 5, 6, 7, 8); 1394514f5e3Sopenharmony_ciprint(func0()); 1404514f5e3Sopenharmony_cifunc1(); 1414514f5e3Sopenharmony_cifunc2(1); 1424514f5e3Sopenharmony_cifunc3("mytest", 2); 1434514f5e3Sopenharmony_cifunc4(3, 4, 5); 1444514f5e3Sopenharmony_cifuncv(6, 7 , 8, 9); 1454514f5e3Sopenharmony_cisystems.update(4); 1464514f5e3Sopenharmony_civar k = new testNewTarget(1); 1474514f5e3Sopenharmony_ci 1484514f5e3Sopenharmony_cifunction funcAsm(value: number, value1: number, value2: number): number { 1494514f5e3Sopenharmony_ci print(value); 1504514f5e3Sopenharmony_ci print(value1); 1514514f5e3Sopenharmony_ci print(value2); 1524514f5e3Sopenharmony_ci func2(value1, value2); 1534514f5e3Sopenharmony_ci func3(value1, value2); 1544514f5e3Sopenharmony_ci func4(value1); 1554514f5e3Sopenharmony_ci funcv(value, value1, value2, value); 1564514f5e3Sopenharmony_ci var s: A = new A(1, 4); 1574514f5e3Sopenharmony_ci var s1: B = new B(2, 3); 1584514f5e3Sopenharmony_ci var s2: C = new C(3, 4, 5, 6, 7, 8); 1594514f5e3Sopenharmony_ci var s3: C = new C(3, 4, 5, 6, 7, 8, 9, 10); 1604514f5e3Sopenharmony_ci return value; 1614514f5e3Sopenharmony_ci} 1624514f5e3Sopenharmony_ciArkTools.removeAOTFlag(funcAsm); 1634514f5e3Sopenharmony_cifuncAsm(1, 2); 1644514f5e3Sopenharmony_ci 1654514f5e3Sopenharmony_ciclass TestCallThis0 { 1664514f5e3Sopenharmony_ci foo(arg?: any) { 1674514f5e3Sopenharmony_ci print(arg); 1684514f5e3Sopenharmony_ci } 1694514f5e3Sopenharmony_ci} 1704514f5e3Sopenharmony_ci 1714514f5e3Sopenharmony_cifunction testCallThis0() { 1724514f5e3Sopenharmony_ci let t = new TestCallThis0(); 1734514f5e3Sopenharmony_ci t.foo(); 1744514f5e3Sopenharmony_ci} 1754514f5e3Sopenharmony_ci 1764514f5e3Sopenharmony_citestCallThis0(); 1774514f5e3Sopenharmony_ci 1784514f5e3Sopenharmony_ciclass AA { 1794514f5e3Sopenharmony_ci constructor(owningView, propertyName) { 1804514f5e3Sopenharmony_ci owningView.id__(); 1814514f5e3Sopenharmony_ci } 1824514f5e3Sopenharmony_ci id__() { 1834514f5e3Sopenharmony_ci return this.id_; 1844514f5e3Sopenharmony_ci } 1854514f5e3Sopenharmony_ci} 1864514f5e3Sopenharmony_ci 1874514f5e3Sopenharmony_ciclass BB extends AA { 1884514f5e3Sopenharmony_ci} 1894514f5e3Sopenharmony_ci 1904514f5e3Sopenharmony_ciclass Index { 1914514f5e3Sopenharmony_ci constructor() { 1924514f5e3Sopenharmony_ci // super(parent, __localStorage, elmtId); 1934514f5e3Sopenharmony_ci this.__message = new BB(this, 777); 1944514f5e3Sopenharmony_ci this.__showLazy = new BB(this, 888); 1954514f5e3Sopenharmony_ci this.__showNoLazy = new BB(this, 999); 1964514f5e3Sopenharmony_ci } 1974514f5e3Sopenharmony_ci id__() { 1984514f5e3Sopenharmony_ci return this.id_; 1994514f5e3Sopenharmony_ci } 2004514f5e3Sopenharmony_ci} 2014514f5e3Sopenharmony_ci 2024514f5e3Sopenharmony_cinew Index() 2034514f5e3Sopenharmony_ci 2044514f5e3Sopenharmony_cifunction fooo(a, b, ...args) { 2054514f5e3Sopenharmony_ci arguments.length; 2064514f5e3Sopenharmony_ci} 2074514f5e3Sopenharmony_ci 2084514f5e3Sopenharmony_cifooo(1); 2094514f5e3Sopenharmony_cifooo(1, 2); 2104514f5e3Sopenharmony_cifooo(1, 2, 3); 2114514f5e3Sopenharmony_cifooo(1, 2, 3, 4, 5); 2124514f5e3Sopenharmony_ci 2134514f5e3Sopenharmony_ciasync function f206(a207, a208, a209) { 2144514f5e3Sopenharmony_ci let v210; 2154514f5e3Sopenharmony_ci try {v210 = a208(a207, a209, 2); } catch (e) { print(e instanceof TypeError) } 2164514f5e3Sopenharmony_ci await v210; 2174514f5e3Sopenharmony_ci return v210; 2184514f5e3Sopenharmony_ci} 2194514f5e3Sopenharmony_ci// @ts-ignore 2204514f5e3Sopenharmony_cif206(1, f206); 221