1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

IntUnknown fix

This commit is contained in:
Brian Fiete 2020-12-04 05:22:06 -08:00
parent f194d9ca0e
commit a17b086bd4

View file

@ -5089,6 +5089,7 @@ void BfModule::AddMethodToWorkList(BfMethodInstance* methodInstance)
BfArrayType* BfModule::CreateArrayType(BfType* resolvedType, int dimensions) BfArrayType* BfModule::CreateArrayType(BfType* resolvedType, int dimensions)
{ {
BF_ASSERT(!resolvedType->IsVar()); BF_ASSERT(!resolvedType->IsVar());
BF_ASSERT(!resolvedType->IsIntUnknown());
auto arrayType = mContext->mArrayTypePool.Get(); auto arrayType = mContext->mArrayTypePool.Get();
delete arrayType->mGenericTypeInfo; delete arrayType->mGenericTypeInfo;
@ -6385,6 +6386,7 @@ BfType* BfModule::ResolveGenericType(BfType* unspecializedType, BfTypeVector* ty
return NULL; return NULL;
if (elementType->IsVar()) if (elementType->IsVar())
return elementType; return elementType;
elementType = FixIntUnknown(elementType);
return CreateSizedArrayType(elementType, (int)arrayType->mElementCount); return CreateSizedArrayType(elementType, (int)arrayType->mElementCount);
} }
@ -6408,6 +6410,7 @@ BfType* BfModule::ResolveGenericType(BfType* unspecializedType, BfTypeVector* ty
return NULL; return NULL;
if (elementType->IsVar()) if (elementType->IsVar())
return elementType; return elementType;
elementType = FixIntUnknown(elementType);
return CreatePointerType(elementType); return CreatePointerType(elementType);
} }
@ -6419,6 +6422,7 @@ BfType* BfModule::ResolveGenericType(BfType* unspecializedType, BfTypeVector* ty
return NULL; return NULL;
if (elementType->IsVar()) if (elementType->IsVar())
return elementType; return elementType;
elementType = FixIntUnknown(elementType);
return CreateArrayType(elementType, arrayType->mDimensions); return CreateArrayType(elementType, arrayType->mDimensions);
} }