@glimmer/compiler
Version:
43 lines (34 loc) • 3.75 kB
JavaScript
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; }
import { VISIT_STMTS } from './visitors/statements';
/**
* This is the mutable state for this compiler pass.
*/
export 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 VISIT_STMTS.visitList(block.body, this);
} finally {
this._currentScope = oldBlock;
}
};
_createClass(NormalizationState, [{
key: "scope",
get: function get() {
return this._currentScope;
}
}]);
return NormalizationState;
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLFNBQUEsV0FBQSxRQUFBLHVCQUFBO0FBRUE7Ozs7QUFHQSxXQUFNLGtCQUFOO0FBSUUsOEJBQUEsS0FBQSxFQUFBLFFBQUEsRUFBMEQ7QUFBakIsU0FBQSxRQUFBLEdBQUEsUUFBQTtBQUZ6QyxTQUFBLFlBQUEsR0FBQSxDQUFBO0FBR0UsU0FBQSxhQUFBLEdBQUEsS0FBQTtBQUNEOztBQU5IOztBQUFBLFNBUUUsb0JBUkYsR0FRRSxnQ0FBb0I7QUFDbEIsd0JBQWtCLEtBQWxCLFlBQWtCLEVBQWxCO0FBQ0QsR0FWSDs7QUFBQSxTQWdCRSxVQWhCRixHQWdCRSxvQkFBVSxLQUFWLEVBQTZCO0FBQzNCLFFBQUksUUFBUSxHQUFHLEtBQWYsYUFBQTtBQUNBLFNBQUEsYUFBQSxHQUFxQixLQUFLLENBQTFCLEtBQUE7O0FBRUEsUUFBSTtBQUNGLGFBQU8sV0FBVyxDQUFYLFNBQUEsQ0FBc0IsS0FBSyxDQUEzQixJQUFBLEVBQVAsSUFBTyxDQUFQO0FBREYsS0FBQSxTQUVVO0FBQ1IsV0FBQSxhQUFBLEdBQUEsUUFBQTtBQUNEO0FBQ0YsR0F6Qkg7O0FBQUE7QUFBQTtBQUFBLHdCQVlXO0FBQ1AsYUFBTyxLQUFQLGFBQUE7QUFDRDtBQWRIOztBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBU1R2MiwgU3ltYm9sVGFibGUgfSBmcm9tICdAZ2xpbW1lci9zeW50YXgnO1xuXG5pbXBvcnQgeyBPcHRpb25hbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGlzdCc7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcmVzdWx0JztcbmltcG9ydCAqIGFzIG1pciBmcm9tICcuLi8yLWVuY29kaW5nL21pcic7XG5pbXBvcnQgeyBWSVNJVF9TVE1UUyB9IGZyb20gJy4vdmlzaXRvcnMvc3RhdGVtZW50cyc7XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbXV0YWJsZSBzdGF0ZSBmb3IgdGhpcyBjb21waWxlciBwYXNzLlxuICovXG5leHBvcnQgY2xhc3MgTm9ybWFsaXphdGlvblN0YXRlIHtcbiAgX2N1cnJlbnRTY29wZTogU3ltYm9sVGFibGU7XG4gIF9jdXJzb3JDb3VudCA9IDA7XG5cbiAgY29uc3RydWN0b3IoYmxvY2s6IFN5bWJvbFRhYmxlLCByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbikge1xuICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IGJsb2NrO1xuICB9XG5cbiAgZ2VuZXJhdGVVbmlxdWVDdXJzb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCVjdXJzb3I6JHt0aGlzLl9jdXJzb3JDb3VudCsrfSVgO1xuICB9XG5cbiAgZ2V0IHNjb3BlKCk6IFN5bWJvbFRhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFNjb3BlO1xuICB9XG5cbiAgdmlzaXRCbG9jayhibG9jazogQVNUdjIuQmxvY2spOiBSZXN1bHQ8T3B0aW9uYWxMaXN0PG1pci5TdGF0ZW1lbnQ+PiB7XG4gICAgbGV0IG9sZEJsb2NrID0gdGhpcy5fY3VycmVudFNjb3BlO1xuICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IGJsb2NrLnNjb3BlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBWSVNJVF9TVE1UUy52aXNpdExpc3QoYmxvY2suYm9keSwgdGhpcyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTY29wZSA9IG9sZEJsb2NrO1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==