MCPcopy Create free account
hub / github.com/beefytech/Beef / AreTypesEqual

Method AreTypesEqual

IDEHelper/Backend/BeContext.cpp:196–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196bool BeContext::AreTypesEqual(BeType* lhs, BeType* rhs)
197{
198 if (lhs == rhs)
199 return true;
200
201 if (lhs->mTypeCode != rhs->mTypeCode)
202 return false;
203
204 switch (lhs->mTypeCode)
205 {
206 case BeTypeCode_None:
207 case BeTypeCode_NullPtr:
208 case BeTypeCode_Boolean:
209 case BeTypeCode_Int8:
210 case BeTypeCode_Int16:
211 case BeTypeCode_Int32:
212 case BeTypeCode_Int64:
213 case BeTypeCode_Float:
214 case BeTypeCode_Double:
215 return true;
216 case BeTypeCode_Pointer:
217 return AreTypesEqual(((BePointerType*)lhs)->mElementType, ((BePointerType*)rhs)->mElementType);
218 case BeTypeCode_SizedArray:
219 {
220 auto lhsSizedArray = (BeSizedArrayType*)lhs;
221 auto rhsSizedArray = (BeSizedArrayType*)rhs;
222 if (lhsSizedArray->mLength != rhsSizedArray->mLength)
223 return false;
224 return AreTypesEqual(lhsSizedArray->mElementType, rhsSizedArray->mElementType);
225 }
226 case BeTypeCode_Vector:
227 {
228 auto lhsSizedArray = (BeVectorType*)lhs;
229 auto rhsSizedArray = (BeVectorType*)rhs;
230 if (lhsSizedArray->mLength != rhsSizedArray->mLength)
231 return false;
232 return AreTypesEqual(lhsSizedArray->mElementType, rhsSizedArray->mElementType);
233 }
234 }
235 return false;
236}

Callers 2

FixValuesMethod · 0.80
HandleNextCmdMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected