mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-07-01 08:41:52 +00:00
Add blocks to header parsing state that manipulate which sequences are valid
This commit is contained in:
@ -18,14 +18,14 @@ const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockEnum::GetTestsForBlock(
|
||||
return tests;
|
||||
}
|
||||
|
||||
void HeaderBlockEnum::OnOpen()
|
||||
void HeaderBlockEnum::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockEnum::OnClose()
|
||||
void HeaderBlockEnum::OnClose(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockEnum::OnChildBlockClose(IHeaderBlock* block)
|
||||
void HeaderBlockEnum::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
|
||||
{
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ class HeaderBlockEnum final : public IHeaderBlock
|
||||
public:
|
||||
HeaderBlockType GetType() override;
|
||||
const std::vector<sequence_t*>& GetTestsForBlock() override;
|
||||
void OnOpen() override;
|
||||
void OnClose() override;
|
||||
void OnChildBlockClose(IHeaderBlock* block) override;
|
||||
void OnOpen(HeaderParserState* state) override;
|
||||
void OnClose(HeaderParserState* state) override;
|
||||
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
|
||||
};
|
||||
|
@ -8,6 +8,11 @@
|
||||
#include "Parsing/Header/Sequence/SequenceTypedef.h"
|
||||
#include "Parsing/Header/Sequence/SequenceUnion.h"
|
||||
|
||||
HeaderBlockNamespace::HeaderBlockNamespace(std::string namespaceName)
|
||||
: m_namespace_name(std::move(namespaceName))
|
||||
{
|
||||
}
|
||||
|
||||
HeaderBlockType HeaderBlockNamespace::GetType()
|
||||
{
|
||||
return HeaderBlockType::NAMESPACE;
|
||||
@ -28,14 +33,16 @@ const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockNamespace::GetTestsForB
|
||||
return tests;
|
||||
}
|
||||
|
||||
void HeaderBlockNamespace::OnOpen()
|
||||
void HeaderBlockNamespace::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
state->m_namespace.Push(m_namespace_name);
|
||||
}
|
||||
|
||||
void HeaderBlockNamespace::OnClose()
|
||||
void HeaderBlockNamespace::OnClose(HeaderParserState* state)
|
||||
{
|
||||
state->m_namespace.Pop();
|
||||
}
|
||||
|
||||
void HeaderBlockNamespace::OnChildBlockClose(IHeaderBlock* block)
|
||||
void HeaderBlockNamespace::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
|
||||
{
|
||||
}
|
||||
|
@ -4,10 +4,14 @@
|
||||
|
||||
class HeaderBlockNamespace final : public IHeaderBlock
|
||||
{
|
||||
std::string m_namespace_name;
|
||||
|
||||
public:
|
||||
explicit HeaderBlockNamespace(std::string namespaceName);
|
||||
|
||||
HeaderBlockType GetType() override;
|
||||
const std::vector<sequence_t*>& GetTestsForBlock() override;
|
||||
void OnOpen() override;
|
||||
void OnClose() override;
|
||||
void OnChildBlockClose(IHeaderBlock* block) override;
|
||||
void OnOpen(HeaderParserState* state) override;
|
||||
void OnClose(HeaderParserState* state) override;
|
||||
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
|
||||
};
|
||||
|
@ -26,14 +26,14 @@ const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockNone::GetTestsForBlock(
|
||||
return tests;
|
||||
}
|
||||
|
||||
void HeaderBlockNone::OnOpen()
|
||||
void HeaderBlockNone::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockNone::OnClose()
|
||||
void HeaderBlockNone::OnClose(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockNone::OnChildBlockClose(IHeaderBlock* block)
|
||||
void HeaderBlockNone::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
|
||||
{
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ class HeaderBlockNone final : public IHeaderBlock
|
||||
public:
|
||||
HeaderBlockType GetType() override;
|
||||
const std::vector<sequence_t*>& GetTestsForBlock() override;
|
||||
void OnOpen() override;
|
||||
void OnClose() override;
|
||||
void OnChildBlockClose(IHeaderBlock* block) override;
|
||||
void OnOpen(HeaderParserState* state) override;
|
||||
void OnClose(HeaderParserState* state) override;
|
||||
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
|
||||
};
|
||||
|
@ -24,14 +24,14 @@ const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockStruct::GetTestsForBloc
|
||||
return tests;
|
||||
}
|
||||
|
||||
void HeaderBlockStruct::OnOpen()
|
||||
void HeaderBlockStruct::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockStruct::OnClose()
|
||||
void HeaderBlockStruct::OnClose(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockStruct::OnChildBlockClose(IHeaderBlock* block)
|
||||
void HeaderBlockStruct::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
|
||||
{
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ class HeaderBlockStruct final : public IHeaderBlock
|
||||
public:
|
||||
HeaderBlockType GetType() override;
|
||||
const std::vector<sequence_t*>& GetTestsForBlock() override;
|
||||
void OnOpen() override;
|
||||
void OnClose() override;
|
||||
void OnChildBlockClose(IHeaderBlock* block) override;
|
||||
void OnOpen(HeaderParserState* state) override;
|
||||
void OnClose(HeaderParserState* state) override;
|
||||
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
|
||||
};
|
||||
|
@ -24,14 +24,14 @@ const std::vector<IHeaderBlock::sequence_t*>& HeaderBlockUnion::GetTestsForBlock
|
||||
return tests;
|
||||
}
|
||||
|
||||
void HeaderBlockUnion::OnOpen()
|
||||
void HeaderBlockUnion::OnOpen(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockUnion::OnClose()
|
||||
void HeaderBlockUnion::OnClose(HeaderParserState* state)
|
||||
{
|
||||
}
|
||||
|
||||
void HeaderBlockUnion::OnChildBlockClose(IHeaderBlock* block)
|
||||
void HeaderBlockUnion::OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block)
|
||||
{
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ class HeaderBlockUnion final : public IHeaderBlock
|
||||
public:
|
||||
HeaderBlockType GetType() override;
|
||||
const std::vector<sequence_t*>& GetTestsForBlock() override;
|
||||
void OnOpen() override;
|
||||
void OnClose() override;
|
||||
void OnChildBlockClose(IHeaderBlock* block) override;
|
||||
void OnOpen(HeaderParserState* state) override;
|
||||
void OnClose(HeaderParserState* state) override;
|
||||
void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) override;
|
||||
};
|
||||
|
@ -32,7 +32,7 @@ public:
|
||||
|
||||
virtual const std::vector<sequence_t*>& GetTestsForBlock() = 0;
|
||||
|
||||
virtual void OnOpen() = 0;
|
||||
virtual void OnClose() = 0;
|
||||
virtual void OnChildBlockClose(IHeaderBlock* block) = 0;
|
||||
virtual void OnOpen(HeaderParserState* state) = 0;
|
||||
virtual void OnClose(HeaderParserState* state) = 0;
|
||||
virtual void OnChildBlockClose(HeaderParserState* state, IHeaderBlock* block) = 0;
|
||||
};
|
Reference in New Issue
Block a user