fix pointer array strings

This commit is contained in:
Jan 2021-02-28 22:58:15 +01:00
parent 25dbe10ba2
commit 48d672edbe

View File

@ -644,7 +644,7 @@ class ZoneLoadTemplate::Internal final : BaseTemplate
}
else if (loadType == MemberLoadType::EMBEDDED)
{
LINE(MakeMemberAccess(info, member, modifier) << " = UseScriptString(" << MakeMemberAccess(info, member, modifier) << ";")
LINE(MakeMemberAccess(info, member, modifier) << " = UseScriptString(" << MakeMemberAccess(info, member, modifier) << ");")
}
else
{
@ -694,7 +694,6 @@ class ZoneLoadTemplate::Internal final : BaseTemplate
}
else
{
LINE("varXString = " << MakeMemberAccess(info, member, modifier) << ";")
LINE("LoadXStringArray(true, "<<MakeEvaluation(modifier.GetPointerArrayCountEvaluation())<<");")
}
}
@ -711,7 +710,7 @@ class ZoneLoadTemplate::Internal final : BaseTemplate
if (member->m_type && !member->m_type->m_is_leaf && !computations.IsInRuntimeBlock())
{
LINE(MakeTypeVarName(member->m_member->m_type_declaration->m_type) << " = " << MakeMemberAccess(info, member, modifier) << ";")
LINE("LoadArray_" << MakeSafeTypeName(member->m_member->m_type_declaration->m_type) << "(true, " << MakeEvaluation(computations.GetArrayPointerCountEvaluation()) << ");")
LINE("LoadArray_" << MakeSafeTypeName(member->m_member->m_type_declaration->m_type) << "(true, " << MakeEvaluation(modifier.GetArrayPointerCountEvaluation()) << ");")
if (member->m_type->m_post_load_action)
{
@ -899,7 +898,7 @@ class ZoneLoadTemplate::Internal final : BaseTemplate
const auto typeDecl = MakeTypeDecl(member->m_member->m_type_declaration.get());
const auto followingReferences = MakeFollowingReferences(modifier.GetFollowingDeclarationModifiers());
LINE(MakeMemberAccess(info, member, modifier)<<" = m_stream->Alloc<"<<typeDecl<<followingReferences<<">(alignof("<<typeDecl<<followingReferences
<<")); // " << member->m_member->m_type_declaration->m_type->GetAlignment())
<<")); // " << member->m_member->m_type_declaration->GetAlignment())
if (computations.IsInTempBlock())
{
@ -991,7 +990,9 @@ class ZoneLoadTemplate::Internal final : BaseTemplate
}
if (member->m_is_string)
return false;
{
return loadType == MemberLoadType::POINTER_ARRAY;
}
return true;
}