mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 00:25:44 +00:00
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#include "NoScopeSequences.h"
|
|
|
|
#include "Generic/GenericStringPropertySequence.h"
|
|
#include "Parsing/Menu/Matcher/MenuMatcherFactory.h"
|
|
|
|
using namespace menu;
|
|
|
|
namespace menu::no_scope_sequences
|
|
{
|
|
class SequenceOpenGlobalScope final : public MenuFileParser::sequence_t
|
|
{
|
|
public:
|
|
SequenceOpenGlobalScope()
|
|
{
|
|
const MenuMatcherFactory create(this);
|
|
|
|
AddMatchers({
|
|
create.Char('{')
|
|
});
|
|
}
|
|
|
|
protected:
|
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override
|
|
{
|
|
state->m_in_global_scope = true;
|
|
}
|
|
};
|
|
}
|
|
|
|
using namespace no_scope_sequences;
|
|
|
|
NoScopeSequences::NoScopeSequences(std::vector<std::unique_ptr<MenuFileParser::sequence_t>>& allSequences, std::vector<MenuFileParser::sequence_t*>& scopeSequences)
|
|
: AbstractScopeSequenceHolder(allSequences, scopeSequences)
|
|
{
|
|
}
|
|
|
|
void NoScopeSequences::AddSequences(FeatureLevel featureLevel)
|
|
{
|
|
AddSequence(std::make_unique<SequenceOpenGlobalScope>());
|
|
}
|