#pragma once #include #include "DefinesIfDirectiveParsingState.h" #include "Parsing/Simple/Expression/SimpleExpressionMatchers.h" class DefinesIfExpressionMatchers final : public SimpleExpressionMatchers { static constexpr auto CAPTURE_DEFINE_NAME = CAPTURE_OFFSET_EXPRESSION_EXT + 1; const DefinesIfDirectiveParsingState* m_state; protected: std::unique_ptr ParseOperandExtension(const supplier_t* labelSupplier) const override; std::unique_ptr ProcessOperandExtension(SequenceResult& result) const override; public: DefinesIfExpressionMatchers(); explicit DefinesIfExpressionMatchers(const DefinesIfDirectiveParsingState* state); };