1 /* 2 * Copyright (c) 2024 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 #include "ast/ast_type.h" 17 18 namespace OHOS { 19 namespace Idl { SetName(const std::string & name)20void ASTType::SetName(const std::string &name) 21 { 22 name_ = name; 23 } 24 GetName()25std::string ASTType::GetName() 26 { 27 return name_; 28 } 29 SetNamespace(const AutoPtr<ASTNamespace> & nspace)30void ASTType::SetNamespace(const AutoPtr<ASTNamespace> &nspace) 31 { 32 namespace_ = nspace; 33 } 34 GetNamespace()35AutoPtr<ASTNamespace> ASTType::GetNamespace() 36 { 37 return namespace_; 38 } 39 IsVoidType()40bool ASTType::IsVoidType() 41 { 42 return false; 43 } 44 IsBooleanType()45bool ASTType::IsBooleanType() 46 { 47 return false; 48 } 49 IsByteType()50bool ASTType::IsByteType() 51 { 52 return false; 53 } 54 IsShortType()55bool ASTType::IsShortType() 56 { 57 return false; 58 } 59 IsIntegerType()60bool ASTType::IsIntegerType() 61 { 62 return false; 63 } 64 IsLongType()65bool ASTType::IsLongType() 66 { 67 return false; 68 } 69 IsCharType()70bool ASTType::IsCharType() 71 { 72 return false; 73 } 74 IsUcharType()75bool ASTType::IsUcharType() 76 { 77 return false; 78 } 79 IsUshortType()80bool ASTType::IsUshortType() 81 { 82 return false; 83 } 84 IsUintType()85bool ASTType::IsUintType() 86 { 87 return false; 88 } 89 IsUlongType()90bool ASTType::IsUlongType() 91 { 92 return false; 93 } 94 IsFloatType()95bool ASTType::IsFloatType() 96 { 97 return false; 98 } 99 IsDoubleType()100bool ASTType::IsDoubleType() 101 { 102 return false; 103 } 104 IsStringType()105bool ASTType::IsStringType() 106 { 107 return false; 108 } 109 IsListType()110bool ASTType::IsListType() 111 { 112 return false; 113 } 114 IsMapType()115bool ASTType::IsMapType() 116 { 117 return false; 118 } 119 IsEnumType()120bool ASTType::IsEnumType() 121 { 122 return false; 123 } 124 IsStructType()125bool ASTType::IsStructType() 126 { 127 return false; 128 } 129 IsUnionType()130bool ASTType::IsUnionType() 131 { 132 return false; 133 } 134 IsInterfaceType()135bool ASTType::IsInterfaceType() 136 { 137 return false; 138 } 139 IsSequenceableType()140bool ASTType::IsSequenceableType() 141 { 142 return false; 143 } 144 IsArrayType()145bool ASTType::IsArrayType() 146 { 147 return false; 148 } 149 IsFdType()150bool ASTType::IsFdType() 151 { 152 return false; 153 } 154 IsSmqType()155bool ASTType::IsSmqType() 156 { 157 return false; 158 } 159 IsAshmemType()160bool ASTType::IsAshmemType() 161 { 162 return false; 163 } 164 IsNativeBufferType()165bool ASTType::IsNativeBufferType() 166 { 167 return false; 168 } 169 IsPointerType()170bool ASTType::IsPointerType() 171 { 172 return false; 173 } 174 IsPod() const175bool ASTType::IsPod() const 176 { 177 return isPod_; 178 } 179 IsTypeKind(TypeKind typekind) const180bool ASTType::IsTypeKind(TypeKind typekind) const 181 { 182 return typekind == typeKind_; 183 } 184 HasInnerType(TypeKind innerType) const185bool ASTType::HasInnerType(TypeKind innerType) const 186 { 187 return false; 188 } 189 ToShortString()190std::string ASTType::ToShortString() 191 { 192 return name_; 193 } 194 ToString() const195std::string ASTType::ToString() const 196 { 197 if (Options::GetInstance().GetInterfaceType() == InterfaceType::SA) { 198 return name_; 199 } 200 return (namespace_ == nullptr) ? name_ : (namespace_->ToString() + name_); 201 } 202 GetTypeKind()203TypeKind ASTType::GetTypeKind() 204 { 205 return TypeKind::TYPE_UNKNOWN; 206 } 207 } // namespace Idl 208 } // namespace OHOS