2014-07-13 01:04:16 +02:00
|
|
|
//// [assignmentToParenthesizedIdentifiers.ts]
|
|
|
|
var x: number;
|
|
|
|
x = 3; // OK
|
|
|
|
(x) = 3; // OK
|
|
|
|
x = ''; // Error
|
|
|
|
(x) = ''; // Error
|
|
|
|
|
|
|
|
module M {
|
|
|
|
export var y: number;
|
|
|
|
}
|
|
|
|
M.y = 3; // OK
|
|
|
|
(M).y = 3; // OK
|
|
|
|
(M.y) = 3; // OK
|
|
|
|
M.y = ''; // Error
|
|
|
|
(M).y = ''; // Error
|
|
|
|
(M.y) = ''; // Error
|
|
|
|
|
|
|
|
M = { y: 3 }; // Error
|
|
|
|
(M) = { y: 3 }; // Error
|
|
|
|
|
|
|
|
module M2 {
|
|
|
|
export module M3 {
|
|
|
|
export var x: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
M3 = { x: 3 }; // Error
|
|
|
|
}
|
|
|
|
M2.M3 = { x: 3 }; // OK
|
|
|
|
(M2).M3 = { x: 3 }; // OK
|
|
|
|
(M2.M3) = { x: 3 }; // OK
|
|
|
|
|
|
|
|
M2.M3 = { x: '' }; // Error
|
|
|
|
(M2).M3 = { x: '' }; // Error
|
|
|
|
(M2.M3) = { x: '' }; // Error
|
|
|
|
|
|
|
|
|
|
|
|
function fn() { }
|
|
|
|
fn = () => 3; // Bug 823548: Should be error (fn is not a reference)
|
|
|
|
(fn) = () => 3; // Should be error
|
|
|
|
|
|
|
|
function fn2(x: number, y: { t: number }) {
|
|
|
|
x = 3;
|
|
|
|
(x) = 3; // OK
|
|
|
|
x = ''; // Error
|
|
|
|
(x) = ''; // Error
|
|
|
|
|
|
|
|
(y).t = 3; // OK
|
|
|
|
(y.t) = 3; // OK
|
|
|
|
(y).t = ''; // Error
|
|
|
|
(y.t) = ''; // Error
|
|
|
|
|
|
|
|
y['t'] = 3; // OK
|
|
|
|
(y)['t'] = 3; // OK
|
|
|
|
(y['t']) = 3; // OK
|
|
|
|
y['t'] = ''; // Error
|
|
|
|
(y)['t'] = ''; // Error
|
|
|
|
(y['t']) = ''; // Error
|
|
|
|
}
|
|
|
|
|
|
|
|
enum E {
|
|
|
|
A
|
|
|
|
}
|
|
|
|
E = undefined; // Error
|
|
|
|
(E) = undefined; // Error
|
|
|
|
|
|
|
|
class C {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
C = undefined; // Error
|
|
|
|
(C) = undefined; // Error
|
|
|
|
|
|
|
|
|
|
|
|
//// [assignmentToParenthesizedIdentifiers.js]
|
|
|
|
var x;
|
2014-08-16 00:49:09 +02:00
|
|
|
x = 3; // OK
|
|
|
|
(x) = 3; // OK
|
|
|
|
x = ''; // Error
|
|
|
|
(x) = ''; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
var M;
|
|
|
|
(function (M) {
|
|
|
|
M.y;
|
|
|
|
})(M || (M = {}));
|
2014-08-16 00:49:09 +02:00
|
|
|
M.y = 3; // OK
|
|
|
|
(M).y = 3; // OK
|
|
|
|
(M.y) = 3; // OK
|
|
|
|
M.y = ''; // Error
|
|
|
|
(M).y = ''; // Error
|
|
|
|
(M.y) = ''; // Error
|
|
|
|
M = { y: 3 }; // Error
|
|
|
|
(M) = { y: 3 }; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
var M2;
|
|
|
|
(function (M2) {
|
2014-09-07 02:40:19 +02:00
|
|
|
var M3;
|
2014-07-13 01:04:16 +02:00
|
|
|
(function (M3) {
|
|
|
|
M3.x;
|
2014-09-07 02:40:19 +02:00
|
|
|
})(M3 = M2.M3 || (M2.M3 = {}));
|
2014-08-16 00:49:09 +02:00
|
|
|
M3 = { x: 3 }; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
})(M2 || (M2 = {}));
|
2014-08-16 00:49:09 +02:00
|
|
|
M2.M3 = { x: 3 }; // OK
|
|
|
|
(M2).M3 = { x: 3 }; // OK
|
|
|
|
(M2.M3) = { x: 3 }; // OK
|
|
|
|
M2.M3 = { x: '' }; // Error
|
|
|
|
(M2).M3 = { x: '' }; // Error
|
|
|
|
(M2.M3) = { x: '' }; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
function fn() {
|
|
|
|
}
|
2014-08-16 00:49:09 +02:00
|
|
|
fn = function () { return 3; }; // Bug 823548: Should be error (fn is not a reference)
|
|
|
|
(fn) = function () { return 3; }; // Should be error
|
2014-07-13 01:04:16 +02:00
|
|
|
function fn2(x, y) {
|
|
|
|
x = 3;
|
2014-08-16 00:49:09 +02:00
|
|
|
(x) = 3; // OK
|
|
|
|
x = ''; // Error
|
|
|
|
(x) = ''; // Error
|
|
|
|
(y).t = 3; // OK
|
|
|
|
(y.t) = 3; // OK
|
|
|
|
(y).t = ''; // Error
|
|
|
|
(y.t) = ''; // Error
|
|
|
|
y['t'] = 3; // OK
|
|
|
|
(y)['t'] = 3; // OK
|
|
|
|
(y['t']) = 3; // OK
|
|
|
|
y['t'] = ''; // Error
|
|
|
|
(y)['t'] = ''; // Error
|
|
|
|
(y['t']) = ''; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
}
|
|
|
|
var E;
|
|
|
|
(function (E) {
|
|
|
|
E[E["A"] = 0] = "A";
|
|
|
|
})(E || (E = {}));
|
2014-08-16 00:49:09 +02:00
|
|
|
E = undefined; // Error
|
|
|
|
(E) = undefined; // Error
|
2014-07-13 01:04:16 +02:00
|
|
|
var C = (function () {
|
|
|
|
function C() {
|
|
|
|
}
|
|
|
|
return C;
|
|
|
|
})();
|
2014-08-16 00:49:09 +02:00
|
|
|
C = undefined; // Error
|
|
|
|
(C) = undefined; // Error
|