mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
Improved generic param reflection in comptime
This commit is contained in:
parent
157d3f90e5
commit
26506efc1e
9 changed files with 143 additions and 19 deletions
|
@ -439,6 +439,7 @@ BfCompiler::BfCompiler(BfSystem* bfSystem, bool isResolveOnly)
|
|||
mPointerTypeDef = NULL;
|
||||
mReflectTypeIdTypeDef = NULL;
|
||||
mReflectArrayType = NULL;
|
||||
mReflectGenericParamType = NULL;
|
||||
mReflectFieldDataDef = NULL;
|
||||
mReflectFieldSplatDataDef = NULL;
|
||||
mReflectMethodDataDef = NULL;
|
||||
|
@ -1345,6 +1346,7 @@ void BfCompiler::CreateVData(BfVDataModule* bfModule)
|
|||
reflectTypeSet.Add(vdataContext->mUnreifiedModule->ResolveTypeDef(mReflectSpecializedGenericType));
|
||||
reflectTypeSet.Add(vdataContext->mUnreifiedModule->ResolveTypeDef(mReflectUnspecializedGenericType));
|
||||
reflectTypeSet.Add(vdataContext->mUnreifiedModule->ResolveTypeDef(mReflectArrayType));
|
||||
reflectTypeSet.Add(vdataContext->mUnreifiedModule->ResolveTypeDef(mReflectGenericParamType));
|
||||
|
||||
SmallVector<BfIRValue, 256> typeDataVector;
|
||||
for (auto type : vdataTypeList)
|
||||
|
@ -6835,6 +6837,7 @@ bool BfCompiler::DoCompile(const StringImpl& outputDirectory)
|
|||
mPointerTypeDef = _GetRequiredType("System.Pointer", 0);
|
||||
mReflectTypeIdTypeDef = _GetRequiredType("System.Reflection.TypeId");
|
||||
mReflectArrayType = _GetRequiredType("System.Reflection.ArrayType");
|
||||
mReflectGenericParamType = _GetRequiredType("System.Reflection.GenericParamType");
|
||||
mReflectFieldDataDef = _GetRequiredType("System.Reflection.TypeInstance.FieldData");
|
||||
mReflectFieldSplatDataDef = _GetRequiredType("System.Reflection.TypeInstance.FieldSplatData");
|
||||
mReflectMethodDataDef = _GetRequiredType("System.Reflection.TypeInstance.MethodData");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue