@@ -2292,9 +2292,7 @@ namespace Sass {
22922292 { concrete_type (SELECTOR); }
22932293 virtual ~Selector () = 0 ;
22942294 virtual size_t hash () = 0;
2295- virtual unsigned long specificity () const {
2296- return 0 ;
2297- }
2295+ virtual unsigned long specificity () const = 0;
22982296 virtual void set_media_block (Media_Block_Ptr mb) {
22992297 media_block (mb);
23002298 }
@@ -2331,6 +2329,9 @@ namespace Sass {
23312329 { }
23322330 virtual bool has_parent_ref ();
23332331 virtual bool has_real_parent_ref ();
2332+ // selector schema is not yet a final selector, so we do not
2333+ // have a specificity for it yet. We need to
2334+ virtual unsigned long specificity () const { return 0 ; }
23342335 virtual size_t hash () {
23352336 if (hash_ == 0 ) {
23362337 hash_combine (hash_, contents_->hash ());
@@ -2368,10 +2369,6 @@ namespace Sass {
23682369 name_(ptr->name_),
23692370 has_ns_(ptr->has_ns_)
23702371 { simple_type (SIMPLE); }
2371- virtual bool unique () const
2372- {
2373- return false ;
2374- }
23752372 virtual std::string ns_name () const
23762373 {
23772374 std::string name (" " );
@@ -2527,10 +2524,6 @@ namespace Sass {
25272524 Class_Selector (const Class_Selector* ptr)
25282525 : Simple_Selector(ptr)
25292526 { }
2530- virtual bool unique () const
2531- {
2532- return false ;
2533- }
25342527 virtual unsigned long specificity () const
25352528 {
25362529 return Constants::Specificity_Class;
@@ -2551,10 +2544,6 @@ namespace Sass {
25512544 Id_Selector (const Id_Selector* ptr)
25522545 : Simple_Selector(ptr)
25532546 { }
2554- virtual bool unique () const
2555- {
2556- return true ;
2557- }
25582547 virtual unsigned long specificity () const
25592548 {
25602549 return Constants::Specificity_ID;
0 commit comments