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

Method PopulateMemberSets

IDEHelper/Compiler/BfSystem.cpp:782–822  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

780}
781
782void BfTypeDef::PopulateMemberSets()
783{
784 while (mMethodSet.mSourceSize < mMethods.mSize)
785 {
786 auto methodDef = mMethods[mMethodSet.mSourceSize++];
787 BF_ASSERT(methodDef->mNextWithSameName == NULL);
788
789 BfMemberSetEntry* entry;
790 if (!mMethodSet.TryAdd(methodDef, &entry))
791 {
792 methodDef->mNextWithSameName = (BfMethodDef*)entry->mMemberDef;
793 entry->mMemberDef = methodDef;
794 }
795 }
796
797 while (mFieldSet.mSourceSize < mFields.mSize)
798 {
799 auto fieldDef = mFields[mFieldSet.mSourceSize++];
800 BF_ASSERT(fieldDef->mNextWithSameName == NULL);
801
802 BfMemberSetEntry* entry;
803 if (!mFieldSet.TryAdd(fieldDef, &entry))
804 {
805 fieldDef->mNextWithSameName = (BfFieldDef*)entry->mMemberDef;
806 entry->mMemberDef = fieldDef;
807 }
808 }
809
810 while (mPropertySet.mSourceSize < mProperties.mSize)
811 {
812 auto propDef = mProperties[mPropertySet.mSourceSize++];
813 BF_ASSERT(propDef->mNextWithSameName == NULL);
814
815 BfMemberSetEntry* entry;
816 if (!mPropertySet.TryAdd(propDef, &entry))
817 {
818 propDef->mNextWithSameName = (BfPropertyDef*)entry->mMemberDef;
819 entry->mMemberDef = propDef;
820 }
821 }
822}
823
824void BfTypeDef::ClearMemberSets()
825{

Callers 15

CreateTypeDataMethod · 0.80
CheckStaticAccessMethod · 0.80
GetRawMethodByNameMethod · 0.80
GetMethodByNameMethod · 0.80
HasMixinMethod · 0.80
EmitInitBlocksMethod · 0.80
EmitCtorBodyMethod · 0.80
EmitGCMarkValueMethod · 0.80
ProcessMethodMethod · 0.80

Calls 1

TryAddMethod · 0.45

Tested by

no test coverage detected