|
Packit |
bfcc33 |
#ifndef SASS_INSPECT_H
|
|
Packit |
bfcc33 |
#define SASS_INSPECT_H
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
#include "position.hpp"
|
|
Packit |
bfcc33 |
#include "operation.hpp"
|
|
Packit |
bfcc33 |
#include "emitter.hpp"
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
namespace Sass {
|
|
Packit |
bfcc33 |
class Context;
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
class Inspect : public Operation_CRTP<void, Inspect>, public Emitter {
|
|
Packit |
bfcc33 |
protected:
|
|
Packit |
bfcc33 |
// import all the class-specific methods and override as desired
|
|
Packit |
bfcc33 |
using Operation_CRTP<void, Inspect>::operator();
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
void fallback_impl(AST_Node_Ptr n);
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
public:
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
Inspect(const Emitter& emi);
|
|
Packit |
bfcc33 |
virtual ~Inspect();
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
// statements
|
|
Packit |
bfcc33 |
virtual void operator()(Block_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Ruleset_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Bubble_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Supports_Block_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Media_Block_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(At_Root_Block_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Directive_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Keyframe_Rule_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Declaration_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Assignment_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Import_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Import_Stub_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Warning_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Error_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Debug_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Comment_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(If_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(For_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Each_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(While_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Return_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Extension_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Definition_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Mixin_Call_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Content_Ptr);
|
|
Packit |
bfcc33 |
// expressions
|
|
Packit |
bfcc33 |
virtual void operator()(Map_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(List_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Binary_Expression_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Unary_Expression_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Function_Call_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Function_Call_Schema_Ptr);
|
|
Packit |
bfcc33 |
// virtual void operator()(Custom_Warning_Ptr);
|
|
Packit |
bfcc33 |
// virtual void operator()(Custom_Error_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Variable_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Number_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Color_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Boolean_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(String_Schema_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(String_Constant_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(String_Quoted_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Custom_Error_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Custom_Warning_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Supports_Operator_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Supports_Negation_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Supports_Declaration_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Supports_Interpolation_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Media_Query_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Media_Query_Expression_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(At_Root_Query_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Null_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Parent_Selector_Ptr p);
|
|
Packit |
bfcc33 |
// parameters and arguments
|
|
Packit |
bfcc33 |
virtual void operator()(Parameter_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Parameters_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Argument_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Arguments_Ptr);
|
|
Packit |
bfcc33 |
// selectors
|
|
Packit |
bfcc33 |
virtual void operator()(Selector_Schema_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Placeholder_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Element_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Class_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Id_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Attribute_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Pseudo_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Wrapped_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Compound_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Complex_Selector_Ptr);
|
|
Packit |
bfcc33 |
virtual void operator()(Selector_List_Ptr);
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
// template <typename U>
|
|
Packit |
bfcc33 |
// void fallback(U x) { fallback_impl(reinterpret_cast<AST_Node_Ptr>(x)); }
|
|
Packit |
bfcc33 |
};
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
}
|
|
Packit |
bfcc33 |
#endif
|