UNPKG

@glimmer/compiler

Version:
64 lines (52 loc) 4.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NormalizationState = void 0; var _statements = require("./visitors/statements"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * This is the mutable state for this compiler pass. */ var NormalizationState = /*#__PURE__*/function () { function NormalizationState(block, isStrict) { this.isStrict = isStrict; this._cursorCount = 0; this._currentScope = block; } var _proto = NormalizationState.prototype; _proto.generateUniqueCursor = function generateUniqueCursor() { return "%cursor:" + this._cursorCount++ + "%"; }; _proto.visitBlock = function visitBlock(block) { var oldBlock = this._currentScope; this._currentScope = block.scope; try { return _statements.VISIT_STMTS.visitList(block.body, this); } finally { this._currentScope = oldBlock; } }; _createClass(NormalizationState, [{ key: "scope", get: function get() { return this._currentScope; } }]); return NormalizationState; }(); exports.NormalizationState = NormalizationState; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUtBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7O0FBR0EsSUFBTSxrQkFBTixHQUFBLGFBQUEsWUFBQTtBQUlFLFdBQUEsa0JBQUEsQ0FBQSxLQUFBLEVBQUEsUUFBQSxFQUEwRDtBQUFqQixTQUFBLFFBQUEsR0FBQSxRQUFBO0FBRnpDLFNBQUEsWUFBQSxHQUFBLENBQUE7QUFHRSxTQUFBLGFBQUEsR0FBQSxLQUFBO0FBQ0Q7O0FBTkgsTUFBQSxNQUFBLEdBQUEsa0JBQUEsQ0FBQSxTQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLG9CQUFBLEdBUUUsU0FBQSxvQkFBQSxHQUFvQjtBQUNsQixXQUFBLGFBQWtCLEtBQWxCLFlBQWtCLEVBQWxCLEdBQUEsR0FBQTtBQVRKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsVUFBQSxHQWdCRSxTQUFBLFVBQUEsQ0FBQSxLQUFBLEVBQTZCO0FBQzNCLFFBQUksUUFBUSxHQUFHLEtBQWYsYUFBQTtBQUNBLFNBQUEsYUFBQSxHQUFxQixLQUFLLENBQTFCLEtBQUE7O0FBRUEsUUFBSTtBQUNGLGFBQU8sd0JBQUEsU0FBQSxDQUFzQixLQUFLLENBQTNCLElBQUEsRUFBUCxJQUFPLENBQVA7QUFERixLQUFBLFNBRVU7QUFDUixXQUFBLGFBQUEsR0FBQSxRQUFBO0FBQ0Q7QUF4QkwsR0FBQTs7QUFBQSxFQUFBLFlBQUEsQ0FBQSxrQkFBQSxFQUFBLENBQUE7QUFBQSxJQUFBLEdBQUEsRUFBQSxPQUFBO0FBQUEsSUFBQSxHQUFBLEVBQUEsU0FBQSxHQUFBLEdBWVc7QUFDUCxhQUFPLEtBQVAsYUFBQTtBQUNEO0FBZEgsR0FBQSxDQUFBLENBQUE7O0FBQUEsU0FBQSxrQkFBQTtBQUFBLENBQUEsRUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFTVHYyLCBTeW1ib2xUYWJsZSB9IGZyb20gJ0BnbGltbWVyL3N5bnRheCc7XG5cbmltcG9ydCB7IE9wdGlvbmFsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9saXN0JztcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9yZXN1bHQnO1xuaW1wb3J0ICogYXMgbWlyIGZyb20gJy4uLzItZW5jb2RpbmcvbWlyJztcbmltcG9ydCB7IFZJU0lUX1NUTVRTIH0gZnJvbSAnLi92aXNpdG9ycy9zdGF0ZW1lbnRzJztcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtdXRhYmxlIHN0YXRlIGZvciB0aGlzIGNvbXBpbGVyIHBhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3JtYWxpemF0aW9uU3RhdGUge1xuICBfY3VycmVudFNjb3BlOiBTeW1ib2xUYWJsZTtcbiAgX2N1cnNvckNvdW50ID0gMDtcblxuICBjb25zdHJ1Y3RvcihibG9jazogU3ltYm9sVGFibGUsIHJlYWRvbmx5IGlzU3RyaWN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5fY3VycmVudFNjb3BlID0gYmxvY2s7XG4gIH1cblxuICBnZW5lcmF0ZVVuaXF1ZUN1cnNvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJWN1cnNvcjoke3RoaXMuX2N1cnNvckNvdW50Kyt9JWA7XG4gIH1cblxuICBnZXQgc2NvcGUoKTogU3ltYm9sVGFibGUge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2NvcGU7XG4gIH1cblxuICB2aXNpdEJsb2NrKGJsb2NrOiBBU1R2Mi5CbG9jayk6IFJlc3VsdDxPcHRpb25hbExpc3Q8bWlyLlN0YXRlbWVudD4+IHtcbiAgICBsZXQgb2xkQmxvY2sgPSB0aGlzLl9jdXJyZW50U2NvcGU7XG4gICAgdGhpcy5fY3VycmVudFNjb3BlID0gYmxvY2suc2NvcGU7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIFZJU0lUX1NUTVRTLnZpc2l0TGlzdChibG9jay5ib2R5LCB0aGlzKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fY3VycmVudFNjb3BlID0gb2xkQmxvY2s7XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9