Accepted baselines.

This commit is contained in:
Daniel Rosenwasser
2016-09-07 17:10:49 -07:00
parent 25f95559cf
commit 3a5fb0cec6
3 changed files with 33 additions and 2 deletions

View File

@@ -26,7 +26,8 @@ var Parent = (function () {
var Child = (function (_super) {
__extends(Child, _super);
function Child() {
_super.apply(this, arguments);
var _this = _super.apply(this, arguments) || this;
return _this;
}
Object.defineProperty(Child.prototype, "message", {
set: function (str) {

View File

@@ -25,7 +25,8 @@ var Parent = (function () {
var Child = (function (_super) {
__extends(Child, _super);
function Child() {
_super.apply(this, arguments);
var _this = _super.apply(this, arguments) || this;
return _this;
}
Object.defineProperty(Child.prototype, "message", {
get: function () {

View File

@@ -0,0 +1,29 @@
tests/cases/compiler/underscoreThisInDerivedClass01.ts(20,13): error TS2399: Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.
==== tests/cases/compiler/underscoreThisInDerivedClass01.ts (1 errors) ====
// @target es5
// Original test intent:
// When arrow functions capture 'this', the lexical 'this' owner
// currently captures 'this' using a variable named '_this'.
// That means that '_this' becomes a reserved identifier in certain places.
//
// Constructors have adopted the same identifier name ('_this')
// for capturing any potential return values from super calls,
// so we expect the same behavior.
class C {
constructor() {
return {};
}
}
class D extends C {
constructor() {
var _this = "uh-oh?";
~~~~~
!!! error TS2399: Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.
super();
}
}