| 750 | } |
| 751 | |
| 752 | static void AddTypeInfo(BfAstTypeInfo* typeInfo) |
| 753 | { |
| 754 | BF_ASSERT(typeInfo->mTypeId == 0); |
| 755 | |
| 756 | typeInfo->mTypeId = (uint8)gTypes.size(); |
| 757 | gTypes.Add(typeInfo); |
| 758 | gAcceptFuncs.Add(typeInfo->mAcceptFunc); |
| 759 | for (auto derivedType : typeInfo->mDerivedTypes) |
| 760 | AddTypeInfo(derivedType); |
| 761 | typeInfo->mFullDerivedCount = (uint8)(gTypes.size() - typeInfo->mTypeId - 1); |
| 762 | } |
| 763 | |
| 764 | void BfAstTypeInfo::Init() |
| 765 | { |