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;