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

Method GetPrimitiveType

IDEHelper/Backend/BeContext.cpp:17–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15}
16
17BeType* BeContext::GetPrimitiveType(BeTypeCode typeCode)
18{
19 if (typeCode == BeTypeCode_NullPtr)
20 {
21 return GetPointerTo(GetPrimitiveType(BeTypeCode_None));
22 }
23
24 if (mPrimitiveTypes[(int)typeCode] != NULL)
25 return mPrimitiveTypes[(int)typeCode];
26
27 BeType* primType = mTypes.Alloc<BeType>();
28 primType->mTypeCode = typeCode;
29 switch (typeCode)
30 {
31 case BeTypeCode_None:
32 primType->mSize = 0;
33 primType->mAlign = 0;
34 break;
35 case BeTypeCode_NullPtr:
36 primType->mSize = primType->mAlign = mPointerSize;
37 break;
38 case BeTypeCode_Boolean:
39 primType->mSize = primType->mAlign = 1;
40 break;
41 case BeTypeCode_Int8:
42 primType->mSize = primType->mAlign = 1;
43 break;
44 case BeTypeCode_Int16:
45 primType->mSize = primType->mAlign = 2;
46 break;
47 case BeTypeCode_Int32:
48 primType->mSize = primType->mAlign = 4;
49 break;
50 case BeTypeCode_Int64:
51 primType->mSize = primType->mAlign = 8;
52 break;
53 case BeTypeCode_Float:
54 primType->mSize = primType->mAlign = 4;
55 break;
56 case BeTypeCode_Double:
57 primType->mSize = primType->mAlign = 8;
58 break;
59 case BeTypeCode_M128:
60 primType->mSize = primType->mAlign = 16;
61 break;
62 case BeTypeCode_M256:
63 primType->mSize = primType->mAlign = 32;
64 break;
65 case BeTypeCode_M512:
66 primType->mSize = primType->mAlign = 64;
67 break;
68 }
69 mPrimitiveTypes[(int)typeCode] = primType;
70 return primType;
71}
72
73BeType* BeContext::GetVoidPtrType()
74{

Callers 15

GetTypeMethod · 0.45
GetConstantNullMethod · 0.45
GetBeTypeMethod · 0.45
ReadMethod · 0.45
HandleNextCmdMethod · 0.45
GetTypeMethod · 0.45
BeMCContextMethod · 0.45
GetOperandMethod · 0.45
GetTypeMethod · 0.45
GetCallArgVRegMethod · 0.45
CreateMemSetMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected