mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Fix new ObsoleteAttribute
constructors
This commit is contained in:
parent
3e210999ce
commit
33fc0be429
1 changed files with 21 additions and 15 deletions
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue