Merge pull request #6004 from Microsoft/IICEs

Fix code for immediately 'new'-ed/invoked class expressions
This commit is contained in:
Daniel Rosenwasser 2015-12-09 14:15:38 -08:00
commit ecfeb21965
3567 changed files with 7564 additions and 7515 deletions

View File

@ -5260,11 +5260,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
writeLine();
emitToken(SyntaxKind.CloseBraceToken, node.members.end);
emitStart(node);
write(")(");
write("(");
if (baseTypeNode) {
emit(baseTypeNode.expression);
}
write(")");
write("))");
if (node.kind === SyntaxKind.ClassDeclaration) {
write(";");
}

View File

@ -20,12 +20,12 @@ var Cell = (function () {
function Cell() {
}
return Cell;
})();
}());
var Ship = (function () {
function Ship() {
}
return Ship;
})();
}());
var Board = (function () {
function Board() {
}
@ -33,4 +33,4 @@ var Board = (function () {
return this.ships.every(function (val) { return val.isSunk; });
};
return Board;
})();
}());

View File

@ -31,7 +31,7 @@ var A;
this.y = y;
}
return Point;
})();
}());
A.Point = Point;
})(A || (A = {}));
//// [test.js]

View File

@ -55,7 +55,7 @@ var clodule1 = (function () {
function clodule1() {
}
return clodule1;
})();
}());
var clodule1;
(function (clodule1) {
function f(x) { }
@ -64,7 +64,7 @@ var clodule2 = (function () {
function clodule2() {
}
return clodule2;
})();
}());
var clodule2;
(function (clodule2) {
var x;
@ -72,13 +72,13 @@ var clodule2;
function D() {
}
return D;
})();
}());
})(clodule2 || (clodule2 = {}));
var clodule3 = (function () {
function clodule3() {
}
return clodule3;
})();
}());
var clodule3;
(function (clodule3) {
clodule3.y = { id: T };
@ -87,12 +87,12 @@ var clodule4 = (function () {
function clodule4() {
}
return clodule4;
})();
}());
var clodule4;
(function (clodule4) {
var D = (function () {
function D() {
}
return D;
})();
}());
})(clodule4 || (clodule4 = {}));

View File

@ -21,7 +21,7 @@ var clodule = (function () {
}
clodule.fn = function (id) { };
return clodule;
})();
}());
var clodule;
(function (clodule) {
// error: duplicate identifier expected

View File

@ -21,7 +21,7 @@ var clodule = (function () {
}
clodule.fn = function (id) { };
return clodule;
})();
}());
var clodule;
(function (clodule) {
// error: duplicate identifier expected

View File

@ -21,7 +21,7 @@ var clodule = (function () {
}
clodule.sfn = function (id) { return 42; };
return clodule;
})();
}());
var clodule;
(function (clodule) {
// error: duplicate identifier expected

View File

@ -30,7 +30,7 @@ var Point = (function () {
}
Point.Origin = function () { return { x: 0, y: 0 }; }; // unexpected error here bug 840246
return Point;
})();
}());
var Point;
(function (Point) {
function Origin() { return null; }
@ -45,7 +45,7 @@ var A;
}
Point.Origin = function () { return { x: 0, y: 0 }; }; // unexpected error here bug 840246
return Point;
})();
}());
A.Point = Point;
var Point;
(function (Point) {

View File

@ -30,7 +30,7 @@ var Point = (function () {
}
Point.Origin = function () { return { x: 0, y: 0 }; };
return Point;
})();
}());
var Point;
(function (Point) {
function Origin() { return ""; } // not an error, since not exported
@ -44,7 +44,7 @@ var A;
}
Point.Origin = function () { return { x: 0, y: 0 }; };
return Point;
})();
}());
A.Point = Point;
var Point;
(function (Point) {

View File

@ -30,7 +30,7 @@ var Point = (function () {
}
Point.Origin = { x: 0, y: 0 };
return Point;
})();
}());
var Point;
(function (Point) {
Point.Origin = ""; //expected duplicate identifier error
@ -44,7 +44,7 @@ var A;
}
Point.Origin = { x: 0, y: 0 };
return Point;
})();
}());
A.Point = Point;
var Point;
(function (Point) {

View File

@ -30,7 +30,7 @@ var Point = (function () {
}
Point.Origin = { x: 0, y: 0 };
return Point;
})();
}());
var Point;
(function (Point) {
var Origin = ""; // not an error, since not exported
@ -44,7 +44,7 @@ var A;
}
Point.Origin = { x: 0, y: 0 };
return Point;
})();
}());
A.Point = Point;
var Point;
(function (Point) {

View File

@ -51,7 +51,7 @@ var X;
this.y = y;
}
return Point;
})();
}());
Y.Point = Point;
})(Y = X.Y || (X.Y = {}));
})(X || (X = {}));
@ -75,7 +75,7 @@ var A = (function () {
function A() {
}
return A;
})();
}());
var A;
(function (A) {
A.Instance = new A();

View File

@ -9,4 +9,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -10,4 +10,4 @@ var C = (function () {
}
C.prototype.foo = function () { };
return C;
})();
}());

View File

@ -10,4 +10,4 @@ var C = (function () {
}
C.prototype.bar = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -10,4 +10,4 @@ var C = (function () {
}
C.prototype[1] = function () { };
return C;
})();
}());

View File

@ -10,4 +10,4 @@ var C = (function () {
}
C.prototype["bar"] = function () { };
return C;
})();
}());

View File

@ -7,4 +7,4 @@ var any = (function () {
function any() {
}
return any;
})();
}());

View File

@ -14,4 +14,4 @@ var List = (function () {
function List() {
}
return List;
})();
}());

View File

@ -11,5 +11,5 @@ var C = (function () {
this.foo = 10;
}
return C;
})();
}());
var constructor = function () { };

View File

@ -8,4 +8,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -8,4 +8,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var AtomicNumbers = (function () {
}
AtomicNumbers.H = 1;
return AtomicNumbers;
})();
}());

View File

@ -10,4 +10,4 @@ var C = (function () {
this.x = 10;
}
return C;
})();
}());

View File

@ -32,4 +32,4 @@ var StringIterator = (function () {
return this;
};
return StringIterator;
})();
}());

View File

@ -19,7 +19,7 @@ var M;
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
M.C = C;
(new C)[Symbol.iterator];
})(M || (M = {}));

View File

@ -14,5 +14,5 @@ var C = (function () {
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
(new C)[Symbol.iterator];

View File

@ -14,5 +14,5 @@ var C = (function () {
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
(new C)[Symbol.iterator];

View File

@ -14,5 +14,5 @@ var C = (function () {
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
(new C)[Symbol.iterator](0); // Should error

View File

@ -11,5 +11,5 @@ var C = (function () {
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
(new C)[Symbol.iterator];

View File

@ -14,5 +14,5 @@ var C = (function () {
}
C.prototype[Symbol.iterator] = function () { };
return C;
})();
}());
(new C)[Symbol.iterator];

View File

@ -30,7 +30,7 @@ var enumdule;
this.y = y;
}
return Point;
})();
}());
enumdule.Point = Point;
})(enumdule || (enumdule = {}));
var x;

View File

@ -10,5 +10,5 @@ var C = (function () {
function C() {
}
return C;
})();
}());
exports.C = C;

View File

@ -10,5 +10,5 @@ var C = (function () {
function C() {
}
return C;
})();
}());
exports.C = C;

View File

@ -31,6 +31,6 @@ var A;
return 1;
};
return Point2d;
})();
}());
A.Point2d = Point2d;
})(A || (A = {}));

View File

@ -32,7 +32,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
A.Origin = { x: 0, y: 0 };
var Point3d = (function (_super) {
@ -41,7 +41,7 @@ var A;
_super.apply(this, arguments);
}
return Point3d;
})(Point);
}(Point));
A.Point3d = Point3d;
A.Origin3d = { x: 0, y: 0, z: 0 };
var Line = (function () {
@ -50,6 +50,6 @@ var A;
this.end = end;
}
return Line;
})();
}());
A.Line = Line;
})(A || (A = {}));

View File

@ -22,11 +22,11 @@ var A;
function Point() {
}
return Point;
})();
}());
var points = (function () {
function points() {
}
return points;
})();
}());
A.points = points;
})(A || (A = {}));

View File

@ -36,7 +36,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Origin = { x: 0, y: 0 };
var Point3d = (function (_super) {
__extends(Point3d, _super);
@ -44,7 +44,7 @@ var A;
_super.apply(this, arguments);
}
return Point3d;
})(Point);
}(Point));
A.Point3d = Point3d;
A.Origin3d = { x: 0, y: 0, z: 0 };
var Line = (function () {
@ -56,6 +56,6 @@ var A;
return null;
};
return Line;
})();
}());
A.Line = Line;
})(A || (A = {}));

View File

@ -22,7 +22,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
var Line = (function () {
function Line(start, end) {
@ -30,7 +30,7 @@ var A;
this.end = end;
}
return Line;
})();
}());
A.Line = Line;
function fromOrigin(p) {
return new Line({ x: 0, y: 0 }, p);

View File

@ -22,14 +22,14 @@ var A;
function Point() {
}
return Point;
})();
}());
var Line = (function () {
function Line(start, end) {
this.start = start;
this.end = end;
}
return Line;
})();
}());
A.Line = Line;
function fromOrigin(p) {
return new Line({ x: 0, y: 0 }, p);

View File

@ -22,7 +22,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
var Line = (function () {
function Line(start, end) {
@ -30,7 +30,7 @@ var A;
this.end = end;
}
return Line;
})();
}());
function fromOrigin(p) {
return new Line({ x: 0, y: 0 }, p);
}

View File

@ -29,7 +29,7 @@ var A;
this.y = y;
}
return Point;
})();
}());
A.Point = Point;
var B;
(function (B) {
@ -41,7 +41,7 @@ var A;
return new Line({ x: 0, y: 0 }, p);
};
return Line;
})();
}());
B.Line = Line;
})(B = A.B || (A.B = {}));
})(A || (A = {}));

View File

@ -20,7 +20,7 @@ var A;
this.y = y;
}
return Point;
})();
}());
A.Origin = { x: 0, y: 0 };
A.Unity = { start: new Point(0, 0), end: new Point(1, 0) };
})(A || (A = {}));

View File

@ -20,6 +20,6 @@ var A;
this.y = y;
}
return Point;
})();
}());
A.UnitSquare = null;
})(A || (A = {}));

View File

@ -15,6 +15,6 @@ var A;
function B() {
}
return B;
})();
}());
A.beez2 = new Array();
})(A || (A = {}));

View File

@ -13,4 +13,4 @@ var C = (function () {
configurable: true
});
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype.foo = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype.foo = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype[foo] = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype. = function () { };
return C;
})();
}());

View File

@ -8,4 +8,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -8,4 +8,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype.foo = function () { };
return C;
})();
}());

View File

@ -19,4 +19,4 @@ var C = (function () {
return bar;
};
return C;
})();
}());

View File

@ -54,7 +54,7 @@ var X;
this.y = y;
}
return Point;
})();
}());
Y.Point = Point;
})(Y = X.Y || (X.Y = {}));
})(X || (X = {}));
@ -68,4 +68,4 @@ var A = (function () {
function A() {
}
return A;
})();
}());

View File

@ -25,7 +25,7 @@ var enumdule;
this.y = y;
}
return Point;
})();
}());
enumdule.Point = Point;
})(enumdule || (enumdule = {}));
var enumdule;

View File

@ -40,24 +40,24 @@ var A;
function A() {
}
return A;
})();
}());
A_1.A = A;
var AG = (function () {
function AG() {
}
return AG;
})();
}());
A_1.AG = AG;
var A2 = (function () {
function A2() {
}
return A2;
})();
}());
var AG2 = (function () {
function AG2() {
}
return AG2;
})();
}());
})(A || (A = {}));
// no errors expected, these are all exported
var a;

View File

@ -48,7 +48,7 @@ var B;
this.end = end;
}
return Line;
})();
}());
B.Line = Line;
})(B || (B = {}));
var Geometry;

View File

@ -45,7 +45,7 @@ var Inner;
function A() {
}
return A;
})();
}());
var B;
(function (B) {
B.a = 1, B.c = 2;
@ -63,7 +63,7 @@ var Inner;
function D() {
}
return D;
})();
}());
Inner.e1 = new D;
Inner.f1 = new D;
Inner.g1 = new D;

View File

@ -9,4 +9,4 @@ var C = (function () {
function C(C) {
}
return C;
})();
}());

View File

@ -11,4 +11,4 @@ var C1 = (function () {
this.p3 = p3;
} // OK
return C1;
})();
}());

View File

@ -7,4 +7,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -8,4 +8,4 @@ var C = (function () {
function C() {
}
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype.m = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.m = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.m = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
}
C.prototype.m = function () { };
return C;
})();
}());

View File

@ -9,4 +9,4 @@ var C = (function () {
this.p = p;
}
return C;
})();
}());

View File

@ -47,7 +47,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
})(A || (A = {}));
var A;
@ -59,7 +59,7 @@ var A;
return { x: p.x, y: p.y };
};
return Point;
})();
}());
})(A || (A = {}));
// ensure merges as expected
var p;
@ -74,7 +74,7 @@ var X;
function Line() {
}
return Line;
})();
}());
Z.Line = Line;
})(Z = Y.Z || (Y.Z = {}));
})(Y = X.Y || (X.Y = {}));
@ -89,7 +89,7 @@ var X;
function Line() {
}
return Line;
})();
}());
})(Z = Y.Z || (Y.Z = {}));
})(Y = X.Y || (X.Y = {}));
})(X || (X = {}));

View File

@ -66,7 +66,7 @@ var A;
this.br = br;
}
return Plane;
})();
}());
Utils.Plane = Plane;
})(Utils = A.Utils || (A.Utils = {}));
})(A || (A = {}));

View File

@ -39,7 +39,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
})(A || (A = {}));
var A;
@ -49,7 +49,7 @@ var A;
function Point() {
}
return Point;
})();
}());
A.Point = Point;
})(A || (A = {}));
var X;
@ -62,7 +62,7 @@ var X;
function Line() {
}
return Line;
})();
}());
Z.Line = Line;
})(Z = Y.Z || (Y.Z = {}));
})(Y = X.Y || (X.Y = {}));
@ -78,7 +78,7 @@ var X;
function Line() {
}
return Line;
})();
}());
Z.Line = Line;
})(Z = Y.Z || (Y.Z = {}));
})(Y = X.Y || (X.Y = {}));

View File

@ -56,7 +56,7 @@ var A;
this.br = br;
}
return Plane;
})();
}());
Utils.Plane = Plane;
})(Utils = A.Utils || (A.Utils = {}));
})(A = exports.A || (exports.A = {}));

View File

@ -60,7 +60,7 @@ var X;
function Line() {
}
return Line;
})();
}());
Z.Line = Line;
})(Z = Y.Z || (Y.Z = {}));
})(Y = X.Y || (X.Y = {}));
@ -75,7 +75,7 @@ var X;
function Line() {
}
return Line;
})();
}());
Z.Line = Line;
})(Z || (Z = {}));
})(Y = X.Y || (X.Y = {}));

View File

@ -59,7 +59,7 @@ var otherRoot;
this.br = br;
}
return Plane;
})();
}());
Utils.Plane = Plane;
})(Utils = A.Utils || (A.Utils = {}));
})(A = otherRoot.A || (otherRoot.A = {}));

View File

@ -62,7 +62,7 @@ var A;
this.br = br;
}
return Plane;
})();
}());
Utils.Plane = Plane;
})(Utils = A.Utils || (A.Utils = {}));
})(A || (A = {}));

View File

@ -15,7 +15,7 @@ var Message = (function () {
function Message() {
}
return Message;
})();
}());
function saySize(message) {
if (message instanceof Array) {
return message.length; // Should have type Message[] here

View File

@ -13,4 +13,4 @@ var C = (function () {
yield (foo);
};
return C;
})();
}());

View File

@ -11,4 +11,4 @@ var C = (function () {
yield foo;
}
return C;
})();
}());

View File

@ -13,4 +13,4 @@ var C = (function () {
yield foo;
};
return C;
})();
}());

View File

@ -30,7 +30,7 @@ var Point = (function () {
return "x=" + this.x + " y=" + this.y;
};
return Point;
})();
}());
var ColoredPoint = (function (_super) {
__extends(ColoredPoint, _super);
function ColoredPoint(x, y, color) {
@ -41,4 +41,4 @@ var ColoredPoint = (function (_super) {
return _super.prototype.toString.call(this) + " color=" + this.color;
};
return ColoredPoint;
})(Point);
}(Point));

View File

@ -84,7 +84,7 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
// Errors, accessibility modifiers must precede static
var D = (function () {
function D() {
@ -123,7 +123,7 @@ var D = (function () {
configurable: true
});
return D;
})();
}());
// Errors, multiple accessibility modifier
var E = (function () {
function E() {
@ -140,4 +140,4 @@ var E = (function () {
configurable: true
});
return E;
})();
}());

View File

@ -20,4 +20,4 @@ var C = (function () {
configurable: true
});
return C;
})();
}());

View File

@ -34,7 +34,7 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
var D = (function () {
function D() {
}
@ -45,7 +45,7 @@ var D = (function () {
configurable: true
});
return D;
})();
}());
var x = {
get a() { return 1; }
};

View File

@ -31,7 +31,7 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
var D = (function () {
function D() {
}
@ -42,7 +42,7 @@ var D = (function () {
configurable: true
});
return D;
})();
}());
var x = {
get a() { return 1; }
};

View File

@ -24,4 +24,4 @@ var C = (function () {
configurable: true
});
return C;
})();
}());

View File

@ -46,7 +46,7 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
var D = (function () {
function D() {
}
@ -60,7 +60,7 @@ var D = (function () {
configurable: true
});
return D;
})();
}());
var E = (function () {
function E() {
}
@ -74,7 +74,7 @@ var E = (function () {
configurable: true
});
return E;
})();
}());
var F = (function () {
function F() {
}
@ -88,4 +88,4 @@ var F = (function () {
configurable: true
});
return F;
})();
}());

View File

@ -30,4 +30,4 @@ var C = (function () {
configurable: true
});
return C;
})();
}());

View File

@ -28,6 +28,6 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
var c;
var r = c.x(''); // string

View File

@ -20,7 +20,7 @@ var Result = (function () {
function Result() {
}
return Result;
})();
}());
var Test = (function () {
function Test() {
}
@ -33,7 +33,7 @@ var Test = (function () {
configurable: true
});
return Test;
})();
}());
var Test2 = (function () {
function Test2() {
}
@ -46,4 +46,4 @@ var Test2 = (function () {
configurable: true
});
return Test2;
})();
}());

View File

@ -16,5 +16,5 @@ var C = (function () {
configurable: true
});
return C;
})();
}());
var y = { get foo() { return 3; } };

View File

@ -42,4 +42,4 @@ var LanguageSpec_section_4_5_error_cases = (function () {
configurable: true
});
return LanguageSpec_section_4_5_error_cases;
})();
}());

View File

@ -34,14 +34,14 @@ var A = (function () {
function A() {
}
return A;
})();
}());
var B = (function (_super) {
__extends(B, _super);
function B() {
_super.apply(this, arguments);
}
return B;
})(A);
}(A));
var LanguageSpec_section_4_5_inference = (function () {
function LanguageSpec_section_4_5_inference() {
}
@ -82,4 +82,4 @@ var LanguageSpec_section_4_5_inference = (function () {
configurable: true
});
return LanguageSpec_section_4_5_inference;
})();
}());

View File

@ -46,7 +46,7 @@ var C = (function () {
}
C.foo = function () { };
return C;
})();
}());
var E;
(function (E) {
E[E["a"] = 0] = "a";

View File

@ -47,7 +47,7 @@ var C = (function () {
}
C.foo = function () { };
return C;
})();
}());
var E;
(function (E) {
E[E["a"] = 0] = "a";

View File

@ -19,7 +19,7 @@ var someClass = (function () {
function someClass() {
}
return someClass;
})();
}());
exports.someClass = someClass;
//// [aliasAssignments_1.js]
"use strict";

View File

@ -27,7 +27,7 @@ var foo;
function Provide() {
}
return Provide;
})();
}());
foo.Provide = Provide;
var bar;
(function (bar) {
@ -37,7 +37,7 @@ var foo;
function boo() {
}
return boo;
})();
}());
baz.boo = boo;
})(baz = bar.baz || (bar.baz = {}));
})(bar = foo.bar || (foo.bar = {}));

View File

@ -37,7 +37,7 @@ var foo;
function Provide() {
}
return Provide;
})();
}());
foo.Provide = Provide;
var bar;
(function (bar) {
@ -47,7 +47,7 @@ var foo;
function boo() {
}
return boo;
})();
}());
baz.boo = boo;
})(baz = bar.baz || (bar.baz = {}));
})(bar = foo.bar || (foo.bar = {}));

View File

@ -18,7 +18,7 @@ var M;
function C() {
}
return C;
})();
}());
})(N || (N = {}));
var R = N;
M.X = R;

Some files were not shown because too many files have changed in this diff Show More