1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  | var TYPE = require('../../tokenizer').TYPE; 
 |    
 |  var IDENT = TYPE.Ident; 
 |  var FULLSTOP = 0x002E; // U+002E FULL STOP (.) 
 |    
 |  // '.' ident 
 |  module.exports = { 
 |      name: 'ClassSelector', 
 |      structure: { 
 |          name: String 
 |      }, 
 |      parse: function() { 
 |          if (!this.scanner.isDelim(FULLSTOP)) { 
 |              this.error('Full stop is expected'); 
 |          } 
 |    
 |          this.scanner.next(); 
 |    
 |          return { 
 |              type: 'ClassSelector', 
 |              loc: this.getLocation(this.scanner.tokenStart - 1, this.scanner.tokenEnd), 
 |              name: this.consume(IDENT) 
 |          }; 
 |      }, 
 |      generate: function(node) { 
 |          this.chunk('.'); 
 |          this.chunk(node.name); 
 |      } 
 |  }; 
 |  
  |