This happens before the old defs have been injected
| 2131 | |
| 2132 | // This happens before the old defs have been injected |
| 2133 | void BfContext::PreUpdateRevisedTypes() |
| 2134 | { |
| 2135 | // if (mCompiler->IsHotCompile()) |
| 2136 | // { |
| 2137 | // for (auto typeEntry : mResolvedTypes) |
| 2138 | // { |
| 2139 | // auto type = typeEntry->mType; |
| 2140 | // auto typeInst = type->ToTypeInstance(); |
| 2141 | // if (typeInst == NULL) |
| 2142 | // continue; |
| 2143 | // |
| 2144 | // auto typeDef = typeInst->mTypeDef; |
| 2145 | // if ((typeDef->mDefState != BfTypeDef::DefState_New) && (typeDef->mDefState != BfTypeDef::DefState_Defined)) |
| 2146 | // { |
| 2147 | // if (typeInst->mHotTypeData == NULL) |
| 2148 | // { |
| 2149 | // typeInst->mHotTypeData = new BfHotTypeData(); |
| 2150 | // typeInst->CalcHotVirtualData(&typeInst->mHotTypeData->mInterfaceMapping); |
| 2151 | // } |
| 2152 | // PopulateHotTypeDataVTable(typeInst); |
| 2153 | // } |
| 2154 | // } |
| 2155 | // } |
| 2156 | } |
| 2157 | |
| 2158 | // Note that this method can also cause modules to be build in other contexts. |
| 2159 | // That's why we do our UpdateAfterDeletingTypes after all the contexts' UpdateRevisedTypes |