#include "TechniqueFileParser.h" #include "Sequence/TechniqueNoScopeSequences.h" #include "Sequence/TechniquePassScopeSequences.h" #include "Sequence/TechniqueShaderScopeSequences.h" namespace techset { TechniqueParser::TechniqueParser(SimpleLexer& lexer, std::string techniqueName, const CommonCodeSourceInfos& codeSourceInfos, const CommonStreamRoutingInfos& routingInfos) : AbstractParser(&lexer, std::make_unique(std::move(techniqueName), codeSourceInfos, routingInfos)) { } std::unique_ptr TechniqueParser::GetParsingResult() const { return std::move(m_state->m_technique); } const std::vector& TechniqueParser::GetTestsForState() { if (m_state->m_in_shader) return TechniqueShaderScopeSequences::GetSequences(); if (m_state->m_in_pass) return TechniquePassScopeSequences::GetSequences(); return TechniqueNoScopeSequences::GetSequences(); } } // namespace techset