| 499 | } |
| 500 | |
| 501 | int BfIRConstHolder::GetSize(BfTypeCode typeCode, int ptrSize) |
| 502 | { |
| 503 | switch (typeCode) |
| 504 | { |
| 505 | case BfTypeCode_None: return 0; |
| 506 | case BfTypeCode_CharPtr: return ptrSize; |
| 507 | case BfTypeCode_StringId: return 4; |
| 508 | case BfTypeCode_Pointer: return ptrSize; |
| 509 | case BfTypeCode_NullPtr: return ptrSize; |
| 510 | case BfTypeCode_Self: return 0; |
| 511 | case BfTypeCode_Dot: return 0; |
| 512 | case BfTypeCode_Var: return 0; |
| 513 | case BfTypeCode_Let: return 0; |
| 514 | case BfTypeCode_Boolean: return 1; |
| 515 | case BfTypeCode_Int8: return 1; |
| 516 | case BfTypeCode_UInt8: return 1; |
| 517 | case BfTypeCode_Int16: return 2; |
| 518 | case BfTypeCode_UInt16: return 2; |
| 519 | case BfTypeCode_Int24: return 3; |
| 520 | case BfTypeCode_UInt24: return 3; |
| 521 | case BfTypeCode_Int32: return 4; |
| 522 | case BfTypeCode_UInt32: return 4; |
| 523 | case BfTypeCode_Int40: return 5; |
| 524 | case BfTypeCode_UInt40: return 5; |
| 525 | case BfTypeCode_Int48: return 6; |
| 526 | case BfTypeCode_UInt48: return 6; |
| 527 | case BfTypeCode_Int56: return 7; |
| 528 | case BfTypeCode_UInt56: return 7; |
| 529 | case BfTypeCode_Int64: return 8; |
| 530 | case BfTypeCode_UInt64: return 8; |
| 531 | case BfTypeCode_Int128: return 16; |
| 532 | case BfTypeCode_UInt128: return 16; |
| 533 | case BfTypeCode_IntPtr: return ptrSize; |
| 534 | case BfTypeCode_UIntPtr: return ptrSize; |
| 535 | case BfTypeCode_IntUnknown: return 0; |
| 536 | case BfTypeCode_UIntUnknown: return 0; |
| 537 | case BfTypeCode_Char8: return 1; |
| 538 | case BfTypeCode_Char16: return 2; |
| 539 | case BfTypeCode_Char32: return 4; |
| 540 | case BfTypeCode_Float: return 4; |
| 541 | case BfTypeCode_Double: return 8; |
| 542 | case BfTypeCode_Float2: return 8; |
| 543 | case BfTypeCode_Object: return ptrSize; |
| 544 | case BfTypeCode_Interface: return ptrSize; |
| 545 | case BfTypeCode_Struct: return 0; |
| 546 | case BfTypeCode_Enum: return 0; |
| 547 | case BfTypeCode_TypeAlias: return 0; |
| 548 | case BfTypeCode_Extension: return 0; |
| 549 | case BfTypeCode_FloatX2: return 4 * 2; |
| 550 | case BfTypeCode_FloatX3: return 4 * 3; |
| 551 | case BfTypeCode_FloatX4: return 4 * 4; |
| 552 | case BfTypeCode_DoubleX2: return 8 * 2; |
| 553 | case BfTypeCode_DoubleX3: return 8 * 3; |
| 554 | case BfTypeCode_DoubleX4: return 8 * 4; |
| 555 | case BfTypeCode_Int64X2: return 8 * 2; |
| 556 | case BfTypeCode_Int64X3: return 8 * 3; |
| 557 | case BfTypeCode_Int64X4: return 8 * 4; |
| 558 | default: return 0; |
no test coverage detected