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

Method GetDebugTypeName

IDEHelper/Compiler/BfIRBuilder.cpp:2728–2763  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2726}
2727
2728String BfIRBuilder::GetDebugTypeName(BfTypeInstance* typeInstance, bool includeOuterTypeName)
2729{
2730 BfTypeNameFlags typeNameFlags = BfTypeNameFlag_AddGlobalContainerName;
2731 if (!typeInstance->IsUnspecializedTypeVariation())
2732 typeNameFlags = (BfTypeNameFlags)(typeNameFlags | BfTypeNameFlag_ResolveGenericParamNames);
2733
2734 String typeName;
2735 if (typeInstance->IsBoxed())
2736 {
2737 BfBoxedType* boxedType = (BfBoxedType*)typeInstance;
2738 typeName = mModule->TypeToString(boxedType->mElementType, (BfTypeNameFlags)(typeNameFlags));
2739 if (boxedType->IsBoxedStructPtr())
2740 typeName += "*";
2741 typeName = "Box<" + typeName + ">";
2742 }
2743 else if (includeOuterTypeName)
2744 {
2745 typeName = mModule->TypeToString(typeInstance, (BfTypeNameFlags)(typeNameFlags | BfTypeNameFlag_OmitNamespace));
2746 }
2747 else
2748 {
2749 typeName = mModule->TypeToString(typeInstance, (BfTypeNameFlags)(typeNameFlags | BfTypeNameFlag_OmitNamespace | BfTypeNameFlag_OmitOuterType));
2750 }
2751
2752 for (int i = 0; i < (int)typeName.length(); i++)
2753 {
2754 if (typeName[i] == '.')
2755 {
2756 typeName[i] = ':';
2757 typeName.Insert(i, ":");
2758 }
2759 }
2760
2761 //DbgAddPrefix(typeName);
2762 return typeName;
2763}
2764
2765#ifdef BFIR_RENTRY_CHECK
2766struct ReEntryCheck

Callers

nothing calls this directly

Calls 6

IsBoxedStructPtrMethod · 0.80
IsBoxedMethod · 0.45
TypeToStringMethod · 0.45
lengthMethod · 0.45
InsertMethod · 0.45

Tested by

no test coverage detected