in src/parser.ts [252:287]
collectComments() {
if (!this.config.comment) {
this.scanner.scanComments();
} else {
const comments: Comment[] = this.scanner.scanComments();
if (comments.length > 0 && this.delegate) {
for (let i = 0; i < comments.length; ++i) {
const e: Comment = comments[i];
let node;
node = {
type: e.multiLine ? 'BlockComment' : 'LineComment',
value: this.scanner.source.slice(e.slice[0], e.slice[1])
};
if (this.config.range) {
node.range = e.range;
}
if (this.config.loc) {
node.loc = e.loc;
}
const metadata = {
start: {
line: e.loc.start.line,
column: e.loc.start.column,
offset: e.range[0]
},
end: {
line: e.loc.end.line,
column: e.loc.end.column,
offset: e.range[1]
}
};
this.delegate(node, metadata);
}
}
}
}