| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | /** * @fileoverview A class of identifiers generator for code path segments. * * Each rule uses the identifier of code path segments to store additional * information of the code path. * * @author Toru Nagashima */"use strict";//------------------------------------------------------------------------------// Public Interface//------------------------------------------------------------------------------/** * A generator for unique ids. */class IdGenerator {    /**     * @param {string} prefix - Optional. A prefix of generated ids.     */    constructor(prefix) {        this.prefix = String(prefix);        this.n = 0;    }    /**     * Generates id.     *     * @returns {string} A generated id.     */    next() {        this.n = 1 + this.n | 0;        /* istanbul ignore if */        if (this.n < 0) {            this.n = 1;        }        return this.prefix + this.n;    }}module.exports = IdGenerator;
 |