Merge pull request #13040 from Microsoft/es2015-cleanup

Clean up for ES2015 transforms
This commit is contained in:
Ron Buckton
2016-12-22 16:31:10 -08:00
committed by GitHub
10 changed files with 601 additions and 415 deletions

View File

@@ -1755,6 +1755,23 @@ namespace ts {
// Utilities
export function restoreEnclosingLabel(node: Statement, outermostLabeledStatement: LabeledStatement, afterRestoreLabelCallback?: (node: LabeledStatement) => void): Statement {
if (!outermostLabeledStatement) {
return node;
}
const updated = updateLabel(
outermostLabeledStatement,
outermostLabeledStatement.label,
outermostLabeledStatement.statement.kind === SyntaxKind.LabeledStatement
? restoreEnclosingLabel(node, <LabeledStatement>outermostLabeledStatement.statement)
: node
);
if (afterRestoreLabelCallback) {
afterRestoreLabelCallback(outermostLabeledStatement);
}
return updated;
}
export interface CallBinding {
target: LeftHandSideExpression;
thisArg: Expression;

File diff suppressed because it is too large Load Diff

View File

@@ -914,6 +914,17 @@ namespace ts {
return false;
}
export function unwrapInnermostStatmentOfLabel(node: LabeledStatement, beforeUnwrapLabelCallback?: (node: LabeledStatement) => void) {
while (true) {
if (beforeUnwrapLabelCallback) {
beforeUnwrapLabelCallback(node);
}
if (node.statement.kind !== SyntaxKind.LabeledStatement) {
return node.statement;
}
node = <LabeledStatement>node.statement;
}
}
export function isFunctionBlock(node: Node) {
return node && node.kind === SyntaxKind.Block && isFunctionLike(node.parent);

View File

@@ -26,7 +26,7 @@ var A = (function () {
var B = (function (_super) {
__extends(B, _super);
function B() {
var _this = _super.call(this, function () { return _super.blah.call(_this); }) || this;
var _this = _super.call(this, function () { return _super.prototype.blah.call(_this); }) || this;
return _this;
}
return B;

View File

@@ -41,9 +41,9 @@ var Q = (function (_super) {
__extends(Q, _super);
// Super is not allowed in constructor args
function Q(z, zz, zzz) {
if (z === void 0) { z = _super.; }
if (zz === void 0) { zz = _super.; }
if (zzz === void 0) { zzz = function () { return _super.; }; }
if (z === void 0) { z = _super.prototype.; }
if (zz === void 0) { zz = _super.prototype.; }
if (zzz === void 0) { zzz = function () { return _super.prototype.; }; }
var _this = _super.call(this) || this;
_this.z = z;
_this.xx = _super.prototype.;

View File

@@ -27,7 +27,7 @@ var B = (function () {
var C = (function (_super) {
__extends(C, _super);
function C(a) {
if (a === void 0) { a = _super.foo.call(_this); }
if (a === void 0) { a = _super.prototype.foo.call(_this); }
var _this;
return _this;
}

View File

@@ -72,14 +72,14 @@ var obj = {
}
},
method: function () {
_super.prototype.method.call(this);
_super.method.call(this);
},
get prop() {
_super.prototype.method.call(this);
_super.method.call(this);
return 10;
},
set prop(value) {
_super.prototype.method.call(this);
_super.method.call(this);
},
p1: function () {
_super.method.call(this);
@@ -110,14 +110,14 @@ var B = (function (_super) {
}
},
method: function () {
_super.prototype.method.call(this);
_super.method.call(this);
},
get prop() {
_super.prototype.method.call(this);
_super.method.call(this);
return 10;
},
set prop(value) {
_super.prototype.method.call(this);
_super.method.call(this);
},
p1: function () {
_super.method.call(this);

View File

@@ -26,7 +26,7 @@ var A = (function () {
var B = (function (_super) {
__extends(B, _super);
function B() {
var _this = _super.call(this, _super.blah.call(_this)) || this;
var _this = _super.call(this, _super.prototype.blah.call(_this)) || this;
return _this;
}
return B;

View File

@@ -40,7 +40,7 @@ var C1 = (function (_super) {
var C2 = (function (_super) {
__extends(C2, _super);
function C2() {
var _this = _super.call(this, _super.x.call(_this)) || this;
var _this = _super.call(this, _super.prototype.x.call(_this)) || this;
return _this;
}
return C2;

View File

@@ -38,10 +38,10 @@ var ObjectLiteral;
var ThisInObjectLiteral = {
_foo: '1',
get foo() {
return _super.prototype._foo;
return _super._foo;
},
set foo(value) {
_super.prototype._foo = value;
_super._foo = value;
},
test: function () {
return _super._foo;
@@ -62,7 +62,7 @@ var SuperObjectTest = (function (_super) {
SuperObjectTest.prototype.testing = function () {
var test = {
get F() {
return _super.prototype.test.call(this);
return _super.test.call(this);
}
};
};