| 1815 | } |
| 1816 | |
| 1817 | void BfContext::ReflectInit() |
| 1818 | { |
| 1819 | auto bfModule = mScratchModule; |
| 1820 | |
| 1821 | bfModule->CreatePointerType(bfModule->GetPrimitiveType(BfTypeCode_NullPtr)); |
| 1822 | |
| 1823 | /// |
| 1824 | |
| 1825 | auto typeDefType = bfModule->ResolveTypeDef(mCompiler->mTypeTypeDef)->ToTypeInstance(); |
| 1826 | if (!typeDefType) |
| 1827 | return; |
| 1828 | BF_ASSERT(typeDefType != NULL); |
| 1829 | mBfTypeType = typeDefType->ToTypeInstance(); |
| 1830 | |
| 1831 | auto typeInstanceDefType = bfModule->ResolveTypeDef(mCompiler->mReflectTypeInstanceTypeDef); |
| 1832 | if (!typeInstanceDefType) |
| 1833 | return; |
| 1834 | auto typeInstanceDefTypeInstance = typeInstanceDefType->ToTypeInstance(); |
| 1835 | |
| 1836 | auto typeDef = mSystem->FindTypeDef("System.ClassVData"); |
| 1837 | BF_ASSERT(typeDef != NULL); |
| 1838 | auto bfClassVDataType = bfModule->ResolveTypeDef(typeDef)->ToTypeInstance(); |
| 1839 | mBfClassVDataPtrType = bfModule->CreatePointerType(bfClassVDataType); |
| 1840 | } |
| 1841 | |
| 1842 | void BfContext::DeleteType(BfType* type, bool deferDepRebuilds) |
| 1843 | { |
no test coverage detected