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

Merge remote-tracking branch 'origin/master'

This commit is contained in:
Brian Fiete 2023-01-23 06:57:06 -05:00
commit 59f074ba83
2 changed files with 31 additions and 15 deletions

View file

@ -3414,7 +3414,7 @@ void BfModule::CheckErrorAttributes(BfTypeInstance* typeInstance, BfMethodInstan
BfIRConstHolder* constHolder = typeInstance->mConstHolder;
auto customAttribute = customAttributes->Get(mCompiler->mObsoleteAttributeTypeDef);
if ((customAttribute != NULL) && (!customAttribute->mCtorArgs.IsEmpty()) && (targetSrc != NULL))
if ((customAttribute != NULL) && (targetSrc != NULL))
{
String err;
if (fieldInstance != NULL)
@ -3426,23 +3426,29 @@ void BfModule::CheckErrorAttributes(BfTypeInstance* typeInstance, BfMethodInstan
bool isError = false;
auto constant = constHolder->GetConstant(customAttribute->mCtorArgs[0]);
if (constant->mTypeCode == BfTypeCode_Boolean)
if (customAttribute->mCtorArgs.size() >= 1)
{
isError = constant->mBool;
}
else if (customAttribute->mCtorArgs.size() >= 2)
{
String* str = GetStringPoolString(customAttribute->mCtorArgs[0], constHolder);
if (str != NULL)
auto constant = constHolder->GetConstant(customAttribute->mCtorArgs[0]);
if (constant->mTypeCode == BfTypeCode_Boolean)
{
err += ":\n '";
err += *str;
err += "'";
isError = constant->mBool;
}
else if (constant->mTypeCode == BfTypeCode_StringId)
{
String* str = GetStringPoolString(customAttribute->mCtorArgs[0], constHolder);
if (str != NULL)
{
err += ":\n '";
err += *str;
err += "'";
}
constant = constHolder->GetConstant(customAttribute->mCtorArgs[1]);
isError = constant->mBool;
if (customAttribute->mCtorArgs.size() >= 2)
{
constant = constHolder->GetConstant(customAttribute->mCtorArgs[1]);
isError = constant->mBool;
}
}
}
BfError* error = NULL;
@ -26196,4 +26202,4 @@ void BfModule::ClearModule()
}
if (mNextAltModule != NULL)
mNextAltModule->ClearModule();
}
}