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 16class A { 17 b: number 18 constructor(b: number) { 19 this.b = b; 20 } 21 22 test(): A { 23 return new A(2); 24 } 25 callthis1(a: number): void { 26 } 27 callthis2(a: number, a1: number): void { 28 } 29 30 callthis3(a: number, a1: number, a2: number): void { 31 } 32 callthisRange(a: number, a1: number, a2: number, a3: number): void { 33 } 34 withRestParams(...args: [number]): void { 35 } 36} 37let aaa: A = new A(1); 38aaa.test().test(); 39aaa.callthis1(1); 40aaa.callthis2(1, 2); 41aaa.callthis3(1, 2, 3); 42aaa.callthisRange(1, 2, 3, 4); 43aaa.withRestParams(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 44 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 45 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 46 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 47 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 48 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 49 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 50 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 51 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 52 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 53 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 54 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 55 121, 122, 123, 124, 125, 126, 127, 128); 56