Select Git revision
ASTNodeListProcessor.hpp
-
Stéphane Del Pino authoredStéphane Del Pino authored
IncDecOperatorRegisterForR.cpp 1.87 KiB
#include <language/utils/IncDecOperatorRegisterForR.hpp>
#include <language/utils/IncDecOperatorProcessorBuilder.hpp>
#include <language/utils/OperatorRepository.hpp>
void
IncDecOperatorRegisterForR::_register_unary_minusminus()
{
OperatorRepository& repository = OperatorRepository::instance();
auto R = ASTNodeDataType::build<ASTNodeDataType::double_t>();
repository.addIncDecOperator<language::unary_minusminus>(R, std::make_shared<IncDecOperatorProcessorBuilder<
language::unary_minusminus, double_t>>());
}
void
IncDecOperatorRegisterForR::_register_unary_plusplus()
{
OperatorRepository& repository = OperatorRepository::instance();
auto R = ASTNodeDataType::build<ASTNodeDataType::double_t>();
repository.addIncDecOperator<
language::unary_plusplus>(R,
std::make_shared<IncDecOperatorProcessorBuilder<language::unary_plusplus, double_t>>());
}
void
IncDecOperatorRegisterForR::_register_post_minusminus()
{
OperatorRepository& repository = OperatorRepository::instance();
auto R = ASTNodeDataType::build<ASTNodeDataType::double_t>();
repository.addIncDecOperator<
language::post_minusminus>(R,
std::make_shared<IncDecOperatorProcessorBuilder<language::post_minusminus, double_t>>());
}
void
IncDecOperatorRegisterForR::_register_post_plusplus()
{
OperatorRepository& repository = OperatorRepository::instance();
auto R = ASTNodeDataType::build<ASTNodeDataType::double_t>();
repository.addIncDecOperator<
language::post_plusplus>(R, std::make_shared<IncDecOperatorProcessorBuilder<language::post_plusplus, double_t>>());
}
IncDecOperatorRegisterForR::IncDecOperatorRegisterForR()
{
this->_register_unary_minusminus();
this->_register_unary_plusplus();
this->_register_post_minusminus();
this->_register_post_plusplus();
}