mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-07-01 16:51:56 +00:00
Add blocks to header parsing state that manipulate which sequences are valid
This commit is contained in:
@ -18,4 +18,6 @@ SequenceCloseBlock::SequenceCloseBlock()
|
||||
|
||||
void SequenceCloseBlock::ProcessMatch(HeaderParserState* state, SequenceResult<HeaderParserValue>& result) const
|
||||
{
|
||||
// TODO: Set variable name to last block
|
||||
state->PopBlock();
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "SequenceEnum.h"
|
||||
|
||||
#include "Parsing/Header/Block/HeaderBlockEnum.h"
|
||||
#include "Parsing/Header/Matcher/HeaderMatcherFactory.h"
|
||||
#include "Parsing/Header/Matcher/HeaderCommonMatchers.h"
|
||||
|
||||
@ -22,4 +23,5 @@ SequenceEnum::SequenceEnum()
|
||||
|
||||
void SequenceEnum::ProcessMatch(HeaderParserState* state, SequenceResult<HeaderParserValue>& result) const
|
||||
{
|
||||
state->PushBlock(std::make_unique<HeaderBlockEnum>());
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include "SequenceNamespace.h"
|
||||
|
||||
|
||||
#include "Parsing/Header/Block/HeaderBlockNamespace.h"
|
||||
#include "Parsing/Header/Matcher/HeaderMatcherFactory.h"
|
||||
|
||||
SequenceNamespace::SequenceNamespace()
|
||||
@ -15,4 +17,6 @@ SequenceNamespace::SequenceNamespace()
|
||||
|
||||
void SequenceNamespace::ProcessMatch(HeaderParserState* state, SequenceResult<HeaderParserValue>& result) const
|
||||
{
|
||||
assert(result.HasNextCapture(CAPTURE_NAME));
|
||||
state->PushBlock(std::make_unique<HeaderBlockNamespace>(result.NextCapture(CAPTURE_NAME).IdentifierValue()));
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "SequenceStruct.h"
|
||||
|
||||
#include "Parsing/Header/Block/HeaderBlockStruct.h"
|
||||
#include "Parsing/Header/Matcher/HeaderMatcherFactory.h"
|
||||
#include "Parsing/Header/Matcher/HeaderCommonMatchers.h"
|
||||
|
||||
@ -25,4 +26,5 @@ SequenceStruct::SequenceStruct()
|
||||
|
||||
void SequenceStruct::ProcessMatch(HeaderParserState* state, SequenceResult<HeaderParserValue>& result) const
|
||||
{
|
||||
state->PushBlock(std::make_unique<HeaderBlockStruct>());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "SequenceUnion.h"
|
||||
|
||||
#include "Parsing/Header/Block/HeaderBlockUnion.h"
|
||||
#include "Parsing/Header/Matcher/HeaderMatcherFactory.h"
|
||||
#include "Parsing/Header/Matcher/HeaderCommonMatchers.h"
|
||||
|
||||
@ -25,4 +26,5 @@ SequenceUnion::SequenceUnion()
|
||||
|
||||
void SequenceUnion::ProcessMatch(HeaderParserState* state, SequenceResult<HeaderParserValue>& result) const
|
||||
{
|
||||
state->PushBlock(std::make_unique<HeaderBlockUnion>());
|
||||
}
|
||||
|
Reference in New Issue
Block a user