1/* 2 * Copyright (c) 2024-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 class A { 17 met(s: string, q?: string){ 18 return true; 19 } 20 21 mat2(){ 22 return this.met("cat","a"); 23 } 24} 25 26function main() { 27 let newA = new A(); 28 let a1 = new A().met('S'); 29 let a2 = new A().met('S',"a"); 30 let a3 = newA.met('S', 'a'); 31 let b = new A().mat2(); 32 33 assertTrue(a1) 34 assertTrue(a2) 35 assertTrue(a3) 36 assertTrue(b) 37} 38