Comment.js 873 B

123456789101112131415161718192021222324252627282930313233343536
  1. var TYPE = require('../../tokenizer').TYPE;
  2. var ASTERISK = TYPE.Asterisk;
  3. var SOLIDUS = TYPE.Solidus;
  4. // '/*' .* '*/'
  5. module.exports = {
  6. name: 'Comment',
  7. structure: {
  8. value: String
  9. },
  10. parse: function() {
  11. var start = this.scanner.tokenStart;
  12. var end = this.scanner.tokenEnd;
  13. if ((end - start + 2) >= 2 &&
  14. this.scanner.source.charCodeAt(end - 2) === ASTERISK &&
  15. this.scanner.source.charCodeAt(end - 1) === SOLIDUS) {
  16. end -= 2;
  17. }
  18. this.scanner.next();
  19. return {
  20. type: 'Comment',
  21. loc: this.getLocation(start, this.scanner.tokenStart),
  22. value: this.scanner.source.substring(start + 2, end)
  23. };
  24. },
  25. generate: function(node) {
  26. this.chunk('/*');
  27. this.chunk(node.value);
  28. this.chunk('*/');
  29. }
  30. };