#ifndef SASS_EXTEND_H #define SASS_EXTEND_H #include #include #include #include #include "ast.hpp" #include "operation.hpp" #include "subset_map.hpp" namespace Sass { using namespace std; class Context; typedef Subset_Map > ExtensionSubsetMap; class Extend : public Operation_CRTP { Context& ctx; ExtensionSubsetMap& subset_map; void fallback_impl(AST_Node* n) { }; public: Extend(Context&, ExtensionSubsetMap&); virtual ~Extend() { } using Operation::operator(); void operator()(Block*); void operator()(Ruleset*); void operator()(Feature_Block*); void operator()(Media_Block*); void operator()(At_Rule*); template void fallback(U x) { return fallback_impl(x); } }; } #endif