//// [tests/cases/compiler/externalModuleImmutableBindings.ts] ////

//// [f1.ts]
export var x = 1;

//// [f2.ts]

// all mutations below are illegal and should be fixed
import * as stuff from './f1';

var n = 'baz';

stuff.x = 0;
stuff['x'] = 1;
stuff.blah = 2;
stuff[n] = 3;

stuff.x++;
stuff['x']++;
stuff['blah']++;
stuff[n]++;

(stuff.x) = 0;
(stuff['x']) = 1;
(stuff.blah) = 2;
(stuff[n]) = 3;

(stuff.x)++;
(stuff['x'])++;
(stuff['blah'])++;
(stuff[n])++;

for (stuff.x in []) {}
for (stuff.x of []) {}
for (stuff['x'] in []) {}
for (stuff['x'] of []) {}
for (stuff.blah in []) {}
for (stuff.blah of []) {}
for (stuff[n] in []) {}
for (stuff[n] of []) {}

for ((stuff.x) in []) {}
for ((stuff.x) of []) {}
for ((stuff['x']) in []) {}
for ((stuff['x']) of []) {}
for ((stuff.blah) in []) {}
for ((stuff.blah) of []) {}
for ((stuff[n]) in []) {}
for ((stuff[n]) of []) {}




//// [f1.js]
exports.x = 1;
//// [f2.js]
// all mutations below are illegal and should be fixed
var stuff = require('./f1');
var n = 'baz';
stuff.x = 0;
stuff['x'] = 1;
stuff.blah = 2;
stuff[n] = 3;
stuff.x++;
stuff['x']++;
stuff['blah']++;
stuff[n]++;
(stuff.x) = 0;
(stuff['x']) = 1;
(stuff.blah) = 2;
(stuff[n]) = 3;
(stuff.x)++;
(stuff['x'])++;
(stuff['blah'])++;
(stuff[n])++;
for (stuff.x in []) { }
for (var _i = 0, _a = []; _i < _a.length; _i++) {
    stuff.x = _a[_i];
}
for (stuff['x'] in []) { }
for (var _b = 0, _c = []; _b < _c.length; _b++) {
    stuff['x'] = _c[_b];
}
for (stuff.blah in []) { }
for (var _d = 0, _e = []; _d < _e.length; _d++) {
    stuff.blah = _e[_d];
}
for (stuff[n] in []) { }
for (var _f = 0, _g = []; _f < _g.length; _f++) {
    stuff[n] = _g[_f];
}
for ((stuff.x) in []) { }
for (var _h = 0, _j = []; _h < _j.length; _h++) {
    (stuff.x) = _j[_h];
}
for ((stuff['x']) in []) { }
for (var _k = 0, _l = []; _k < _l.length; _k++) {
    (stuff['x']) = _l[_k];
}
for ((stuff.blah) in []) { }
for (var _m = 0, _o = []; _m < _o.length; _m++) {
    (stuff.blah) = _o[_m];
}
for ((stuff[n]) in []) { }
for (var _p = 0, _q = []; _p < _q.length; _p++) {
    (stuff[n]) = _q[_p];
}
