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