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

Method AddFieldDependency

IDEHelper/Compiler/BfModuleTypeUtils.cpp:825–840  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

823}
824
825void BfModule::AddFieldDependency(BfTypeInstance* typeInstance, BfFieldInstance* fieldInstance, BfType* fieldType)
826{
827 auto depFlag = fieldType->IsValueType() ? BfDependencyMap::DependencyFlag_ValueTypeMemberData : BfDependencyMap::DependencyFlag_PtrMemberData;
828 if (fieldInstance->IsAppendedObject())
829 depFlag = BfDependencyMap::DependencyFlag_ValueTypeMemberData;
830
831 AddDependency(fieldType, typeInstance, depFlag);
832
833 if ((fieldType->IsStruct()) && (fieldType->IsGenericTypeInstance()))
834 {
835 // When we're a generic struct, our data layout can depend on our generic parameters as well
836 auto genericTypeInstance = (BfTypeInstance*)fieldType;
837 for (auto typeGenericArg : genericTypeInstance->mGenericTypeInfo->mTypeGenericArguments)
838 AddFieldDependency(typeInstance, fieldInstance, typeGenericArg);
839 }
840}
841
842BfFieldInstance* BfModule::GetFieldByName(BfTypeInstance* typeInstance, const StringImpl& fieldName, bool isRequired, BfAstNode* refNode)
843{

Callers

nothing calls this directly

Calls 4

IsAppendedObjectMethod · 0.80
IsValueTypeMethod · 0.45
IsStructMethod · 0.45
IsGenericTypeInstanceMethod · 0.45

Tested by

no test coverage detected