• 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 */
15@!namespace("my_ns", "inner")
16enum Color: i32 {
17    red = 1,
18    yellow = 2,
19    blue = 3,
20    green = 4,
21    black = 5,
22}
23
24union union_primitive {
25  sValue: String;
26  i8Value: i8;
27}
28
29struct Mystruct{
30  _string: String;
31  _i8: i8;
32}
33
34struct ErrorResponse {
35    success: bool;
36    errorCode: i16;
37    errorMessage: String;
38}
39
40function Primitives_noreturn(a: i32, b: f64, c: bool, d: String, e: i8): void;
41function Primitives_return(a: i32, b: f64, c: bool, d: String, e: i8): String;
42
43function Containers_noreturn(a: Array<i8>, b: Array<i16>, c: Array<f32>, d: Array<f64>, e: union_primitive): void;
44function Containers_return(a: Array<i8>, b: Array<i16>, c: Array<f32>, d: Array<f64>, e: union_primitive): String;
45
46function Enum_noreturn(a: Color, b : Color, c : Color, d : Color, e : Color): void;
47function Enum_return(a: Color, b : Color, c : Color, d : Color, e : Color): String;
48
49interface TestInterface{
50    Noparam_noreturn(): void;
51
52    Primitives_noreturn(a: i8): void;
53    Primitives_noreturn1(a: i16): void;
54    Primitives_noreturn2(a: i32): void;
55    Primitives_noreturn3(a: f32): void;
56    Primitives_noreturn4(a: f64): void;
57    Primitives_noreturn5(a: bool): void;
58    Primitives_noreturn6(a: String): void;
59    Primitives_noreturn7(a: i64): void;
60
61
62    Primitives_return(a: i32): i32;
63    Containers_noreturn1(a: Array<i8>): void;
64    Containers_noreturn2(a: union_primitive): void;
65    Containers_noreturn3(a: @arraybuffer Array<u8>): void;
66    Containers_noreturn4(a: Color): void;
67    Containers_noreturn5(a: @record Map<String, i32>): void;
68
69
70    Containers_return(a: union_primitive): String;
71
72    Func_ErrorResponse(): ErrorResponse;
73
74    @overload("OverloadFunc")
75    OverloadFunc_i8(a: i8, b: i8): void;
76
77    @overload("OverloadFunc")
78    OverloadFunc_i16(a: Array<i8>, b: @arraybuffer Array<u8>): String;
79
80    @overload("OverloadFunc")
81    OverloadFunc_i32(): void;
82
83    @overload("OverloadFunc")
84    OverloadFunc_f32(a: Mystruct): Mystruct;
85
86    @get getName(): String;
87    @get geti8(): i8;
88    @get geti16(): i16;
89    @get geti32(): i32;
90    @get geti64(): i16;
91    @get getf32(): f32;
92    @get getf64(): f64;
93    @get getbool(): bool;
94    @get getArraybuffer(): @arraybuffer Array<u8>;
95    @get getArray():Array<i8>;
96    @get getunion():union_primitive;
97    @get getrecord():@record Map<String, i8>;
98    @get getColorEnum():Color;
99
100}
101
102interface Test1 {
103    Fun1(): void;
104    Fun2(): void;
105}
106
107interface Ttest2 {
108    Fun1(): void;
109    Fun2(): void;
110}
111
112interface Test3 {
113    Fun1(): void;
114    Fun2(): void;
115}
116
117interface Test4 {
118    Fun1(): void;
119    Fun2(): void;
120}
121
122interface Test5 {
123    Fun1(): void;
124    Fun2(): void;
125}
126
127interface Test6 {
128    Fun1(): void;
129    Fun2(): void;
130}
131
132interface Test7 {
133    Fun1(): void;
134    Fun2(): void;
135}
136
137interface Test8 {
138    Fun1(): void;
139    Fun2(): void;
140}
141
142interface Test9 {
143    Fun1(): void;
144    Fun2(): void;
145}
146
147interface Test10 {
148    Fun1(): void;
149    Fun2(): void;
150}
151
152interface Test11 {
153    Fun1(): void;
154    Fun2(): void;
155}
156
157interface Test12 {
158    Fun1(): void;
159    Fun2(): void;
160}
161
162interface Test13 {
163    Fun1(): void;
164    Fun2(): void;
165}
166
167interface Test14 {
168    fun1(): void;
169    fun2(): void;
170}
171
172interface Test15 {
173    Fun1(): void;
174    Fun2(): void;
175}
176
177interface Test16 {
178    Fun1(): void;
179    Fun2(): void;
180}
181
182interface Test17 {
183    Fun1(): void;
184    Fun2(): void;
185}
186
187interface Test18 {
188    Fun1(): void;
189    Fun2(): void;
190}
191
192interface Test19 {
193    Fun1(): void;
194    Fun2(): void;
195}
196
197interface Test20 {
198    Fun1(): void;
199    Fun2(): void;
200}
201
202interface TestA {
203    Fun1(): String;
204}
205interface TestB : TestA {
206    Fun2(): String;
207}
208interface TestC : TestA{
209    Fun3(): String;
210}
211
212
213function get_interface(): TestInterface;
214function PrintTestInterfaceName(testiface: TestInterface): String;
215function PrintTestInterfaceNumberi8(testiface: TestInterface): i8;
216function PrintTestInterfaceNumberi16(testiface: TestInterface): i16;
217function PrintTestInterfaceNumberi32(testiface: TestInterface): i32;
218function PrintTestInterfaceNumberi64(testiface: TestInterface): i64;
219function PrintTestInterfaceNumberf32(testiface: TestInterface): f32;
220function PrintTestInterfaceNumberf64(testiface: TestInterface): f64;
221function PrintTestInterfacebool(testiface: TestInterface): bool;
222function PrintTestInterfaceArraybuffer(testiface: TestInterface): @arraybuffer Array<u8>;
223
224function PrintTestInterfaceArray(testiface: TestInterface): Array<i8>;
225function PrintTestInterfaceUnion(testiface: TestInterface): union_primitive;
226function PrintTestInterfaceRecord(testiface: TestInterface): @record Map<String, i8>;
227function PrintTestInterfaceEnum(testiface: TestInterface): Color;
228
229function get_interface_1(): Test1;
230function get_interface_20(): Test20;
231
232function get_interface_A(): TestA;
233function get_interface_B(): TestB;
234function get_interface_C(): TestC;