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

Method GetBeType

IDEHelper/Backend/BeIRCodeGen.cpp:326–396  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324}
325
326BeType* BeIRCodeGen::GetBeType(BfTypeCode typeCode, bool& isSigned)
327{
328 isSigned = false;
329 BeTypeCode beTypeCode = BeTypeCode_None;
330 switch (typeCode)
331 {
332 case BfTypeCode_None:
333 beTypeCode = BeTypeCode_None;
334 break;
335 case BfTypeCode_NullPtr:
336 beTypeCode = BeTypeCode_NullPtr;
337 break;
338 case BfTypeCode_Boolean:
339 beTypeCode = BeTypeCode_Boolean;
340 break;
341 case BfTypeCode_Int8:
342 isSigned = true;
343 beTypeCode = BeTypeCode_Int8;
344 break;
345 case BfTypeCode_UInt8:
346 case BfTypeCode_Char8:
347 beTypeCode = BeTypeCode_Int8;
348 break;
349 case BfTypeCode_Int16:
350 isSigned = true;
351 beTypeCode = BeTypeCode_Int16;
352 break;
353 case BfTypeCode_Char16:
354 case BfTypeCode_UInt16:
355 beTypeCode = BeTypeCode_Int16;
356 break;
357 case BfTypeCode_Int32:
358 isSigned = true;
359 beTypeCode = BeTypeCode_Int32;
360 break;
361 case BfTypeCode_UInt32:
362 case BfTypeCode_Char32:
363 beTypeCode = BeTypeCode_Int32;
364 break;
365 case BfTypeCode_Int64:
366 isSigned = true;
367 beTypeCode = BeTypeCode_Int64;
368 break;
369 case BfTypeCode_UInt64:
370 beTypeCode = BeTypeCode_Int64;
371 break;
372 case BfTypeCode_IntPtr:
373 BF_FATAL("Illegal");
374 /*isSigned = true;
375 if (mModule->mSystem->mPtrSize == 4)
376 return llvm::Type::getInt32Ty(*mLLVMContext);
377 else
378 return llvm::Type::getInt64Ty(*mLLVMContext);*/
379 case BfTypeCode_UIntPtr:
380 BF_FATAL("Illegal");
381 /*if (mModule->mSystem->mPtrSize == 4)
382 return llvm::Type::getInt32Ty(*mLLVMContext);
383 else

Callers 1

ToStringMethod · 0.80

Calls 1

GetPrimitiveTypeMethod · 0.45

Tested by

no test coverage detected