| 2882 | } |
| 2883 | |
| 2884 | void BfTypeInstance::CalcHotVirtualData(Array<int>* ifaceMapping) |
| 2885 | { |
| 2886 | if (IsIncomplete()) |
| 2887 | { |
| 2888 | BF_ASSERT(mHotTypeData != NULL); |
| 2889 | return; |
| 2890 | } |
| 2891 | |
| 2892 | if (ifaceMapping != NULL) |
| 2893 | { |
| 2894 | for (auto iface : mInterfaces) |
| 2895 | { |
| 2896 | int slotNum = iface.mInterfaceType->mSlotNum; |
| 2897 | if (slotNum >= 0) |
| 2898 | { |
| 2899 | if (slotNum >= (int)ifaceMapping->size()) |
| 2900 | ifaceMapping->Resize(slotNum + 1); |
| 2901 | (*ifaceMapping)[slotNum] = iface.mInterfaceType->mTypeId; |
| 2902 | } |
| 2903 | } |
| 2904 | if (mBaseType != NULL) |
| 2905 | mBaseType->CalcHotVirtualData(ifaceMapping); |
| 2906 | } |
| 2907 | } |
| 2908 | |
| 2909 | ////////////////////////////////////////////////////////////////////////// |
| 2910 |
no test coverage detected