@@ -14,9 +14,6 @@ namespace Sass {
14
14
15
15
class Eval : public Operation_CRTP <Expression_Ptr, Eval> {
16
16
17
- private:
18
- Expression_Ptr fallback_impl (AST_Node_Ptr n);
19
-
20
17
public:
21
18
Expand& exp;
22
19
Context& ctx;
@@ -78,18 +75,23 @@ namespace Sass {
78
75
Compound_Selector_Ptr operator ()(Compound_Selector_Ptr);
79
76
Simple_Selector_Ptr operator ()(Simple_Selector_Ptr s);
80
77
Wrapped_Selector_Ptr operator ()(Wrapped_Selector_Ptr s);
78
+
81
79
// they don't have any specific implementation (yet)
82
- // Element_Selector_Ptr operator()(Element_Selector_Ptr s) { return s; };
83
- // Pseudo_Selector_Ptr operator()(Pseudo_Selector_Ptr s) { return s; };
84
- // Class_Selector_Ptr operator()(Class_Selector_Ptr s) { return s; };
85
- // Id_Selector_Ptr operator()(Id_Selector_Ptr s) { return s; };
86
- // Placeholder_Selector_Ptr operator()(Placeholder_Selector_Ptr s) { return s; };
80
+ Id_Selector_Ptr operator ()(Id_Selector_Ptr s) { return s; };
81
+ Class_Selector_Ptr operator ()(Class_Selector_Ptr s) { return s; };
82
+ Pseudo_Selector_Ptr operator ()(Pseudo_Selector_Ptr s) { return s; };
83
+ Element_Selector_Ptr operator ()(Element_Selector_Ptr s) { return s; };
84
+ Attribute_Selector_Ptr operator ()(Attribute_Selector_Ptr s) { return s; };
85
+ Placeholder_Selector_Ptr operator ()(Placeholder_Selector_Ptr s) { return s; };
86
+
87
87
// actual evaluated selectors
88
88
Selector_List_Ptr operator ()(Selector_Schema_Ptr);
89
89
Expression_Ptr operator ()(Parent_Selector_Ptr);
90
90
91
+ // generic fallback
91
92
template <typename U>
92
- Expression_Ptr fallback (U x) { return fallback_impl (x); }
93
+ Expression_Ptr fallback (U x)
94
+ { return Cast<Expression>(x); }
93
95
94
96
private:
95
97
void interpolation (Context& ctx, std::string& res, Expression_Obj ex, bool into_quotes, bool was_itpl = false );
0 commit comments