Fix not setting enum element count for enumedarrays when parsing

This commit is contained in:
Jan 2022-03-22 16:07:43 +01:00
parent ab5a998903
commit f15e997f7b
3 changed files with 5 additions and 5 deletions

View File

@ -144,12 +144,12 @@ bool operator>=(const CommonStructuredDataIndexedArray& lhs, const CommonStructu
} }
CommonStructuredDataEnumedArray::CommonStructuredDataEnumedArray() CommonStructuredDataEnumedArray::CommonStructuredDataEnumedArray()
: CommonStructuredDataEnumedArray({}, 0u) : CommonStructuredDataEnumedArray({}, 0u, 0u)
{ {
} }
CommonStructuredDataEnumedArray::CommonStructuredDataEnumedArray(const CommonStructuredDataType type, const size_t enumIndex) CommonStructuredDataEnumedArray::CommonStructuredDataEnumedArray(const CommonStructuredDataType type, const size_t enumIndex, const size_t elementCount)
: CommonStructuredDataEnumedArray(type, enumIndex, 0u, 0u) : CommonStructuredDataEnumedArray(type, enumIndex, elementCount, 0u)
{ {
} }

View File

@ -68,7 +68,7 @@ struct CommonStructuredDataEnumedArray
size_t m_element_size_in_bits; size_t m_element_size_in_bits;
CommonStructuredDataEnumedArray(); CommonStructuredDataEnumedArray();
CommonStructuredDataEnumedArray(CommonStructuredDataType type, size_t enumIndex); CommonStructuredDataEnumedArray(CommonStructuredDataType type, size_t enumIndex, size_t elementCount);
CommonStructuredDataEnumedArray(CommonStructuredDataType type, size_t enumIndex, size_t elementCount, size_t elementSizeInBits); CommonStructuredDataEnumedArray(CommonStructuredDataType type, size_t enumIndex, size_t elementCount, size_t elementSizeInBits);
friend bool operator<(const CommonStructuredDataEnumedArray& lhs, const CommonStructuredDataEnumedArray& rhs); friend bool operator<(const CommonStructuredDataEnumedArray& lhs, const CommonStructuredDataEnumedArray& rhs);

View File

@ -150,7 +150,7 @@ namespace sdd::struct_scope_sequences
const auto enumElementCount = _enum->ElementCount(); const auto enumElementCount = _enum->ElementCount();
assert(enumElementCount > 0); assert(enumElementCount > 0);
const CommonStructuredDataEnumedArray enumedArray(currentType, existingType->second.m_info.type_index); const CommonStructuredDataEnumedArray enumedArray(currentType, existingType->second.m_info.type_index, _enum->ElementCount());
const auto existingEnumedArray = state->m_def_enumed_arrays.find(enumedArray); const auto existingEnumedArray = state->m_def_enumed_arrays.find(enumedArray);
if (existingEnumedArray != state->m_def_enumed_arrays.end()) if (existingEnumedArray != state->m_def_enumed_arrays.end())