mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
forward declare every struct and union to be able to self-reference
This commit is contained in:
parent
a2029da1d5
commit
60a689f58c
@ -48,6 +48,8 @@ void HeaderBlockStruct::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
state->m_namespace.Push(m_type_name);
|
||||
}
|
||||
|
||||
state->AddForwardDeclaration(std::make_unique<ForwardDeclaration>(m_namespace, m_type_name, DataDefinitionType::STRUCT));
|
||||
}
|
||||
|
||||
void HeaderBlockStruct::OnClose(HeaderParserState* state)
|
||||
|
@ -48,6 +48,8 @@ void HeaderBlockUnion::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
state->m_namespace.Push(m_type_name);
|
||||
}
|
||||
|
||||
state->AddForwardDeclaration(std::make_unique<ForwardDeclaration>(m_namespace, m_type_name, DataDefinitionType::UNION));
|
||||
}
|
||||
|
||||
void HeaderBlockUnion::OnClose(HeaderParserState* state)
|
||||
|
@ -61,7 +61,7 @@ void HeaderParserState::AddDataType(std::unique_ptr<DataDefinition> definition)
|
||||
|
||||
void HeaderParserState::AddForwardDeclaration(std::unique_ptr<ForwardDeclaration> forwardDeclaration)
|
||||
{
|
||||
m_forward_declarations.insert(std::make_pair(forwardDeclaration->m_name, std::move(forwardDeclaration)));
|
||||
m_forward_declarations.insert(std::make_pair(forwardDeclaration->GetFullName(), std::move(forwardDeclaration)));
|
||||
}
|
||||
|
||||
const DataDefinition* HeaderParserState::FindType(const std::string& typeName)
|
||||
|
Loading…
x
Reference in New Issue
Block a user