"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const scope_1 = require("./scope"); class WithScope extends scope_1.Scope { constructor(scopeManager, upperScope, block) { super(scopeManager, "with", upperScope, block, false); } __close(scopeManager) { if (this.__shouldStaticallyClose(scopeManager)) { return super.__close(scopeManager); } for (let i = 0, iz = this.__left.length; i < iz; ++i) { const ref = this.__left[i]; ref.tainted = true; this.__delegateToUpperScope(ref); } this.__left = null; return this.upper; } } exports.WithScope = WithScope; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Njb3BlL3dpdGhTY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFnQztBQUloQyxlQUF1QixTQUFRLGFBQUs7SUFDbEMsWUFDRSxZQUEwQixFQUMxQixVQUFpQixFQUNqQixLQUFrQjtRQUVsQixLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxPQUFPLENBQUMsWUFBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDOUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU1QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBeEJELDhCQXdCQyJ9