mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Fixed mUnassignedFieldFlags handling of fields in extensions
This commit is contained in:
parent
fb088935d3
commit
0dcc7c4df3
1 changed files with 8 additions and 1 deletions
|
@ -2297,7 +2297,14 @@ bool BfModule::TryLocalVariableInit(BfLocalVariable* localVar)
|
||||||
{
|
{
|
||||||
if (fieldInstance.mMergedDataIdx != -1)
|
if (fieldInstance.mMergedDataIdx != -1)
|
||||||
{
|
{
|
||||||
int64 checkMask = (int64)1 << fieldInstance.mMergedDataIdx;
|
int64 checkMask = 1;
|
||||||
|
if (auto fieldTypeInst = fieldInstance.mResolvedType->ToTypeInstance())
|
||||||
|
{
|
||||||
|
if (fieldTypeInst->IsValueType())
|
||||||
|
checkMask = (1 << fieldTypeInst->mMergedFieldDataCount) - 1;
|
||||||
|
}
|
||||||
|
checkMask <<= fieldInstance.mMergedDataIdx;
|
||||||
|
|
||||||
if ((localVar->mUnassignedFieldFlags & checkMask) != 0)
|
if ((localVar->mUnassignedFieldFlags & checkMask) != 0)
|
||||||
{
|
{
|
||||||
// For fields added in extensions, we automatically initialize those if necessary
|
// For fields added in extensions, we automatically initialize those if necessary
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue