UNPKG

@glimmer/compiler

Version:
33 lines (27 loc) 2.93 kB
import { VISIT_STMTS } from './visitors/statements'; /** * This is the mutable state for this compiler pass. */ export 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 VISIT_STMTS.visitList(block.body, this); } finally { this._currentScope = oldBlock; } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxXQUFULFFBQTRCLHVCQUE1QjtBQUVBOzs7O0FBR0EsT0FBTSxNQUFPLGtCQUFQLENBQXlCO0FBSTdCLEVBQUEsV0FBQSxDQUFZLEtBQVosRUFBeUMsUUFBekMsRUFBMEQ7QUFBakIsU0FBQSxRQUFBLEdBQUEsUUFBQTtBQUZ6QyxTQUFBLFlBQUEsR0FBZSxDQUFmO0FBR0UsU0FBSyxhQUFMLEdBQXFCLEtBQXJCO0FBQ0Q7O0FBRUQsRUFBQSxvQkFBb0IsR0FBQTtBQUNsQixXQUFPLFdBQVcsS0FBSyxZQUFMLEVBQW1CLEdBQXJDO0FBQ0Q7O0FBRUQsTUFBSSxLQUFKLEdBQVM7QUFDUCxXQUFPLEtBQUssYUFBWjtBQUNEOztBQUVELEVBQUEsVUFBVSxDQUFDLEtBQUQsRUFBbUI7QUFDM0IsUUFBSSxRQUFRLEdBQUcsS0FBSyxhQUFwQjtBQUNBLFNBQUssYUFBTCxHQUFxQixLQUFLLENBQUMsS0FBM0I7O0FBRUEsUUFBSTtBQUNGLGFBQU8sV0FBVyxDQUFDLFNBQVosQ0FBc0IsS0FBSyxDQUFDLElBQTVCLEVBQWtDLElBQWxDLENBQVA7QUFDRCxLQUZELFNBRVU7QUFDUixXQUFLLGFBQUwsR0FBcUIsUUFBckI7QUFDRDtBQUNGOztBQXpCNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBU1R2MiwgU3ltYm9sVGFibGUgfSBmcm9tICdAZ2xpbW1lci9zeW50YXgnO1xuXG5pbXBvcnQgeyBPcHRpb25hbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGlzdCc7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcmVzdWx0JztcbmltcG9ydCAqIGFzIG1pciBmcm9tICcuLi8yLWVuY29kaW5nL21pcic7XG5pbXBvcnQgeyBWSVNJVF9TVE1UUyB9IGZyb20gJy4vdmlzaXRvcnMvc3RhdGVtZW50cyc7XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbXV0YWJsZSBzdGF0ZSBmb3IgdGhpcyBjb21waWxlciBwYXNzLlxuICovXG5leHBvcnQgY2xhc3MgTm9ybWFsaXphdGlvblN0YXRlIHtcbiAgX2N1cnJlbnRTY29wZTogU3ltYm9sVGFibGU7XG4gIF9jdXJzb3JDb3VudCA9IDA7XG5cbiAgY29uc3RydWN0b3IoYmxvY2s6IFN5bWJvbFRhYmxlLCByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbikge1xuICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IGJsb2NrO1xuICB9XG5cbiAgZ2VuZXJhdGVVbmlxdWVDdXJzb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCVjdXJzb3I6JHt0aGlzLl9jdXJzb3JDb3VudCsrfSVgO1xuICB9XG5cbiAgZ2V0IHNjb3BlKCk6IFN5bWJvbFRhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFNjb3BlO1xuICB9XG5cbiAgdmlzaXRCbG9jayhibG9jazogQVNUdjIuQmxvY2spOiBSZXN1bHQ8T3B0aW9uYWxMaXN0PG1pci5TdGF0ZW1lbnQ+PiB7XG4gICAgbGV0IG9sZEJsb2NrID0gdGhpcy5fY3VycmVudFNjb3BlO1xuICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IGJsb2NrLnNjb3BlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBWSVNJVF9TVE1UUy52aXNpdExpc3QoYmxvY2suYm9keSwgdGhpcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IG9sZEJsb2NrO1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==