1/* 2 * Copyright (c) 2024-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 16@Retention("SOURCE") 17@interface Message{ 18} 19 20@Retention("SOURCE") 21@interface Anno1{ 22} 23 24@Retention("SOURCE") 25@interface Anno2{ 26} 27 28// // @Message for 'Int' and @Anno2 for 'String' 29let unionType1: @Message() Int| @Anno2 'String' 30 31// @Message for 'Int | String' and @Anno2 for 'String' 32let unionType2: @Message (Int| @Anno2() String) 33 34// @Message for 'Int | String' and @Anno2 for 'Int' 35let unionType3: @Message() (@Anno2 Int| String) 36 37// @Message for 'Int | String', @Anno1 for 'Int' and @Anno2 for 'String' 38let unionType4: @Message (@Anno1 Int| @Anno2() String) 39 40function main(){}