1 /* 2 * Copyright 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include "HalHidlCodeGenUtils.h" 18 19 namespace android { 20 namespace vts { 21 IsElidableType(const VariableType & type)22bool IsElidableType(const VariableType& type) { 23 if (type == TYPE_SCALAR || type == TYPE_ENUM || type == TYPE_MASK || 24 type == TYPE_POINTER || type == TYPE_HIDL_INTERFACE || 25 type == TYPE_VOID) { 26 return true; 27 } 28 return false; 29 } 30 IsConstType(const VariableType & type)31bool IsConstType(const VariableType& type) { 32 if (type == TYPE_ARRAY || type == TYPE_VECTOR || type == TYPE_REF || 33 type == TYPE_HIDL_INTERFACE) { 34 return true; 35 } 36 if (IsElidableType(type)) { 37 return false; 38 } 39 return true; 40 } 41 IsUserDefinedType(const VariableType & type)42bool IsUserDefinedType(const VariableType& type) { 43 if (type == TYPE_ENUM || type == TYPE_STRUCT || type == TYPE_UNION || 44 type == TYPE_SAFE_UNION) { 45 return true; 46 } 47 return false; 48 } 49 } // namespace vts 50 } // namespace android 51