UNPKG

@glimmer/compiler

Version:
42 lines (33 loc) 3.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NormalizationState = void 0; var _statements = require("./visitors/statements"); /** * This is the mutable state for this compiler pass. */ class NormalizationState { constructor(block, isStrict) { this.isStrict = isStrict; this._cursorCount = 0; this._currentScope = block; } generateUniqueCursor() { return `%cursor:${this._cursorCount++}%`; } get scope() { return this._currentScope; } visitBlock(block) { let oldBlock = this._currentScope; this._currentScope = block.scope; try { return _statements.VISIT_STMTS.visitList(block.body, this); } finally { this._currentScope = oldBlock; } } } exports.NormalizationState = NormalizationState; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUtBOztBQUVBOzs7QUFHTSxNQUFBLGtCQUFBLENBQXlCO0FBSTdCLEVBQUEsV0FBQSxDQUFBLEtBQUEsRUFBQSxRQUFBLEVBQTBEO0FBQWpCLFNBQUEsUUFBQSxHQUFBLFFBQUE7QUFGekMsU0FBQSxZQUFBLEdBQUEsQ0FBQTtBQUdFLFNBQUEsYUFBQSxHQUFBLEtBQUE7QUFDRDs7QUFFRCxFQUFBLG9CQUFvQixHQUFBO0FBQ2xCLFdBQU8sV0FBVyxLQUFBLFlBQUEsRUFBbEIsR0FBQTtBQUNEOztBQUVELE1BQUEsS0FBQSxHQUFTO0FBQ1AsV0FBTyxLQUFQLGFBQUE7QUFDRDs7QUFFRCxFQUFBLFVBQVUsQ0FBQSxLQUFBLEVBQW1CO0FBQzNCLFFBQUksUUFBUSxHQUFHLEtBQWYsYUFBQTtBQUNBLFNBQUEsYUFBQSxHQUFxQixLQUFLLENBQTFCLEtBQUE7O0FBRUEsUUFBSTtBQUNGLGFBQU8sd0JBQUEsU0FBQSxDQUFzQixLQUFLLENBQTNCLElBQUEsRUFBUCxJQUFPLENBQVA7QUFERixLQUFBLFNBRVU7QUFDUixXQUFBLGFBQUEsR0FBQSxRQUFBO0FBQ0Q7QUFDRjs7QUF6QjRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVNUdjIsIFN5bWJvbFRhYmxlIH0gZnJvbSAnQGdsaW1tZXIvc3ludGF4JztcblxuaW1wb3J0IHsgT3B0aW9uYWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpc3QnO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Jlc3VsdCc7XG5pbXBvcnQgKiBhcyBtaXIgZnJvbSAnLi4vMi1lbmNvZGluZy9taXInO1xuaW1wb3J0IHsgVklTSVRfU1RNVFMgfSBmcm9tICcuL3Zpc2l0b3JzL3N0YXRlbWVudHMnO1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIG11dGFibGUgc3RhdGUgZm9yIHRoaXMgY29tcGlsZXIgcGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vcm1hbGl6YXRpb25TdGF0ZSB7XG4gIF9jdXJyZW50U2NvcGU6IFN5bWJvbFRhYmxlO1xuICBfY3Vyc29yQ291bnQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGJsb2NrOiBTeW1ib2xUYWJsZSwgcmVhZG9ubHkgaXNTdHJpY3Q6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jdXJyZW50U2NvcGUgPSBibG9jaztcbiAgfVxuXG4gIGdlbmVyYXRlVW5pcXVlQ3Vyc29yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAlY3Vyc29yOiR7dGhpcy5fY3Vyc29yQ291bnQrK30lYDtcbiAgfVxuXG4gIGdldCBzY29wZSgpOiBTeW1ib2xUYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRTY29wZTtcbiAgfVxuXG4gIHZpc2l0QmxvY2soYmxvY2s6IEFTVHYyLkJsb2NrKTogUmVzdWx0PE9wdGlvbmFsTGlzdDxtaXIuU3RhdGVtZW50Pj4ge1xuICAgIGxldCBvbGRCbG9jayA9IHRoaXMuX2N1cnJlbnRTY29wZTtcbiAgICB0aGlzLl9jdXJyZW50U2NvcGUgPSBibG9jay5zY29wZTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gVklTSVRfU1RNVFMudmlzaXRMaXN0KGJsb2NrLmJvZHksIHRoaXMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9jdXJyZW50U2NvcGUgPSBvbGRCbG9jaztcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=