1/* 2 * Copyright (c) 2024 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 public static foo<A1>(fn: Function1<A1, void>, arg: A1): void { 18 fn(arg) 19 } 20 public static foo<A1, A2>(fn: Function2<A1, A2, void>, arg1: A1, arg2: A2): void { 21 fn(arg1, arg2) 22 } 23} 24 25function t1(s: String): void { 26} 27 28function t2(s: String, n: int): void { 29} 30 31function main(): int { 32 A.foo(t1, "lll"); 33 A.foo(t2, "llll", 1) 34 return 0 35} 36