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 */ 15enum Color: i32 { 16 red = 1, 17 yellow = 2, 18 blue = 3, 19} 20 21struct Mystruct { 22 testNum: i32; 23 testStr: String; 24} 25 26interface OverloadInterface { 27 @overload("overloadFunc") 28 OverloadFuncI8(a: i8, b: i8): i8; 29 30 @overload("overloadFunc") 31 OverloadFuncI16(a: i16, b: i16): i16; 32 33 @overload("overloadFunc") 34 OverloadFuncI32(a: i32, b: i32): i32; 35 36 @overload("overloadFunc") 37 OverloadFuncF32(a: f32, b: f32): f32; 38 39 @overload("overloadFunc") 40 OverloadFuncF64(a: f64, b: f64): f64; 41 42 @overload("overloadFunc") 43 OverloadFuncBool(a: bool, b: bool): bool; 44 45 @overload("overloadFunc") 46 OverloadFuncString(a: String, b: String): String; 47 48 @overload("overloadFunc") 49 OverloadFuncI8I16(a: i8, b: i16): i8; 50 51 @overload("overloadFunc") 52 OverloadFuncI8F32(a: i8, b: f32): i8; 53 54 @overload("overloadFunc") 55 OverloadFuncI8String(a: i8, b: String): i8; 56 57 @overload("overloadFunc") 58 OverloadFuncEnum(p0: Color): i32; 59 60 @overload("overloadFunc") 61 OverloadFuncMystruct(p0: Mystruct): String; 62 63 @overload("overloadFunc") 64 OverloadFuncPoint(a: Array<i32>): i32; 65 66 @overload("overloadFunc") 67 OverloadFuncArrayBuffer(a: @arraybuffer Array<u8>): u8; 68 69 @overload("overloadFunc") 70 OverloadFunc5param1(p0: i8, p1: i16, p2: i32, p3: f32, p4: f64): void; 71 72 @overload("overloadFunc") 73 OverloadFunc5paramPrimitive2( 74 p0: bool, 75 p1: String, 76 p2: i8, 77 p3: i16, 78 p4: i32 79 ): bool; 80 81 @overload("overloadFunc") 82 OverloadFunc5paramPrimitive3( 83 p0: f32, 84 p1: f64, 85 p2: bool, 86 p3: String, 87 p4: i8 88 ): f32; 89 90 @overload("overloadFunc") 91 OverloadFunc5paramPrimitive4( 92 p0: String, 93 p1: i16, 94 p2: i32, 95 p3: f32, 96 p4: bool 97 ): String; 98 99 @overload("overloadFunc") 100 OverloadFunc5paramPrimitive5( 101 p0: String, 102 p1: String, 103 p2: String, 104 p3: bool, 105 p4: bool 106 ): String; 107 108 @overload("overloadFunc") 109 OverloadFunc5paramPrimitive6( 110 p0: i16, 111 p1: i32, 112 p2: f32, 113 p3: f64, 114 p4: bool 115 ): i16; 116 117 @overload("overloadFunc") 118 OverloadFunc5paramPrimitive7( 119 p0: String, 120 p1: i8, 121 p2: i16, 122 p3: f32, 123 p4: bool 124 ): String; 125 126 @overload("overloadFunc") 127 OverloadFunc5paramPrimitive8( 128 p0: bool, 129 p1: i8, 130 p2: i32, 131 p3: f64, 132 p4: String 133 ): bool; 134 135 @overload("overloadFunc") 136 OverloadFunc5paramPrimitive9( 137 p0: f64, 138 p1: bool, 139 p2: String, 140 p3: i16, 141 p4: i32 142 ): f64; 143 144 @overload("overloadFunc") 145 OverloadFunc5paramPrimitive10( 146 p0: i8, 147 p1: f32, 148 p2: bool, 149 p3: String, 150 p4: i32 151 ): i8; 152 153 @overload("overloadFunc") 154 OverloadFunc10param(p0: i8, p1: i16, p2: i32, p3: f32, p4: f64, p5: bool, p6: String, p7: Array<i8>, p8:Array<i16>, p9:Array<i32>): void; 155 156 @overload("overloadFunc") 157 OverloadFunc10param1(p0: i8, p1: i16, p2: i32, p3: f32, p4: f64, p5: bool, p6: String, p7: Array<i8>, p8:Mystruct, p9:Color): void; 158 159 @overload("overloadFunc") 160 OverloadFunc10param2(p0: i8, p1: Mystruct, p2: Color, p3: Array<f32>, p4: Array<f64>, p5: Array<bool>, p6: Array<String>, p7: Array<i8>, p8:Array<i16>, p9:Array<i32>): void; 161 162 @overload("overloadFunc") 163 OverloadFunc10param3(p0: i8, p1: i16, p2: i32, p3: f32, p4: f64, p5: bool, p6: String, p7: @arraybuffer Array<u8>, p8:Mystruct, p9:Color): void; 164 165 @overload("overloadFunc") 166 OverloadFunc10param4(p0: i8, p1: i16, p2: i32, p3: f32, p4: f64, p5: bool, p6: String, p7: Array<i8>, p8:@arraybuffer Array<u8>, p9:Color): void; 167 168 @overload("overloadFunc") 169 OverloadFuncEnumRecord(p1:Color, p2:@record Map<String, i16>): void; 170 171 @overload("overloadFunc") 172 OverloadFuncArrayRecord(p1:Array<i32>, p2:@record Map<String, i16>): void; 173} 174 175 176function get_interface(): OverloadInterface; 177