127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong/* 227e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * Copyright (C) 2016 The Android Open Source Project 327e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * 427e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * Licensed under the Apache License, Version 2.0 (the "License"); 527e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * you may not use this file except in compliance with the License. 627e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * You may obtain a copy of the License at 727e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * 827e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * http://www.apache.org/licenses/LICENSE-2.0 927e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * 1027e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * Unless required by applicable law or agreed to in writing, software 1127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * distributed under the License is distributed on an "AS IS" BASIS, 1227e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1327e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * See the License for the specific language governing permissions and 1427e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong * limitations under the License. 1527e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong */ 1627e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong 1727e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongpackage tests.errors.syntax@1.0; 1827e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong 1927e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong// c++ keyword: error 2027e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct asm {}; 2127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong// java keyword: error 2227e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct transient {}; 2327e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong// c++ collide: error 2427e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct offsetof {}; 2527e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct size_t {}; 2627e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong// hidl names: should warn 2727e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct hidl_vec{}; 2827e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong// interface reserved: should be okay 2927e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct version{}; 3027e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong 3127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Honginterface IIdentifier1 { 3227e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // c++ keyword: error 3327e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong alignof(); 3427e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // java keyword: error 3527e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong native(); 3627e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // c++ collide: error 3727e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong IMPLEMENT_REGISTER_AND_GET_SERVICE(); 3827e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // interface reserved: should error 3927e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong dump(); 4027e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // struct reserved: should be okay 4127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong readEmbeddedFromParcel(); 4227e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong}; 4327e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong 4427e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hongstruct GoodStruct { 4527e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // java keyword: error 4627e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong int32_t native; 4727e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // struct reserved: should error 4827e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong int32_t readEmbeddedFromParcel; 4927e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong // interface reserved: should be okay 5027e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong int32_t dump; 5127e85db4f2a8740d24aa5b200edc9cbd4d7de8a9Yifan Hong}; 52