@@ -131,7 +131,7 @@ namespace Sass {
131
131
// ////////////////////////////////////////////////////////////////////
132
132
class Expression : public AST_Node {
133
133
public:
134
- enum Concrete_Type {
134
+ enum Type {
135
135
NONE,
136
136
BOOLEAN,
137
137
NUMBER,
@@ -148,21 +148,15 @@ namespace Sass {
148
148
VARIABLE,
149
149
NUM_TYPES
150
150
};
151
- enum Simple_Type {
152
- SIMPLE,
153
- ATTR_SEL,
154
- PSEUDO_SEL,
155
- WRAPPED_SEL,
156
- };
157
151
private:
158
152
// expressions in some contexts shouldn't be evaluated
159
153
ADD_PROPERTY (bool , is_delayed)
160
154
ADD_PROPERTY (bool , is_expanded)
161
155
ADD_PROPERTY (bool , is_interpolant)
162
- ADD_PROPERTY (Concrete_Type , concrete_type)
156
+ ADD_PROPERTY (Type , concrete_type)
163
157
public:
164
158
Expression (ParserState pstate,
165
- bool d = false , bool e = false , bool i = false , Concrete_Type ct = NONE)
159
+ bool d = false , bool e = false , bool i = false , Type ct = NONE)
166
160
: AST_Node(pstate),
167
161
is_delayed_ (d),
168
162
is_expanded_(e),
@@ -183,7 +177,10 @@ namespace Sass {
183
177
static std::string type_name () { return " " ; }
184
178
virtual bool is_false () { return false ; }
185
179
// virtual bool is_true() { return !is_false(); }
180
+ virtual bool operator < (const Expression& rhs) const { return false ; }
186
181
virtual bool operator == (const Expression& rhs) const { return false ; }
182
+ inline bool operator >(const Expression& rhs) const { return rhs < *this ; }
183
+ inline bool operator !=(const Expression& rhs) const { return !(rhs == *this ); }
187
184
virtual bool eq (const Expression& rhs) const { return *this == rhs; };
188
185
virtual void set_delayed (bool delayed) { is_delayed (delayed); }
189
186
virtual bool has_interpolant () const { return is_interpolant (); }
@@ -244,6 +241,7 @@ namespace Sass {
244
241
T& operator [](size_t i) { return elements_[i]; }
245
242
virtual const T& at (size_t i) const { return elements_.at (i); }
246
243
virtual T& at (size_t i) { return elements_.at (i); }
244
+ const T& get (size_t i) const { return elements_[i]; }
247
245
const T& operator [](size_t i) const { return elements_[i]; }
248
246
virtual void append (T element)
249
247
{
@@ -361,7 +359,7 @@ namespace Sass {
361
359
// ///////////////////////////////////////////////////////////////////////
362
360
class Statement : public AST_Node {
363
361
public:
364
- enum Statement_Type {
362
+ enum Type {
365
363
NONE,
366
364
RULESET,
367
365
MEDIA,
@@ -387,11 +385,11 @@ namespace Sass {
387
385
IF
388
386
};
389
387
private:
390
- ADD_PROPERTY (Statement_Type , statement_type)
388
+ ADD_PROPERTY (Type , statement_type)
391
389
ADD_PROPERTY (size_t , tabs)
392
390
ADD_PROPERTY (bool , group_end)
393
391
public:
394
- Statement (ParserState pstate, Statement_Type st = NONE, size_t t = 0 )
392
+ Statement (ParserState pstate, Type st = NONE, size_t t = 0 )
395
393
: AST_Node(pstate), statement_type_(st), tabs_(t), group_end_(false )
396
394
{ }
397
395
Statement (const Statement* ptr)
0 commit comments