@@ -275,7 +275,7 @@ extern "C" {
275
275
276
276
union Sass_Value* ADDCALL sass_value_stringify (const union Sass_Value* v, bool compressed, int precision)
277
277
{
278
- Value_Ptr val = sass_value_to_ast_node (v);
278
+ Value_Obj val = sass_value_to_ast_node (v);
279
279
Sass_Inspect_Options options (compressed ? COMPRESSED : NESTED, precision);
280
280
std::string str (val->to_string (options));
281
281
return sass_make_qstring (str.c_str ());
@@ -288,44 +288,44 @@ extern "C" {
288
288
289
289
try {
290
290
291
- Value_Ptr lhs = sass_value_to_ast_node (a);
292
- Value_Ptr rhs = sass_value_to_ast_node (b);
291
+ Value_Obj lhs = sass_value_to_ast_node (a);
292
+ Value_Obj rhs = sass_value_to_ast_node (b);
293
293
struct Sass_Inspect_Options options (NESTED, 5 );
294
294
295
295
// see if it's a relational expression
296
296
switch (op) {
297
- case Sass_OP::EQ: return sass_make_boolean (Eval::eq (lhs, rhs));
298
- case Sass_OP::NEQ: return sass_make_boolean (!Eval::eq (lhs, rhs));
299
- case Sass_OP::GT: return sass_make_boolean (!Eval::lt (lhs, rhs, " gt" ) && !Eval::eq (lhs, rhs));
300
- case Sass_OP::GTE: return sass_make_boolean (!Eval::lt (lhs, rhs, " gte" ));
301
- case Sass_OP::LT: return sass_make_boolean (Eval::lt (lhs, rhs, " lt" ));
302
- case Sass_OP::LTE: return sass_make_boolean (Eval::lt (lhs, rhs, " lte" ) || Eval::eq (lhs, rhs));
297
+ case Sass_OP::EQ: return sass_make_boolean (Eval::eq (& lhs, & rhs));
298
+ case Sass_OP::NEQ: return sass_make_boolean (!Eval::eq (& lhs, & rhs));
299
+ case Sass_OP::GT: return sass_make_boolean (!Eval::lt (& lhs, & rhs, " gt" ) && !Eval::eq (& lhs, & rhs));
300
+ case Sass_OP::GTE: return sass_make_boolean (!Eval::lt (& lhs, & rhs, " gte" ));
301
+ case Sass_OP::LT: return sass_make_boolean (Eval::lt (& lhs, & rhs, " lt" ));
302
+ case Sass_OP::LTE: return sass_make_boolean (Eval::lt (& lhs, & rhs, " lte" ) || Eval::eq (& lhs, & rhs));
303
303
default : break ;
304
304
}
305
305
306
306
if (sass_value_is_number (a) && sass_value_is_number (b)) {
307
- Number_Ptr_Const l_n = dynamic_cast <Number_Ptr_Const>( lhs);
308
- Number_Ptr_Const r_n = dynamic_cast <Number_Ptr_Const>( rhs);
307
+ Number_Ptr_Const l_n = SASS_MEMORY_CAST (Number, lhs);
308
+ Number_Ptr_Const r_n = SASS_MEMORY_CAST (Number, rhs);
309
309
rv = Eval::op_numbers (op, *l_n, *r_n, options);
310
310
}
311
311
else if (sass_value_is_number (a) && sass_value_is_color (a)) {
312
- Number_Ptr_Const l_n = dynamic_cast <Number_Ptr_Const>( lhs);
313
- Color_Ptr_Const r_c = dynamic_cast <Color_Ptr_Const>( rhs);
312
+ Number_Ptr_Const l_n = SASS_MEMORY_CAST (Number, lhs);
313
+ Color_Ptr_Const r_c = SASS_MEMORY_CAST (Color, rhs);
314
314
rv = Eval::op_number_color (op, *l_n, *r_c, options);
315
315
}
316
316
else if (sass_value_is_color (a) && sass_value_is_number (b)) {
317
- Color_Ptr_Const l_c = dynamic_cast <Color_Ptr_Const>( lhs);
318
- Number_Ptr_Const r_n = dynamic_cast <Number_Ptr_Const>( rhs);
317
+ Color_Ptr_Const l_c = SASS_MEMORY_CAST (Color, lhs);
318
+ Number_Ptr_Const r_n = SASS_MEMORY_CAST (Number, rhs);
319
319
rv = Eval::op_color_number (op, *l_c, *r_n, options);
320
320
}
321
321
else if (sass_value_is_color (a) && sass_value_is_color (b)) {
322
- Color_Ptr_Const l_c = dynamic_cast <Color_Ptr_Const>( lhs);
323
- Color_Ptr_Const r_c = dynamic_cast <Color_Ptr_Const>( rhs);
322
+ Color_Ptr_Const l_c = SASS_MEMORY_CAST (Color, lhs);
323
+ Color_Ptr_Const r_c = SASS_MEMORY_CAST (Color, rhs);
324
324
rv = Eval::op_colors (op, *l_c, *r_c, options);
325
325
}
326
326
else /* convert other stuff to string and apply operation */ {
327
- Value_Ptr l_v = dynamic_cast <Value_Ptr>( lhs);
328
- Value_Ptr r_v = dynamic_cast <Value_Ptr>( rhs);
327
+ Value_Ptr l_v = SASS_MEMORY_CAST (Value, lhs);
328
+ Value_Ptr r_v = SASS_MEMORY_CAST (Value, rhs);
329
329
rv = Eval::op_strings (op, *l_v, *r_v, options);
330
330
}
331
331
0 commit comments