Move menu parsing classes to menu namespace

This commit is contained in:
Jan
2021-11-01 09:43:07 +01:00
parent 38d60983e8
commit ff823b4722
26 changed files with 197 additions and 132 deletions

View File

@ -6,27 +6,30 @@
#include "Parsing/Simple/SimpleParserValue.h"
#include "Parsing/Impl/AbstractParser.h"
class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFileParserState>
namespace menu
{
std::vector<std::unique_ptr<sequence_t>> m_all_tests;
std::vector<sequence_t*> m_no_scope_tests;
std::vector<sequence_t*> m_global_scope_tests;
std::vector<sequence_t*> m_function_scope_tests;
std::vector<sequence_t*> m_menu_scope_tests;
std::vector<sequence_t*> m_item_scope_tests;
class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFileParserState>
{
std::vector<std::unique_ptr<sequence_t>> m_all_tests;
std::vector<sequence_t*> m_no_scope_tests;
std::vector<sequence_t*> m_global_scope_tests;
std::vector<sequence_t*> m_function_scope_tests;
std::vector<sequence_t*> m_menu_scope_tests;
std::vector<sequence_t*> m_item_scope_tests;
void AddTest(std::vector<sequence_t*>& collection, std::unique_ptr<sequence_t> test);
void CreateNoScopeTests();
void CreateGlobalScopeTests();
void CreateFunctionScopeTests();
void CreateMenuScopeTests();
void CreateItemScopeTests();
void CreateTestCollections();
void AddTest(std::vector<sequence_t*>& collection, std::unique_ptr<sequence_t> test);
void CreateNoScopeTests();
void CreateGlobalScopeTests();
void CreateFunctionScopeTests();
void CreateMenuScopeTests();
void CreateItemScopeTests();
void CreateTestCollections();
protected:
const std::vector<sequence_t*>& GetTestsForState() override;
protected:
const std::vector<sequence_t*>& GetTestsForState() override;
public:
MenuFileParser(SimpleLexer* lexer, MenuFeatureLevel featureLevel);
_NODISCARD MenuFileParserState* GetState() const;
};
public:
MenuFileParser(SimpleLexer* lexer, FeatureLevel featureLevel);
_NODISCARD MenuFileParserState* GetState() const;
};
}