• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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