diff --git a/Jakefile.js b/Jakefile.js
index 943f2eff5ec..e99043d3f5f 100644
--- a/Jakefile.js
+++ b/Jakefile.js
@@ -813,7 +813,6 @@ task("update-sublime", ["local", serverFile], function() {
var tslintRuleDir = "scripts/tslint";
var tslintRules = ([
"nextLineRule",
- "noInferrableTypesRule",
"noNullRule",
"booleanTriviaRule"
]);
diff --git a/scripts/tslint/noInferrableTypesRule.ts b/scripts/tslint/noInferrableTypesRule.ts
deleted file mode 100644
index cbc0162260e..00000000000
--- a/scripts/tslint/noInferrableTypesRule.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-///
-///
-
-
-export class Rule extends Lint.Rules.AbstractRule {
- public static FAILURE_STRING_FACTORY = (type: string) => `LHS type (${type}) inferred by RHS expression, remove type annotation`;
-
- public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
- return this.applyWithWalker(new InferrableTypeWalker(sourceFile, this.getOptions()));
- }
-}
-
-class InferrableTypeWalker extends Lint.RuleWalker {
- visitVariableStatement(node: ts.VariableStatement) {
- node.declarationList.declarations.forEach(e => {
- if ((!!e.type) && (!!e.initializer)) {
- let failure: string;
- switch (e.type.kind) {
- case ts.SyntaxKind.BooleanKeyword:
- if (e.initializer.kind === ts.SyntaxKind.TrueKeyword || e.initializer.kind === ts.SyntaxKind.FalseKeyword) {
- failure = 'boolean';
- }
- break;
- case ts.SyntaxKind.NumberKeyword:
- if (e.initializer.kind === ts.SyntaxKind.NumericLiteral) {
- failure = 'number';
- }
- break;
- case ts.SyntaxKind.StringKeyword:
- switch (e.initializer.kind) {
- case ts.SyntaxKind.StringLiteral:
- case ts.SyntaxKind.NoSubstitutionTemplateLiteral:
- case ts.SyntaxKind.TemplateExpression:
- failure = 'string';
- break;
- default:
- break;
- }
- break;
- }
- if (failure) {
- this.addFailure(this.createFailure(e.type.getStart(), e.type.getWidth(), Rule.FAILURE_STRING_FACTORY(failure)));
- }
- }
- });
-
- super.visitVariableStatement(node);
- }
-}
diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index f31beccf87d..76190c83aab 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -8565,6 +8565,12 @@ namespace ts {
case SyntaxKind.SetAccessor:
// A method or accessor declaration decorator will have two or three arguments (see
// `PropertyDecorator` and `MethodDecorator` in core.d.ts)
+
+ // If we are emitting decorators for ES3, we will only pass two arguments.
+ if (languageVersion === ScriptTarget.ES3) {
+ return 2;
+ }
+
// If the method decorator signature only accepts a target and a key, we will only
// type check those arguments.
return signature.parameters.length >= 3 ? 3 : 2;
@@ -14909,9 +14915,6 @@ namespace ts {
if (!nodeCanBeDecorated(node)) {
return grammarErrorOnFirstToken(node, Diagnostics.Decorators_are_not_valid_here);
}
- else if (languageVersion < ScriptTarget.ES5) {
- return grammarErrorOnFirstToken(node, Diagnostics.Decorators_are_only_available_when_targeting_ECMAScript_5_and_higher);
- }
else if (node.kind === SyntaxKind.GetAccessor || node.kind === SyntaxKind.SetAccessor) {
let accessors = getAllAccessorDeclarations((node.parent).members, node);
if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) {
diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json
index 3552fec1226..935d5db2a75 100644
--- a/src/compiler/diagnosticMessages.json
+++ b/src/compiler/diagnosticMessages.json
@@ -631,10 +631,6 @@
"category": "Error",
"code": 1204
},
- "Decorators are only available when targeting ECMAScript 5 and higher.": {
- "category": "Error",
- "code": 1205
- },
"Decorators are not valid here.": {
"category": "Error",
"code": 1206
diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts
index bec17b813cb..11942562dcb 100644
--- a/src/compiler/emitter.ts
+++ b/src/compiler/emitter.ts
@@ -285,12 +285,10 @@ var __extends = (this && this.__extends) || function (d, b) {
// emit output for the __decorate helper function
const decorateHelper = `
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};`;
// emit output for the __metadata helper function
@@ -1652,7 +1650,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
//
// The emit for the decorated computed property decorator is:
//
- // Object.defineProperty(C.prototype, _a, __decorate([dec], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
+ // __decorate([dec], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a));
//
if (nodeIsDecorated(node.parent)) {
if (!computedPropertyNamesToGeneratedNames) {
@@ -4707,7 +4705,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
//
// let C = class {
// };
- // Object.defineProperty(C, "name", { value: "C", configurable: true });
// C = __decorate([dec], C);
//
// * For an exported class declaration:
@@ -4719,7 +4716,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
//
// export let C = class {
// };
- // Object.defineProperty(C, "name", { value: "C", configurable: true });
// C = __decorate([dec], C);
//
// * For a default export of a class declaration with a name:
@@ -4731,7 +4727,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
//
// let C = class {
// }
- // Object.defineProperty(C, "name", { value: "C", configurable: true });
// C = __decorate([dec], C);
// export default C;
//
@@ -5059,21 +5054,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
//
// The emit for a method is:
//
- // Object.defineProperty(C.prototype, "method",
- // __decorate([
- // dec,
- // __param(0, dec2),
- // __metadata("design:type", Function),
- // __metadata("design:paramtypes", [Object]),
- // __metadata("design:returntype", void 0)
- // ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ // __decorate([
+ // dec,
+ // __param(0, dec2),
+ // __metadata("design:type", Function),
+ // __metadata("design:paramtypes", [Object]),
+ // __metadata("design:returntype", void 0)
+ // ], C.prototype, "method", undefined);
//
// The emit for an accessor is:
//
- // Object.defineProperty(C.prototype, "accessor",
- // __decorate([
- // dec
- // ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ // __decorate([
+ // dec
+ // ], C.prototype, "accessor", undefined);
//
// The emit for a property is:
//
@@ -5084,18 +5077,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
writeLine();
emitStart(member);
- if (member.kind !== SyntaxKind.PropertyDeclaration) {
- write("Object.defineProperty(");
- emitStart(member.name);
- emitClassMemberPrefix(node, member);
- write(", ");
- emitExpressionForPropertyName(member.name);
- emitEnd(member.name);
- write(",");
- increaseIndent();
- writeLine();
- }
-
write("__decorate([");
increaseIndent();
writeLine();
@@ -5119,15 +5100,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
emitExpressionForPropertyName(member.name);
emitEnd(member.name);
- if (member.kind !== SyntaxKind.PropertyDeclaration) {
- write(", Object.getOwnPropertyDescriptor(");
- emitStart(member.name);
- emitClassMemberPrefix(node, member);
- write(", ");
- emitExpressionForPropertyName(member.name);
- emitEnd(member.name);
- write("))");
- decreaseIndent();
+ if (languageVersion > ScriptTarget.ES3) {
+ if (member.kind !== SyntaxKind.PropertyDeclaration) {
+ // We emit `null` here to indicate to `__decorate` that it can invoke `Object.getOwnPropertyDescriptor` directly.
+ // We have this extra argument here so that we can inject an explicit property descriptor at a later date.
+ write(", null");
+ }
+ else {
+ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it
+ // should not invoke `Object.getOwnPropertyDescriptor`.
+ write(", void 0");
+ }
}
write(");");
diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts
index 06f71177447..fff54443b33 100644
--- a/src/compiler/utilities.ts
+++ b/src/compiler/utilities.ts
@@ -985,6 +985,7 @@ namespace ts {
return node === (parent).expression;
case SyntaxKind.Decorator:
case SyntaxKind.JsxExpression:
+ case SyntaxKind.JsxSpreadAttribute:
return true;
case SyntaxKind.ExpressionWithTypeArguments:
return (parent).expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent);
diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts
index 3042f0c4647..a846077a85f 100644
--- a/src/harness/fourslash.ts
+++ b/src/harness/fourslash.ts
@@ -157,7 +157,7 @@ namespace FourSlash {
return true;
}
- public setCancelled(numberOfCalls: number = 0): void {
+ public setCancelled(numberOfCalls = 0): void {
ts.Debug.assert(numberOfCalls >= 0);
this.numberOfCallsBeforeCancellation = numberOfCalls;
}
@@ -761,7 +761,7 @@ namespace FourSlash {
this.raiseError(`verifyReferencesAtPositionListContains failed - could not find the item: ${JSON.stringify(missingItem)} in the returned list: (${JSON.stringify(references)})`);
}
- public verifyReferencesCountIs(count: number, localFilesOnly: boolean = true) {
+ public verifyReferencesCountIs(count: number, localFilesOnly = true) {
this.taoInvalidReason = "verifyReferences NYI";
let references = this.getReferencesAtCaret();
diff --git a/tests/baselines/reference/classExpressionWithDecorator1.js b/tests/baselines/reference/classExpressionWithDecorator1.js
index 4b1700df7af..8494ec32cda 100644
--- a/tests/baselines/reference/classExpressionWithDecorator1.js
+++ b/tests/baselines/reference/classExpressionWithDecorator1.js
@@ -3,12 +3,10 @@ var v = @decorate class C { static p = 1 };
//// [classExpressionWithDecorator1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var v = ;
var C = (function () {
diff --git a/tests/baselines/reference/decoratedClassFromExternalModule.js b/tests/baselines/reference/decoratedClassFromExternalModule.js
index aca1d28b952..000fe2f37d6 100644
--- a/tests/baselines/reference/decoratedClassFromExternalModule.js
+++ b/tests/baselines/reference/decoratedClassFromExternalModule.js
@@ -11,12 +11,10 @@ import Decorated from 'decorated';
//// [decorated.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
function decorate(target) { }
let Decorated = class {
diff --git a/tests/baselines/reference/decoratorChecksFunctionBodies.js b/tests/baselines/reference/decoratorChecksFunctionBodies.js
index adb710efccc..a5aa63b0b31 100644
--- a/tests/baselines/reference/decoratorChecksFunctionBodies.js
+++ b/tests/baselines/reference/decoratorChecksFunctionBodies.js
@@ -17,12 +17,10 @@ class A {
//// [decoratorChecksFunctionBodies.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
// from #2971
function func(s) {
@@ -32,13 +30,12 @@ var A = (function () {
}
A.prototype.m = function () {
};
- Object.defineProperty(A.prototype, "m",
- __decorate([
- (function (x, p) {
- var a = 3;
- func(a);
- return x;
- })
- ], A.prototype, "m", Object.getOwnPropertyDescriptor(A.prototype, "m")));
+ __decorate([
+ (function (x, p) {
+ var a = 3;
+ func(a);
+ return x;
+ })
+ ], A.prototype, "m", null);
return A;
})();
diff --git a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js
index 08ba6e9ea7e..ee39c1746a2 100644
--- a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js
+++ b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js
@@ -26,12 +26,10 @@ class Wat {
exports.test = 'abc';
//// [b.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var a_1 = require('./a');
function filter(handler) {
@@ -45,9 +43,8 @@ var Wat = (function () {
Wat.whatever = function () {
// ...
};
- Object.defineProperty(Wat, "whatever",
- __decorate([
- filter(function () { return a_1.test == 'abc'; })
- ], Wat, "whatever", Object.getOwnPropertyDescriptor(Wat, "whatever")));
+ __decorate([
+ filter(function () { return a_1.test == 'abc'; })
+ ], Wat, "whatever", null);
return Wat;
})();
diff --git a/tests/baselines/reference/decoratorMetadata.js b/tests/baselines/reference/decoratorMetadata.js
index 5c2ce580507..3c4637d9dab 100644
--- a/tests/baselines/reference/decoratorMetadata.js
+++ b/tests/baselines/reference/decoratorMetadata.js
@@ -24,12 +24,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = Service;
//// [component.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
diff --git a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js
index 204b1ba9a49..911a93f948d 100644
--- a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js
+++ b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js
@@ -20,12 +20,11 @@ var MyClass = (function () {
}
MyClass.prototype.doSomething = function () {
};
- Object.defineProperty(MyClass.prototype, "doSomething",
- __decorate([
- decorator,
- __metadata('design:type', Function),
- __metadata('design:paramtypes', []),
- __metadata('design:returntype', void 0)
- ], MyClass.prototype, "doSomething", Object.getOwnPropertyDescriptor(MyClass.prototype, "doSomething")));
+ __decorate([
+ decorator,
+ __metadata('design:type', Function),
+ __metadata('design:paramtypes', []),
+ __metadata('design:returntype', void 0)
+ ], MyClass.prototype, "doSomething", null);
return MyClass;
})();
diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.js b/tests/baselines/reference/decoratorMetadataOnInferredType.js
index 8103dbbdafa..32aeca93c1b 100644
--- a/tests/baselines/reference/decoratorMetadataOnInferredType.js
+++ b/tests/baselines/reference/decoratorMetadataOnInferredType.js
@@ -33,7 +33,7 @@ var B = (function () {
__decorate([
decorator,
__metadata('design:type', Object)
- ], B.prototype, "x");
+ ], B.prototype, "x", void 0);
return B;
})();
exports.B = B;
diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.js b/tests/baselines/reference/decoratorMetadataWithConstructorType.js
index 1523915a390..717ae5c4ce2 100644
--- a/tests/baselines/reference/decoratorMetadataWithConstructorType.js
+++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.js
@@ -33,7 +33,7 @@ var B = (function () {
__decorate([
decorator,
__metadata('design:type', A)
- ], B.prototype, "x");
+ ], B.prototype, "x", void 0);
return B;
})();
exports.B = B;
diff --git a/tests/baselines/reference/decoratorOnClass1.js b/tests/baselines/reference/decoratorOnClass1.js
index b8099222acc..81fb8a4afbf 100644
--- a/tests/baselines/reference/decoratorOnClass1.js
+++ b/tests/baselines/reference/decoratorOnClass1.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClass1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClass2.js b/tests/baselines/reference/decoratorOnClass2.js
index 18492794331..5e5f4e4b07d 100644
--- a/tests/baselines/reference/decoratorOnClass2.js
+++ b/tests/baselines/reference/decoratorOnClass2.js
@@ -7,12 +7,10 @@ export class C {
//// [decoratorOnClass2.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClass3.js b/tests/baselines/reference/decoratorOnClass3.js
index 2291a2dbc57..53888b7f107 100644
--- a/tests/baselines/reference/decoratorOnClass3.js
+++ b/tests/baselines/reference/decoratorOnClass3.js
@@ -8,12 +8,10 @@ class C {
//// [decoratorOnClass3.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClass4.js b/tests/baselines/reference/decoratorOnClass4.js
index 484efdf6128..bfcfe490498 100644
--- a/tests/baselines/reference/decoratorOnClass4.js
+++ b/tests/baselines/reference/decoratorOnClass4.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClass4.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClass5.js b/tests/baselines/reference/decoratorOnClass5.js
index 02ea01c3fd6..b3ceb807408 100644
--- a/tests/baselines/reference/decoratorOnClass5.js
+++ b/tests/baselines/reference/decoratorOnClass5.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClass5.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClass8.js b/tests/baselines/reference/decoratorOnClass8.js
index e75ccac3c86..81edefc39fa 100644
--- a/tests/baselines/reference/decoratorOnClass8.js
+++ b/tests/baselines/reference/decoratorOnClass8.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClass8.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.js b/tests/baselines/reference/decoratorOnClassAccessor1.js
index 2700c531e42..5a5d7ec98ee 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor1.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor1.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.js b/tests/baselines/reference/decoratorOnClassAccessor2.js
index c29c7598013..62b4d46669b 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor2.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor2.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor2.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassAccessor3.js b/tests/baselines/reference/decoratorOnClassAccessor3.js
index 61430a986ac..ce630dde3b2 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor3.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor3.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor3.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.js b/tests/baselines/reference/decoratorOnClassAccessor4.js
index 0ad11c4c09e..5d47233c797 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor4.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor4.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor4.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.js b/tests/baselines/reference/decoratorOnClassAccessor5.js
index 53a43f7912c..b0383637272 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor5.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor5.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor5.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassAccessor6.js b/tests/baselines/reference/decoratorOnClassAccessor6.js
index eaa21f45234..e76151ef562 100644
--- a/tests/baselines/reference/decoratorOnClassAccessor6.js
+++ b/tests/baselines/reference/decoratorOnClassAccessor6.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassAccessor6.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
@@ -22,9 +20,8 @@ var C = (function () {
enumerable: true,
configurable: true
});
- Object.defineProperty(C.prototype, "accessor",
- __decorate([
- dec
- ], C.prototype, "accessor", Object.getOwnPropertyDescriptor(C.prototype, "accessor")));
+ __decorate([
+ dec
+ ], C.prototype, "accessor", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter1.js b/tests/baselines/reference/decoratorOnClassConstructorParameter1.js
index b2af1450123..b100a5a60f8 100644
--- a/tests/baselines/reference/decoratorOnClassConstructorParameter1.js
+++ b/tests/baselines/reference/decoratorOnClassConstructorParameter1.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassConstructorParameter1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter4.js b/tests/baselines/reference/decoratorOnClassConstructorParameter4.js
index 5273482586e..73d7bfba5a9 100644
--- a/tests/baselines/reference/decoratorOnClassConstructorParameter4.js
+++ b/tests/baselines/reference/decoratorOnClassConstructorParameter4.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassConstructorParameter4.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
diff --git a/tests/baselines/reference/decoratorOnClassMethod1.js b/tests/baselines/reference/decoratorOnClassMethod1.js
index 65c2f4b6008..3b8d308570c 100644
--- a/tests/baselines/reference/decoratorOnClassMethod1.js
+++ b/tests/baselines/reference/decoratorOnClassMethod1.js
@@ -7,20 +7,17 @@ class C {
//// [decoratorOnClassMethod1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassMethod10.js b/tests/baselines/reference/decoratorOnClassMethod10.js
index bae4e97fb5b..22a6be7f613 100644
--- a/tests/baselines/reference/decoratorOnClassMethod10.js
+++ b/tests/baselines/reference/decoratorOnClassMethod10.js
@@ -7,20 +7,17 @@ class C {
//// [decoratorOnClassMethod10.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassMethod11.js b/tests/baselines/reference/decoratorOnClassMethod11.js
index 5d4ac60c14e..59f0594f483 100644
--- a/tests/baselines/reference/decoratorOnClassMethod11.js
+++ b/tests/baselines/reference/decoratorOnClassMethod11.js
@@ -10,12 +10,10 @@ module M {
//// [decoratorOnClassMethod11.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var M;
(function (M) {
@@ -24,10 +22,9 @@ var M;
}
C.prototype.decorator = function (target, key) { };
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- this.decorator
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ this.decorator
+ ], C.prototype, "method", null);
return C;
})();
})(M || (M = {}));
diff --git a/tests/baselines/reference/decoratorOnClassMethod12.js b/tests/baselines/reference/decoratorOnClassMethod12.js
index 05c4f285291..5c43251e4c1 100644
--- a/tests/baselines/reference/decoratorOnClassMethod12.js
+++ b/tests/baselines/reference/decoratorOnClassMethod12.js
@@ -16,12 +16,10 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var M;
(function (M) {
@@ -37,10 +35,9 @@ var M;
_super.apply(this, arguments);
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- _super.decorator
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ _super.decorator
+ ], C.prototype, "method", null);
return C;
})(S);
})(M || (M = {}));
diff --git a/tests/baselines/reference/decoratorOnClassMethod13.js b/tests/baselines/reference/decoratorOnClassMethod13.js
index b39fa63686a..adf21f733eb 100644
--- a/tests/baselines/reference/decoratorOnClassMethod13.js
+++ b/tests/baselines/reference/decoratorOnClassMethod13.js
@@ -8,23 +8,19 @@ class C {
//// [decoratorOnClassMethod13.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
class C {
[_a = "1"]() { }
[_b = "b"]() { }
}
-Object.defineProperty(C.prototype, _a,
- __decorate([
- dec
- ], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
-Object.defineProperty(C.prototype, _b,
- __decorate([
- dec
- ], C.prototype, _b, Object.getOwnPropertyDescriptor(C.prototype, _b)));
+__decorate([
+ dec
+], C.prototype, _a, null);
+__decorate([
+ dec
+], C.prototype, _b, null);
var _a, _b;
diff --git a/tests/baselines/reference/decoratorOnClassMethod2.js b/tests/baselines/reference/decoratorOnClassMethod2.js
index 8b4ceeb47ee..1841baeb724 100644
--- a/tests/baselines/reference/decoratorOnClassMethod2.js
+++ b/tests/baselines/reference/decoratorOnClassMethod2.js
@@ -7,20 +7,17 @@ class C {
//// [decoratorOnClassMethod2.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassMethod3.js b/tests/baselines/reference/decoratorOnClassMethod3.js
index fff0e845860..8ede72027d8 100644
--- a/tests/baselines/reference/decoratorOnClassMethod3.js
+++ b/tests/baselines/reference/decoratorOnClassMethod3.js
@@ -7,20 +7,17 @@ class C {
//// [decoratorOnClassMethod3.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassMethod4.js b/tests/baselines/reference/decoratorOnClassMethod4.js
index 9f5b0d67eb1..5c7b91c1c83 100644
--- a/tests/baselines/reference/decoratorOnClassMethod4.js
+++ b/tests/baselines/reference/decoratorOnClassMethod4.js
@@ -7,18 +7,15 @@ class C {
//// [decoratorOnClassMethod4.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
class C {
[_a = "method"]() { }
}
-Object.defineProperty(C.prototype, _a,
- __decorate([
- dec
- ], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
+__decorate([
+ dec
+], C.prototype, _a, null);
var _a;
diff --git a/tests/baselines/reference/decoratorOnClassMethod5.js b/tests/baselines/reference/decoratorOnClassMethod5.js
index f767b176207..2fedbaaf764 100644
--- a/tests/baselines/reference/decoratorOnClassMethod5.js
+++ b/tests/baselines/reference/decoratorOnClassMethod5.js
@@ -7,18 +7,15 @@ class C {
//// [decoratorOnClassMethod5.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
class C {
[_a = "method"]() { }
}
-Object.defineProperty(C.prototype, _a,
- __decorate([
- dec()
- ], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
+__decorate([
+ dec()
+], C.prototype, _a, null);
var _a;
diff --git a/tests/baselines/reference/decoratorOnClassMethod6.js b/tests/baselines/reference/decoratorOnClassMethod6.js
index 33dc4c86fd2..7966225e221 100644
--- a/tests/baselines/reference/decoratorOnClassMethod6.js
+++ b/tests/baselines/reference/decoratorOnClassMethod6.js
@@ -7,18 +7,15 @@ class C {
//// [decoratorOnClassMethod6.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
class C {
[_a = "method"]() { }
}
-Object.defineProperty(C.prototype, _a,
- __decorate([
- dec
- ], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
+__decorate([
+ dec
+], C.prototype, _a, null);
var _a;
diff --git a/tests/baselines/reference/decoratorOnClassMethod7.js b/tests/baselines/reference/decoratorOnClassMethod7.js
index c20a726fc46..3ec509e17f0 100644
--- a/tests/baselines/reference/decoratorOnClassMethod7.js
+++ b/tests/baselines/reference/decoratorOnClassMethod7.js
@@ -7,18 +7,15 @@ class C {
//// [decoratorOnClassMethod7.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
class C {
[_a = "method"]() { }
}
-Object.defineProperty(C.prototype, _a,
- __decorate([
- dec
- ], C.prototype, _a, Object.getOwnPropertyDescriptor(C.prototype, _a)));
+__decorate([
+ dec
+], C.prototype, _a, null);
var _a;
diff --git a/tests/baselines/reference/decoratorOnClassMethod8.js b/tests/baselines/reference/decoratorOnClassMethod8.js
index a664bdb8494..2cb404cf078 100644
--- a/tests/baselines/reference/decoratorOnClassMethod8.js
+++ b/tests/baselines/reference/decoratorOnClassMethod8.js
@@ -7,20 +7,17 @@ class C {
//// [decoratorOnClassMethod8.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.js b/tests/baselines/reference/decoratorOnClassMethodParameter1.js
index a6ab1704acc..099f746727c 100644
--- a/tests/baselines/reference/decoratorOnClassMethodParameter1.js
+++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.js
@@ -7,12 +7,10 @@ class C {
//// [decoratorOnClassMethodParameter1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
@@ -21,9 +19,8 @@ var C = (function () {
function C() {
}
C.prototype.method = function (p) { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- __param(0, dec)
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ __param(0, dec)
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty1.js b/tests/baselines/reference/decoratorOnClassProperty1.js
index 567eb510cb3..9283570bf3a 100644
--- a/tests/baselines/reference/decoratorOnClassProperty1.js
+++ b/tests/baselines/reference/decoratorOnClassProperty1.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty1.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty10.js b/tests/baselines/reference/decoratorOnClassProperty10.js
index b64986a8c97..5246dff9643 100644
--- a/tests/baselines/reference/decoratorOnClassProperty10.js
+++ b/tests/baselines/reference/decoratorOnClassProperty10.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty10.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec()
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty11.js b/tests/baselines/reference/decoratorOnClassProperty11.js
index a33fc724180..51bce1f1385 100644
--- a/tests/baselines/reference/decoratorOnClassProperty11.js
+++ b/tests/baselines/reference/decoratorOnClassProperty11.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty11.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty2.js b/tests/baselines/reference/decoratorOnClassProperty2.js
index f5de593b057..153c72ce0b9 100644
--- a/tests/baselines/reference/decoratorOnClassProperty2.js
+++ b/tests/baselines/reference/decoratorOnClassProperty2.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty2.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty3.js b/tests/baselines/reference/decoratorOnClassProperty3.js
index d2876d2cd6a..4f3b1ca5929 100644
--- a/tests/baselines/reference/decoratorOnClassProperty3.js
+++ b/tests/baselines/reference/decoratorOnClassProperty3.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty3.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty6.js b/tests/baselines/reference/decoratorOnClassProperty6.js
index 4ebd19ceee8..e92e018c587 100644
--- a/tests/baselines/reference/decoratorOnClassProperty6.js
+++ b/tests/baselines/reference/decoratorOnClassProperty6.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty6.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/decoratorOnClassProperty7.js b/tests/baselines/reference/decoratorOnClassProperty7.js
index 045f8722b97..9521fe0ce5e 100644
--- a/tests/baselines/reference/decoratorOnClassProperty7.js
+++ b/tests/baselines/reference/decoratorOnClassProperty7.js
@@ -7,18 +7,16 @@ class C {
//// [decoratorOnClassProperty7.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
__decorate([
dec
- ], C.prototype, "prop");
+ ], C.prototype, "prop", void 0);
return C;
})();
diff --git a/tests/baselines/reference/generatorTypeCheck39.js b/tests/baselines/reference/generatorTypeCheck39.js
index e6d25045a7e..43df3b8e205 100644
--- a/tests/baselines/reference/generatorTypeCheck39.js
+++ b/tests/baselines/reference/generatorTypeCheck39.js
@@ -11,12 +11,10 @@ function* g() {
//// [generatorTypeCheck39.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
function decorator(x) {
return y => { };
diff --git a/tests/baselines/reference/generatorTypeCheck59.js b/tests/baselines/reference/generatorTypeCheck59.js
index 5b3b70386f8..8fd32e7730a 100644
--- a/tests/baselines/reference/generatorTypeCheck59.js
+++ b/tests/baselines/reference/generatorTypeCheck59.js
@@ -8,20 +8,17 @@ function* g() {
//// [generatorTypeCheck59.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
function* g() {
class C {
m() { }
}
- Object.defineProperty(C.prototype, "m",
- __decorate([
- (yield "")
- ], C.prototype, "m", Object.getOwnPropertyDescriptor(C.prototype, "m")));
+ __decorate([
+ (yield "")
+ ], C.prototype, "m", null);
;
}
diff --git a/tests/baselines/reference/generatorTypeCheck61.js b/tests/baselines/reference/generatorTypeCheck61.js
index 9e2f067f9fb..b2434ee590c 100644
--- a/tests/baselines/reference/generatorTypeCheck61.js
+++ b/tests/baselines/reference/generatorTypeCheck61.js
@@ -6,12 +6,10 @@ function * g() {
//// [generatorTypeCheck61.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
function* g() {
let C = class {
diff --git a/tests/baselines/reference/jsxReactTestSuite.symbols b/tests/baselines/reference/jsxReactTestSuite.symbols
index 1fe64cbfdd7..b86054ac560 100644
--- a/tests/baselines/reference/jsxReactTestSuite.symbols
+++ b/tests/baselines/reference/jsxReactTestSuite.symbols
@@ -145,6 +145,7 @@ var x =
Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
+>x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3))
>y : Symbol(unknown)
={2 } z />;
@@ -167,25 +168,31 @@ var x =
;
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
+>x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3))
;
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
+>x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3))
>y : Symbol(unknown)
;
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
+>x : Symbol(x, Decl(jsxReactTestSuite.tsx, 10, 11), Decl(jsxReactTestSuite.tsx, 35, 3))
>y : Symbol(unknown)
>z : Symbol(unknown)
;
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
>x : Symbol(unknown)
+>y : Symbol(y, Decl(jsxReactTestSuite.tsx, 9, 11))
;
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
>x : Symbol(unknown)
>y : Symbol(unknown)
+>z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11))
+>z : Symbol(z, Decl(jsxReactTestSuite.tsx, 11, 11))
>Child : Symbol(Child, Decl(jsxReactTestSuite.tsx, 5, 11))
>Component : Symbol(Component, Decl(jsxReactTestSuite.tsx, 2, 11))
diff --git a/tests/baselines/reference/missingDecoratorType.js b/tests/baselines/reference/missingDecoratorType.js
index ad6be3a646e..04af1be9d7b 100644
--- a/tests/baselines/reference/missingDecoratorType.js
+++ b/tests/baselines/reference/missingDecoratorType.js
@@ -24,20 +24,17 @@ class C {
//// [a.js]
//// [b.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var C = (function () {
function C() {
}
C.prototype.method = function () { };
- Object.defineProperty(C.prototype, "method",
- __decorate([
- dec
- ], C.prototype, "method", Object.getOwnPropertyDescriptor(C.prototype, "method")));
+ __decorate([
+ dec
+ ], C.prototype, "method", null);
return C;
})();
diff --git a/tests/baselines/reference/sourceMapValidationDecorators.js b/tests/baselines/reference/sourceMapValidationDecorators.js
index 5196d3b0dd8..04eb1d71078 100644
--- a/tests/baselines/reference/sourceMapValidationDecorators.js
+++ b/tests/baselines/reference/sourceMapValidationDecorators.js
@@ -56,12 +56,10 @@ class Greeter {
//// [sourceMapValidationDecorators.js]
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
- switch (arguments.length) {
- case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
- case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
- case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
- }
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
@@ -91,31 +89,28 @@ var Greeter = (function () {
configurable: true
});
Greeter.x1 = 10;
- Object.defineProperty(Greeter.prototype, "greet",
- __decorate([
- PropertyDecorator1,
- PropertyDecorator2(40)
- ], Greeter.prototype, "greet", Object.getOwnPropertyDescriptor(Greeter.prototype, "greet")));
+ __decorate([
+ PropertyDecorator1,
+ PropertyDecorator2(40)
+ ], Greeter.prototype, "greet", null);
__decorate([
PropertyDecorator1,
PropertyDecorator2(50)
- ], Greeter.prototype, "x");
- Object.defineProperty(Greeter.prototype, "fn",
- __decorate([
- __param(0, ParameterDecorator1),
- __param(0, ParameterDecorator2(70))
- ], Greeter.prototype, "fn", Object.getOwnPropertyDescriptor(Greeter.prototype, "fn")));
- Object.defineProperty(Greeter.prototype, "greetings",
- __decorate([
- PropertyDecorator1,
- PropertyDecorator2(80),
- __param(0, ParameterDecorator1),
- __param(0, ParameterDecorator2(90))
- ], Greeter.prototype, "greetings", Object.getOwnPropertyDescriptor(Greeter.prototype, "greetings")));
+ ], Greeter.prototype, "x", void 0);
+ __decorate([
+ __param(0, ParameterDecorator1),
+ __param(0, ParameterDecorator2(70))
+ ], Greeter.prototype, "fn", null);
+ __decorate([
+ PropertyDecorator1,
+ PropertyDecorator2(80),
+ __param(0, ParameterDecorator1),
+ __param(0, ParameterDecorator2(90))
+ ], Greeter.prototype, "greetings", null);
__decorate([
PropertyDecorator1,
PropertyDecorator2(60)
- ], Greeter, "x1");
+ ], Greeter, "x1", void 0);
Greeter = __decorate([
ClassDecorator1,
ClassDecorator2(10),
diff --git a/tests/baselines/reference/sourceMapValidationDecorators.js.map b/tests/baselines/reference/sourceMapValidationDecorators.js.map
index 4cbb79f727d..4a8b3258659 100644
--- a/tests/baselines/reference/sourceMapValidationDecorators.js.map
+++ b/tests/baselines/reference/sourceMapValidationDecorators.js.map
@@ -1,2 +1,2 @@
//// [sourceMapValidationDecorators.js.map]
-{"version":3,"file":"sourceMapValidationDecorators.js","sourceRoot":"","sources":["sourceMapValidationDecorators.ts"],"names":["Greeter","Greeter.constructor","Greeter.greet","Greeter.fn","Greeter.greetings"],"mappings":";;;;;;;;;;;AAOA;IAGIA,iBAGSA,QAAgBA;QAEvBC,WAEcA;aAFdA,WAEcA,CAFdA,sBAEcA,CAFdA,IAEcA;YAFdA,0BAEcA;;QAJPA,aAAQA,GAARA,QAAQA,CAAQA;IAKzBA,CAACA;IAIDD,uBAAKA,GAFLA;QAGIE,MAAMA,CAACA,MAAMA,GAAGA,IAAIA,CAACA,QAAQA,GAAGA,OAAOA,CAACA;IAC5CA,CAACA;IAUOF,oBAAEA,GAAVA,UAGEA,CAASA;QACPG,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA;IACzBA,CAACA;IAEDH,sBAEIA,8BAASA;aAFbA;YAGII,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA;QACzBA,CAACA;aAEDJ,UAGEA,SAAiBA;YACfI,IAAIA,CAACA,QAAQA,GAAGA,SAASA,CAACA;QAC9BA,CAACA;;;OAPAJ;IAbcA,UAAEA,GAAWA,EAAEA,CAACA;IAZ/BA,sBAEAA,0BAAKA;;YAFJA,kBAAkBA;YAClBA,kBAAkBA,CAACA,EAAEA,CAACA;WACvBA,0BAAKA,kCAALA,0BAAKA,IAEJA;IAEDA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;OACfA,sBAACA,EAASA;IAMlBA,sBAAQA,uBAAEA;;YACRA,WAACA,mBAAmBA,CAAAA;YACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;WAFlBA,uBAAEA,kCAAFA,uBAAEA,IAKTA;IAEDA,sBAEIA,8BAASA;;YAFZA,kBAAkBA;YAClBA,kBAAkBA,CAACA,EAAEA,CAACA;YAMrBA,WAACA,mBAAmBA,CAAAA;YACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;WANtBA,8BAASA,kCAATA,8BAASA,IAEZA;IAfDA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;OACRA,aAAEA,EAAcA;IAzBnCA;QAACA,eAAeA;QACfA,eAAeA,CAACA,EAAEA,CAACA;QAGdA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;QAGxBA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;gBAqC7BA;IAADA,cAACA;AAADA,CAACA,AA9CD,IA8CC"}
\ No newline at end of file
+{"version":3,"file":"sourceMapValidationDecorators.js","sourceRoot":"","sources":["sourceMapValidationDecorators.ts"],"names":["Greeter","Greeter.constructor","Greeter.greet","Greeter.fn","Greeter.greetings"],"mappings":";;;;;;;;;AAOA;IAGIA,iBAGSA,QAAgBA;QAEvBC,WAEcA;aAFdA,WAEcA,CAFdA,sBAEcA,CAFdA,IAEcA;YAFdA,0BAEcA;;QAJPA,aAAQA,GAARA,QAAQA,CAAQA;IAKzBA,CAACA;IAIDD,uBAAKA,GAFLA;QAGIE,MAAMA,CAACA,MAAMA,GAAGA,IAAIA,CAACA,QAAQA,GAAGA,OAAOA,CAACA;IAC5CA,CAACA;IAUOF,oBAAEA,GAAVA,UAGEA,CAASA;QACPG,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA;IACzBA,CAACA;IAEDH,sBAEIA,8BAASA;aAFbA;YAGII,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA;QACzBA,CAACA;aAEDJ,UAGEA,SAAiBA;YACfI,IAAIA,CAACA,QAAQA,GAAGA,SAASA,CAACA;QAC9BA,CAACA;;;OAPAJ;IAbcA,UAAEA,GAAWA,EAAEA,CAACA;IAZ/BA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;OACvBA,0BAAKA,QAEJA;IAEDA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;OACfA,sBAACA,UAASA;IAMlBA;QACEA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;OAFlBA,uBAAEA,QAKTA;IAEDA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;QAMrBA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;OANtBA,8BAASA,QAEZA;IAfDA;QAACA,kBAAkBA;QAClBA,kBAAkBA,CAACA,EAAEA,CAACA;OACRA,aAAEA,UAAcA;IAzBnCA;QAACA,eAAeA;QACfA,eAAeA,CAACA,EAAEA,CAACA;QAGdA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;QAGxBA,WAACA,mBAAmBA,CAAAA;QACpBA,WAACA,mBAAmBA,CAACA,EAAEA,CAACA,CAAAA;gBAqC7BA;IAADA,cAACA;AAADA,CAACA,AA9CD,IA8CC"}
\ No newline at end of file
diff --git a/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt
index b7036723a85..d9c8d0cc976 100644
--- a/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt
+++ b/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt
@@ -9,12 +9,10 @@ emittedFile:tests/cases/compiler/sourceMapValidationDecorators.js
sourceFile:sourceMapValidationDecorators.ts
-------------------------------------------------------------------
>>>var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
->>> if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
->>> switch (arguments.length) {
->>> case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
->>> case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
->>> case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
->>> }
+>>> var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+>>> if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+>>> else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+>>> return c > 3 && r && Object.defineProperty(target, key, r), r;
>>>};
>>>var __param = (this && this.__param) || function (paramIndex, decorator) {
>>> return function (target, key) { decorator(target, key, paramIndex); }
@@ -30,7 +28,7 @@ sourceFile:sourceMapValidationDecorators.ts
>declare function ParameterDecorator2(x: number): (target: Object, key: string | symbol, paramIndex: number) => void;
>
>
-1 >Emitted(12, 1) Source(8, 1) + SourceIndex(0)
+1 >Emitted(10, 1) Source(8, 1) + SourceIndex(0)
---
>>> function Greeter(greeting) {
1->^^^^
@@ -45,9 +43,9 @@ sourceFile:sourceMapValidationDecorators.ts
> @ParameterDecorator2(20)
> public
3 > greeting: string
-1->Emitted(13, 5) Source(11, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(13, 22) Source(14, 14) + SourceIndex(0) name (Greeter)
-3 >Emitted(13, 30) Source(14, 30) + SourceIndex(0) name (Greeter)
+1->Emitted(11, 5) Source(11, 5) + SourceIndex(0) name (Greeter)
+2 >Emitted(11, 22) Source(14, 14) + SourceIndex(0) name (Greeter)
+3 >Emitted(11, 30) Source(14, 30) + SourceIndex(0) name (Greeter)
---
>>> var b = [];
1 >^^^^^^^^
@@ -59,8 +57,8 @@ sourceFile:sourceMapValidationDecorators.ts
2 > @ParameterDecorator1
> @ParameterDecorator2(30)
> ...b: string[]
-1 >Emitted(14, 9) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
-2 >Emitted(14, 20) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
+1 >Emitted(12, 9) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
+2 >Emitted(12, 20) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
---
>>> for (var _i = 1; _i < arguments.length; _i++) {
1->^^^^^^^^^^^^^
@@ -81,12 +79,12 @@ sourceFile:sourceMapValidationDecorators.ts
6 > @ParameterDecorator1
> @ParameterDecorator2(30)
> ...b: string[]
-1->Emitted(15, 14) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
-2 >Emitted(15, 25) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
-3 >Emitted(15, 26) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
-4 >Emitted(15, 48) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
-5 >Emitted(15, 49) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
-6 >Emitted(15, 53) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
+1->Emitted(13, 14) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
+2 >Emitted(13, 25) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
+3 >Emitted(13, 26) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
+4 >Emitted(13, 48) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
+5 >Emitted(13, 49) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
+6 >Emitted(13, 53) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
---
>>> b[_i - 1] = arguments[_i];
1 >^^^^^^^^^^^^
@@ -95,8 +93,8 @@ sourceFile:sourceMapValidationDecorators.ts
2 > @ParameterDecorator1
> @ParameterDecorator2(30)
> ...b: string[]
-1 >Emitted(16, 13) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
-2 >Emitted(16, 39) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
+1 >Emitted(14, 13) Source(16, 7) + SourceIndex(0) name (Greeter.constructor)
+2 >Emitted(14, 39) Source(18, 21) + SourceIndex(0) name (Greeter.constructor)
---
>>> }
>>> this.greeting = greeting;
@@ -110,11 +108,11 @@ sourceFile:sourceMapValidationDecorators.ts
3 >
4 > greeting
5 > : string
-1 >Emitted(18, 9) Source(14, 14) + SourceIndex(0) name (Greeter.constructor)
-2 >Emitted(18, 22) Source(14, 22) + SourceIndex(0) name (Greeter.constructor)
-3 >Emitted(18, 25) Source(14, 14) + SourceIndex(0) name (Greeter.constructor)
-4 >Emitted(18, 33) Source(14, 22) + SourceIndex(0) name (Greeter.constructor)
-5 >Emitted(18, 34) Source(14, 30) + SourceIndex(0) name (Greeter.constructor)
+1 >Emitted(16, 9) Source(14, 14) + SourceIndex(0) name (Greeter.constructor)
+2 >Emitted(16, 22) Source(14, 22) + SourceIndex(0) name (Greeter.constructor)
+3 >Emitted(16, 25) Source(14, 14) + SourceIndex(0) name (Greeter.constructor)
+4 >Emitted(16, 33) Source(14, 22) + SourceIndex(0) name (Greeter.constructor)
+5 >Emitted(16, 34) Source(14, 30) + SourceIndex(0) name (Greeter.constructor)
---
>>> }
1 >^^^^
@@ -127,8 +125,8 @@ sourceFile:sourceMapValidationDecorators.ts
> ...b: string[]) {
>
2 > }
-1 >Emitted(19, 5) Source(19, 5) + SourceIndex(0) name (Greeter.constructor)
-2 >Emitted(19, 6) Source(19, 6) + SourceIndex(0) name (Greeter.constructor)
+1 >Emitted(17, 5) Source(19, 5) + SourceIndex(0) name (Greeter.constructor)
+2 >Emitted(17, 6) Source(19, 6) + SourceIndex(0) name (Greeter.constructor)
---
>>> Greeter.prototype.greet = function () {
1->^^^^
@@ -142,9 +140,9 @@ sourceFile:sourceMapValidationDecorators.ts
>
2 > greet
3 >
-1->Emitted(20, 5) Source(23, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(20, 28) Source(23, 10) + SourceIndex(0) name (Greeter)
-3 >Emitted(20, 31) Source(21, 5) + SourceIndex(0) name (Greeter)
+1->Emitted(18, 5) Source(23, 5) + SourceIndex(0) name (Greeter)
+2 >Emitted(18, 28) Source(23, 10) + SourceIndex(0) name (Greeter)
+3 >Emitted(18, 31) Source(21, 5) + SourceIndex(0) name (Greeter)
---
>>> return "" + this.greeting + "
";
1->^^^^^^^^
@@ -172,17 +170,17 @@ sourceFile:sourceMapValidationDecorators.ts
9 > +
10> ""
11> ;
-1->Emitted(21, 9) Source(24, 9) + SourceIndex(0) name (Greeter.greet)
-2 >Emitted(21, 15) Source(24, 15) + SourceIndex(0) name (Greeter.greet)
-3 >Emitted(21, 16) Source(24, 16) + SourceIndex(0) name (Greeter.greet)
-4 >Emitted(21, 22) Source(24, 22) + SourceIndex(0) name (Greeter.greet)
-5 >Emitted(21, 25) Source(24, 25) + SourceIndex(0) name (Greeter.greet)
-6 >Emitted(21, 29) Source(24, 29) + SourceIndex(0) name (Greeter.greet)
-7 >Emitted(21, 30) Source(24, 30) + SourceIndex(0) name (Greeter.greet)
-8 >Emitted(21, 38) Source(24, 38) + SourceIndex(0) name (Greeter.greet)
-9 >Emitted(21, 41) Source(24, 41) + SourceIndex(0) name (Greeter.greet)
-10>Emitted(21, 48) Source(24, 48) + SourceIndex(0) name (Greeter.greet)
-11>Emitted(21, 49) Source(24, 49) + SourceIndex(0) name (Greeter.greet)
+1->Emitted(19, 9) Source(24, 9) + SourceIndex(0) name (Greeter.greet)
+2 >Emitted(19, 15) Source(24, 15) + SourceIndex(0) name (Greeter.greet)
+3 >Emitted(19, 16) Source(24, 16) + SourceIndex(0) name (Greeter.greet)
+4 >Emitted(19, 22) Source(24, 22) + SourceIndex(0) name (Greeter.greet)
+5 >Emitted(19, 25) Source(24, 25) + SourceIndex(0) name (Greeter.greet)
+6 >Emitted(19, 29) Source(24, 29) + SourceIndex(0) name (Greeter.greet)
+7 >Emitted(19, 30) Source(24, 30) + SourceIndex(0) name (Greeter.greet)
+8 >Emitted(19, 38) Source(24, 38) + SourceIndex(0) name (Greeter.greet)
+9 >Emitted(19, 41) Source(24, 41) + SourceIndex(0) name (Greeter.greet)
+10>Emitted(19, 48) Source(24, 48) + SourceIndex(0) name (Greeter.greet)
+11>Emitted(19, 49) Source(24, 49) + SourceIndex(0) name (Greeter.greet)
---
>>> };
1 >^^^^
@@ -191,8 +189,8 @@ sourceFile:sourceMapValidationDecorators.ts
1 >
>
2 > }
-1 >Emitted(22, 5) Source(25, 5) + SourceIndex(0) name (Greeter.greet)
-2 >Emitted(22, 6) Source(25, 6) + SourceIndex(0) name (Greeter.greet)
+1 >Emitted(20, 5) Source(25, 5) + SourceIndex(0) name (Greeter.greet)
+2 >Emitted(20, 6) Source(25, 6) + SourceIndex(0) name (Greeter.greet)
---
>>> Greeter.prototype.fn = function (x) {
1->^^^^
@@ -218,11 +216,11 @@ sourceFile:sourceMapValidationDecorators.ts
> @ParameterDecorator2(70)
>
5 > x: number
-1->Emitted(23, 5) Source(35, 13) + SourceIndex(0) name (Greeter)
-2 >Emitted(23, 25) Source(35, 15) + SourceIndex(0) name (Greeter)
-3 >Emitted(23, 28) Source(35, 5) + SourceIndex(0) name (Greeter)
-4 >Emitted(23, 38) Source(38, 7) + SourceIndex(0) name (Greeter)
-5 >Emitted(23, 39) Source(38, 16) + SourceIndex(0) name (Greeter)
+1->Emitted(21, 5) Source(35, 13) + SourceIndex(0) name (Greeter)
+2 >Emitted(21, 25) Source(35, 15) + SourceIndex(0) name (Greeter)
+3 >Emitted(21, 28) Source(35, 5) + SourceIndex(0) name (Greeter)
+4 >Emitted(21, 38) Source(38, 7) + SourceIndex(0) name (Greeter)
+5 >Emitted(21, 39) Source(38, 16) + SourceIndex(0) name (Greeter)
---
>>> return this.greeting;
1 >^^^^^^^^
@@ -240,13 +238,13 @@ sourceFile:sourceMapValidationDecorators.ts
5 > .
6 > greeting
7 > ;
-1 >Emitted(24, 9) Source(39, 9) + SourceIndex(0) name (Greeter.fn)
-2 >Emitted(24, 15) Source(39, 15) + SourceIndex(0) name (Greeter.fn)
-3 >Emitted(24, 16) Source(39, 16) + SourceIndex(0) name (Greeter.fn)
-4 >Emitted(24, 20) Source(39, 20) + SourceIndex(0) name (Greeter.fn)
-5 >Emitted(24, 21) Source(39, 21) + SourceIndex(0) name (Greeter.fn)
-6 >Emitted(24, 29) Source(39, 29) + SourceIndex(0) name (Greeter.fn)
-7 >Emitted(24, 30) Source(39, 30) + SourceIndex(0) name (Greeter.fn)
+1 >Emitted(22, 9) Source(39, 9) + SourceIndex(0) name (Greeter.fn)
+2 >Emitted(22, 15) Source(39, 15) + SourceIndex(0) name (Greeter.fn)
+3 >Emitted(22, 16) Source(39, 16) + SourceIndex(0) name (Greeter.fn)
+4 >Emitted(22, 20) Source(39, 20) + SourceIndex(0) name (Greeter.fn)
+5 >Emitted(22, 21) Source(39, 21) + SourceIndex(0) name (Greeter.fn)
+6 >Emitted(22, 29) Source(39, 29) + SourceIndex(0) name (Greeter.fn)
+7 >Emitted(22, 30) Source(39, 30) + SourceIndex(0) name (Greeter.fn)
---
>>> };
1 >^^^^
@@ -255,8 +253,8 @@ sourceFile:sourceMapValidationDecorators.ts
1 >
>
2 > }
-1 >Emitted(25, 5) Source(40, 5) + SourceIndex(0) name (Greeter.fn)
-2 >Emitted(25, 6) Source(40, 6) + SourceIndex(0) name (Greeter.fn)
+1 >Emitted(23, 5) Source(40, 5) + SourceIndex(0) name (Greeter.fn)
+2 >Emitted(23, 6) Source(40, 6) + SourceIndex(0) name (Greeter.fn)
---
>>> Object.defineProperty(Greeter.prototype, "greetings", {
1->^^^^
@@ -269,15 +267,15 @@ sourceFile:sourceMapValidationDecorators.ts
> @PropertyDecorator2(80)
> get
3 > greetings
-1->Emitted(26, 5) Source(42, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(26, 27) Source(44, 9) + SourceIndex(0) name (Greeter)
-3 >Emitted(26, 57) Source(44, 18) + SourceIndex(0) name (Greeter)
+1->Emitted(24, 5) Source(42, 5) + SourceIndex(0) name (Greeter)
+2 >Emitted(24, 27) Source(44, 9) + SourceIndex(0) name (Greeter)
+3 >Emitted(24, 57) Source(44, 18) + SourceIndex(0) name (Greeter)
---
>>> get: function () {
1 >^^^^^^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^->
1 >
-1 >Emitted(27, 14) Source(42, 5) + SourceIndex(0) name (Greeter)
+1 >Emitted(25, 14) Source(42, 5) + SourceIndex(0) name (Greeter)
---
>>> return this.greeting;
1->^^^^^^^^^^^^
@@ -297,13 +295,13 @@ sourceFile:sourceMapValidationDecorators.ts
5 > .
6 > greeting
7 > ;
-1->Emitted(28, 13) Source(45, 9) + SourceIndex(0) name (Greeter.greetings)
-2 >Emitted(28, 19) Source(45, 15) + SourceIndex(0) name (Greeter.greetings)
-3 >Emitted(28, 20) Source(45, 16) + SourceIndex(0) name (Greeter.greetings)
-4 >Emitted(28, 24) Source(45, 20) + SourceIndex(0) name (Greeter.greetings)
-5 >Emitted(28, 25) Source(45, 21) + SourceIndex(0) name (Greeter.greetings)
-6 >Emitted(28, 33) Source(45, 29) + SourceIndex(0) name (Greeter.greetings)
-7 >Emitted(28, 34) Source(45, 30) + SourceIndex(0) name (Greeter.greetings)
+1->Emitted(26, 13) Source(45, 9) + SourceIndex(0) name (Greeter.greetings)
+2 >Emitted(26, 19) Source(45, 15) + SourceIndex(0) name (Greeter.greetings)
+3 >Emitted(26, 20) Source(45, 16) + SourceIndex(0) name (Greeter.greetings)
+4 >Emitted(26, 24) Source(45, 20) + SourceIndex(0) name (Greeter.greetings)
+5 >Emitted(26, 25) Source(45, 21) + SourceIndex(0) name (Greeter.greetings)
+6 >Emitted(26, 33) Source(45, 29) + SourceIndex(0) name (Greeter.greetings)
+7 >Emitted(26, 34) Source(45, 30) + SourceIndex(0) name (Greeter.greetings)
---
>>> },
1 >^^^^^^^^
@@ -312,8 +310,8 @@ sourceFile:sourceMapValidationDecorators.ts
1 >
>
2 > }
-1 >Emitted(29, 9) Source(46, 5) + SourceIndex(0) name (Greeter.greetings)
-2 >Emitted(29, 10) Source(46, 6) + SourceIndex(0) name (Greeter.greetings)
+1 >Emitted(27, 9) Source(46, 5) + SourceIndex(0) name (Greeter.greetings)
+2 >Emitted(27, 10) Source(46, 6) + SourceIndex(0) name (Greeter.greetings)
---
>>> set: function (greetings) {
1->^^^^^^^^^^^^^
@@ -328,9 +326,9 @@ sourceFile:sourceMapValidationDecorators.ts
> @ParameterDecorator2(90)
>
3 > greetings: string
-1->Emitted(30, 14) Source(48, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(30, 24) Source(51, 7) + SourceIndex(0) name (Greeter)
-3 >Emitted(30, 33) Source(51, 24) + SourceIndex(0) name (Greeter)
+1->Emitted(28, 14) Source(48, 5) + SourceIndex(0) name (Greeter)
+2 >Emitted(28, 24) Source(51, 7) + SourceIndex(0) name (Greeter)
+3 >Emitted(28, 33) Source(51, 24) + SourceIndex(0) name (Greeter)
---
>>> this.greeting = greetings;
1->^^^^^^^^^^^^
@@ -348,13 +346,13 @@ sourceFile:sourceMapValidationDecorators.ts
5 > =
6 > greetings
7 > ;
-1->Emitted(31, 13) Source(52, 9) + SourceIndex(0) name (Greeter.greetings)
-2 >Emitted(31, 17) Source(52, 13) + SourceIndex(0) name (Greeter.greetings)
-3 >Emitted(31, 18) Source(52, 14) + SourceIndex(0) name (Greeter.greetings)
-4 >Emitted(31, 26) Source(52, 22) + SourceIndex(0) name (Greeter.greetings)
-5 >Emitted(31, 29) Source(52, 25) + SourceIndex(0) name (Greeter.greetings)
-6 >Emitted(31, 38) Source(52, 34) + SourceIndex(0) name (Greeter.greetings)
-7 >Emitted(31, 39) Source(52, 35) + SourceIndex(0) name (Greeter.greetings)
+1->Emitted(29, 13) Source(52, 9) + SourceIndex(0) name (Greeter.greetings)
+2 >Emitted(29, 17) Source(52, 13) + SourceIndex(0) name (Greeter.greetings)
+3 >Emitted(29, 18) Source(52, 14) + SourceIndex(0) name (Greeter.greetings)
+4 >Emitted(29, 26) Source(52, 22) + SourceIndex(0) name (Greeter.greetings)
+5 >Emitted(29, 29) Source(52, 25) + SourceIndex(0) name (Greeter.greetings)
+6 >Emitted(29, 38) Source(52, 34) + SourceIndex(0) name (Greeter.greetings)
+7 >Emitted(29, 39) Source(52, 35) + SourceIndex(0) name (Greeter.greetings)
---
>>> },
1 >^^^^^^^^
@@ -363,8 +361,8 @@ sourceFile:sourceMapValidationDecorators.ts
1 >
>
2 > }
-1 >Emitted(32, 9) Source(53, 5) + SourceIndex(0) name (Greeter.greetings)
-2 >Emitted(32, 10) Source(53, 6) + SourceIndex(0) name (Greeter.greetings)
+1 >Emitted(30, 9) Source(53, 5) + SourceIndex(0) name (Greeter.greetings)
+2 >Emitted(30, 10) Source(53, 6) + SourceIndex(0) name (Greeter.greetings)
---
>>> enumerable: true,
>>> configurable: true
@@ -372,7 +370,7 @@ sourceFile:sourceMapValidationDecorators.ts
1->^^^^^^^
2 > ^^^^^^^^^^^^^^->
1->
-1->Emitted(35, 8) Source(46, 6) + SourceIndex(0) name (Greeter)
+1->Emitted(33, 8) Source(46, 6) + SourceIndex(0) name (Greeter)
---
>>> Greeter.x1 = 10;
1->^^^^
@@ -380,87 +378,22 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^^^
4 > ^^
5 > ^
-6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
2 > x1
3 > : number =
4 > 10
5 > ;
-1->Emitted(36, 5) Source(33, 20) + SourceIndex(0) name (Greeter)
-2 >Emitted(36, 15) Source(33, 22) + SourceIndex(0) name (Greeter)
-3 >Emitted(36, 18) Source(33, 33) + SourceIndex(0) name (Greeter)
-4 >Emitted(36, 20) Source(33, 35) + SourceIndex(0) name (Greeter)
-5 >Emitted(36, 21) Source(33, 36) + SourceIndex(0) name (Greeter)
----
->>> Object.defineProperty(Greeter.prototype, "greet",
-1->^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^
-1->
-2 > @PropertyDecorator1
- > @PropertyDecorator2(40)
- >
-3 > greet
-1->Emitted(37, 5) Source(21, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(37, 27) Source(23, 5) + SourceIndex(0) name (Greeter)
-3 >Emitted(37, 53) Source(23, 10) + SourceIndex(0) name (Greeter)
----
->>> __decorate([
->>> PropertyDecorator1,
-1 >^^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^
-3 > ^^^^^->
-1 >
-2 > PropertyDecorator1
-1 >Emitted(39, 13) Source(21, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(39, 31) Source(21, 24) + SourceIndex(0) name (Greeter)
----
->>> PropertyDecorator2(40)
-1->^^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^
-3 > ^
-4 > ^^
-5 > ^
-6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
-1->
- > @
-2 > PropertyDecorator2
-3 > (
-4 > 40
-5 > )
-1->Emitted(40, 13) Source(22, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(40, 31) Source(22, 24) + SourceIndex(0) name (Greeter)
-3 >Emitted(40, 32) Source(22, 25) + SourceIndex(0) name (Greeter)
-4 >Emitted(40, 34) Source(22, 27) + SourceIndex(0) name (Greeter)
-5 >Emitted(40, 35) Source(22, 28) + SourceIndex(0) name (Greeter)
----
->>> ], Greeter.prototype, "greet", Object.getOwnPropertyDescriptor(Greeter.prototype, "greet")));
-1->^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^
-5 > ^^^^
-1->
- >
-2 > greet
-3 >
-4 > greet
-5 > () {
- > return "" + this.greeting + "
";
- > }
-1->Emitted(41, 12) Source(23, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(41, 38) Source(23, 10) + SourceIndex(0) name (Greeter)
-3 >Emitted(41, 72) Source(23, 5) + SourceIndex(0) name (Greeter)
-4 >Emitted(41, 98) Source(23, 10) + SourceIndex(0) name (Greeter)
-5 >Emitted(41, 102) Source(25, 6) + SourceIndex(0) name (Greeter)
+1->Emitted(34, 5) Source(33, 20) + SourceIndex(0) name (Greeter)
+2 >Emitted(34, 15) Source(33, 22) + SourceIndex(0) name (Greeter)
+3 >Emitted(34, 18) Source(33, 33) + SourceIndex(0) name (Greeter)
+4 >Emitted(34, 20) Source(33, 35) + SourceIndex(0) name (Greeter)
+5 >Emitted(34, 21) Source(33, 36) + SourceIndex(0) name (Greeter)
---
>>> __decorate([
1 >^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
-1 >
- >
- >
-1 >Emitted(42, 5) Source(27, 5) + SourceIndex(0) name (Greeter)
+1 >
+1 >Emitted(35, 5) Source(21, 5) + SourceIndex(0) name (Greeter)
---
>>> PropertyDecorator1,
1->^^^^^^^^
@@ -468,8 +401,58 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^^^^^->
1->@
2 > PropertyDecorator1
-1->Emitted(43, 9) Source(27, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(43, 27) Source(27, 24) + SourceIndex(0) name (Greeter)
+1->Emitted(36, 9) Source(21, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(36, 27) Source(21, 24) + SourceIndex(0) name (Greeter)
+---
+>>> PropertyDecorator2(40)
+1->^^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^
+3 > ^
+4 > ^^
+5 > ^
+6 > ^^^^^^^^^^^^->
+1->
+ > @
+2 > PropertyDecorator2
+3 > (
+4 > 40
+5 > )
+1->Emitted(37, 9) Source(22, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(37, 27) Source(22, 24) + SourceIndex(0) name (Greeter)
+3 >Emitted(37, 28) Source(22, 25) + SourceIndex(0) name (Greeter)
+4 >Emitted(37, 30) Source(22, 27) + SourceIndex(0) name (Greeter)
+5 >Emitted(37, 31) Source(22, 28) + SourceIndex(0) name (Greeter)
+---
+>>> ], Greeter.prototype, "greet", null);
+1->^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^
+3 > ^^^^^^^^
+1->
+ >
+2 > greet
+3 > () {
+ > return "" + this.greeting + "
";
+ > }
+1->Emitted(38, 8) Source(23, 5) + SourceIndex(0) name (Greeter)
+2 >Emitted(38, 34) Source(23, 10) + SourceIndex(0) name (Greeter)
+3 >Emitted(38, 42) Source(25, 6) + SourceIndex(0) name (Greeter)
+---
+>>> __decorate([
+1 >^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
+1 >
+ >
+ >
+1 >Emitted(39, 5) Source(27, 5) + SourceIndex(0) name (Greeter)
+---
+>>> PropertyDecorator1,
+1->^^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^
+3 > ^^^^^->
+1->@
+2 > PropertyDecorator1
+1->Emitted(40, 9) Source(27, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(40, 27) Source(27, 24) + SourceIndex(0) name (Greeter)
---
>>> PropertyDecorator2(50)
1->^^^^^^^^
@@ -477,163 +460,141 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^
4 > ^^
5 > ^
-6 > ^^->
+6 > ^^^^^^^^^^->
1->
> @
2 > PropertyDecorator2
3 > (
4 > 50
5 > )
-1->Emitted(44, 9) Source(28, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(44, 27) Source(28, 24) + SourceIndex(0) name (Greeter)
-3 >Emitted(44, 28) Source(28, 25) + SourceIndex(0) name (Greeter)
-4 >Emitted(44, 30) Source(28, 27) + SourceIndex(0) name (Greeter)
-5 >Emitted(44, 31) Source(28, 28) + SourceIndex(0) name (Greeter)
+1->Emitted(41, 9) Source(28, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(41, 27) Source(28, 24) + SourceIndex(0) name (Greeter)
+3 >Emitted(41, 28) Source(28, 25) + SourceIndex(0) name (Greeter)
+4 >Emitted(41, 30) Source(28, 27) + SourceIndex(0) name (Greeter)
+5 >Emitted(41, 31) Source(28, 28) + SourceIndex(0) name (Greeter)
---
->>> ], Greeter.prototype, "x");
+>>> ], Greeter.prototype, "x", void 0);
1->^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^
-4 > ^^^^^^^^^^^^^^^^^^^^->
+3 > ^^^^^^^^^^
1->
> private
2 > x
3 > : string;
-1->Emitted(45, 8) Source(29, 13) + SourceIndex(0) name (Greeter)
-2 >Emitted(45, 30) Source(29, 14) + SourceIndex(0) name (Greeter)
-3 >Emitted(45, 32) Source(29, 23) + SourceIndex(0) name (Greeter)
+1->Emitted(42, 8) Source(29, 13) + SourceIndex(0) name (Greeter)
+2 >Emitted(42, 30) Source(29, 14) + SourceIndex(0) name (Greeter)
+3 >Emitted(42, 40) Source(29, 23) + SourceIndex(0) name (Greeter)
---
->>> Object.defineProperty(Greeter.prototype, "fn",
-1->^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^
-1->
+>>> __decorate([
+1 >^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
+1 >
>
> @PropertyDecorator1
> @PropertyDecorator2(60)
> private static x1: number = 10;
>
>
-2 > private
-3 > fn
-1->Emitted(46, 5) Source(35, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(46, 27) Source(35, 13) + SourceIndex(0) name (Greeter)
-3 >Emitted(46, 50) Source(35, 15) + SourceIndex(0) name (Greeter)
+1 >Emitted(43, 5) Source(35, 5) + SourceIndex(0) name (Greeter)
---
->>> __decorate([
->>> __param(0, ParameterDecorator1),
-1 >^^^^^^^^^^^^
-2 > ^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^
-4 > ^
-5 > ^^^^^->
-1 >(
+>>> __param(0, ParameterDecorator1),
+1->^^^^^^^^
+2 > ^^^^^^^^^^^
+3 > ^^^^^^^^^^^^^^^^^^^
+4 > ^
+5 > ^^^^^->
+1->private fn(
>
-2 > @
-3 > ParameterDecorator1
-4 >
-1 >Emitted(48, 13) Source(36, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(48, 24) Source(36, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(48, 43) Source(36, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(48, 44) Source(36, 27) + SourceIndex(0) name (Greeter)
+2 > @
+3 > ParameterDecorator1
+4 >
+1->Emitted(44, 9) Source(36, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(44, 20) Source(36, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(44, 39) Source(36, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(44, 40) Source(36, 27) + SourceIndex(0) name (Greeter)
---
->>> __param(0, ParameterDecorator2(70))
-1->^^^^^^^^^^^^
-2 > ^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^
-4 > ^
-5 > ^^
-6 > ^
-7 > ^
-8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
+>>> __param(0, ParameterDecorator2(70))
+1->^^^^^^^^
+2 > ^^^^^^^^^^^
+3 > ^^^^^^^^^^^^^^^^^^^
+4 > ^
+5 > ^^
+6 > ^
+7 > ^
1->
>
-2 > @
-3 > ParameterDecorator2
-4 > (
-5 > 70
-6 > )
-7 >
-1->Emitted(49, 13) Source(37, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(49, 24) Source(37, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(49, 43) Source(37, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(49, 44) Source(37, 28) + SourceIndex(0) name (Greeter)
-5 >Emitted(49, 46) Source(37, 30) + SourceIndex(0) name (Greeter)
-6 >Emitted(49, 47) Source(37, 31) + SourceIndex(0) name (Greeter)
-7 >Emitted(49, 48) Source(37, 31) + SourceIndex(0) name (Greeter)
+2 > @
+3 > ParameterDecorator2
+4 > (
+5 > 70
+6 > )
+7 >
+1->Emitted(45, 9) Source(37, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(45, 20) Source(37, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(45, 39) Source(37, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(45, 40) Source(37, 28) + SourceIndex(0) name (Greeter)
+5 >Emitted(45, 42) Source(37, 30) + SourceIndex(0) name (Greeter)
+6 >Emitted(45, 43) Source(37, 31) + SourceIndex(0) name (Greeter)
+7 >Emitted(45, 44) Source(37, 31) + SourceIndex(0) name (Greeter)
---
->>> ], Greeter.prototype, "fn", Object.getOwnPropertyDescriptor(Greeter.prototype, "fn")));
-1->^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-4 > ^^^^^^^^^^^^^^^^^^^^^^^
-5 > ^^^^
-1->
-2 > fn
-3 >
-4 > fn
-5 > (
- > @ParameterDecorator1
- > @ParameterDecorator2(70)
- > x: number) {
- > return this.greeting;
- > }
-1->Emitted(50, 12) Source(35, 13) + SourceIndex(0) name (Greeter)
-2 >Emitted(50, 35) Source(35, 15) + SourceIndex(0) name (Greeter)
-3 >Emitted(50, 69) Source(35, 13) + SourceIndex(0) name (Greeter)
-4 >Emitted(50, 92) Source(35, 15) + SourceIndex(0) name (Greeter)
-5 >Emitted(50, 96) Source(40, 6) + SourceIndex(0) name (Greeter)
+>>> ], Greeter.prototype, "fn", null);
+1 >^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^
+3 > ^^^^^^^^
+1 >
+2 > fn
+3 > (
+ > @ParameterDecorator1
+ > @ParameterDecorator2(70)
+ > x: number) {
+ > return this.greeting;
+ > }
+1 >Emitted(46, 8) Source(35, 13) + SourceIndex(0) name (Greeter)
+2 >Emitted(46, 31) Source(35, 15) + SourceIndex(0) name (Greeter)
+3 >Emitted(46, 39) Source(40, 6) + SourceIndex(0) name (Greeter)
---
->>> Object.defineProperty(Greeter.prototype, "greetings",
+>>> __decorate([
1 >^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
-2 > @PropertyDecorator1
- > @PropertyDecorator2(80)
- > get
-3 > greetings
-1 >Emitted(51, 5) Source(42, 5) + SourceIndex(0) name (Greeter)
-2 >Emitted(51, 27) Source(44, 9) + SourceIndex(0) name (Greeter)
-3 >Emitted(51, 57) Source(44, 18) + SourceIndex(0) name (Greeter)
+1 >Emitted(47, 5) Source(42, 5) + SourceIndex(0) name (Greeter)
---
->>> __decorate([
->>> PropertyDecorator1,
-1 >^^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^->
-1 >
-2 > PropertyDecorator1
-1 >Emitted(53, 13) Source(42, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(53, 31) Source(42, 24) + SourceIndex(0) name (Greeter)
+>>> PropertyDecorator1,
+1->^^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^
+3 > ^^^^^^->
+1->@
+2 > PropertyDecorator1
+1->Emitted(48, 9) Source(42, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(48, 27) Source(42, 24) + SourceIndex(0) name (Greeter)
---
->>> PropertyDecorator2(80),
-1->^^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^
-3 > ^
-4 > ^^
-5 > ^
-6 > ^^^^^^^^^^^->
+>>> PropertyDecorator2(80),
+1->^^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^
+3 > ^
+4 > ^^
+5 > ^
+6 > ^^^^^^^^^^^->
1->
> @
-2 > PropertyDecorator2
-3 > (
-4 > 80
-5 > )
-1->Emitted(54, 13) Source(43, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(54, 31) Source(43, 24) + SourceIndex(0) name (Greeter)
-3 >Emitted(54, 32) Source(43, 25) + SourceIndex(0) name (Greeter)
-4 >Emitted(54, 34) Source(43, 27) + SourceIndex(0) name (Greeter)
-5 >Emitted(54, 35) Source(43, 28) + SourceIndex(0) name (Greeter)
+2 > PropertyDecorator2
+3 > (
+4 > 80
+5 > )
+1->Emitted(49, 9) Source(43, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(49, 27) Source(43, 24) + SourceIndex(0) name (Greeter)
+3 >Emitted(49, 28) Source(43, 25) + SourceIndex(0) name (Greeter)
+4 >Emitted(49, 30) Source(43, 27) + SourceIndex(0) name (Greeter)
+5 >Emitted(49, 31) Source(43, 28) + SourceIndex(0) name (Greeter)
---
->>> __param(0, ParameterDecorator1),
-1->^^^^^^^^^^^^
-2 > ^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^
-4 > ^
-5 > ^^^^^->
+>>> __param(0, ParameterDecorator1),
+1->^^^^^^^^
+2 > ^^^^^^^^^^^
+3 > ^^^^^^^^^^^^^^^^^^^
+4 > ^
+5 > ^^^^^->
1->
> get greetings() {
> return this.greeting;
@@ -641,63 +602,57 @@ sourceFile:sourceMapValidationDecorators.ts
>
> set greetings(
>
-2 > @
-3 > ParameterDecorator1
-4 >
-1->Emitted(55, 13) Source(49, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(55, 24) Source(49, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(55, 43) Source(49, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(55, 44) Source(49, 27) + SourceIndex(0) name (Greeter)
+2 > @
+3 > ParameterDecorator1
+4 >
+1->Emitted(50, 9) Source(49, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(50, 20) Source(49, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(50, 39) Source(49, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(50, 40) Source(49, 27) + SourceIndex(0) name (Greeter)
---
->>> __param(0, ParameterDecorator2(90))
-1->^^^^^^^^^^^^
-2 > ^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^
-4 > ^
-5 > ^^
-6 > ^
-7 > ^
-8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
+>>> __param(0, ParameterDecorator2(90))
+1->^^^^^^^^
+2 > ^^^^^^^^^^^
+3 > ^^^^^^^^^^^^^^^^^^^
+4 > ^
+5 > ^^
+6 > ^
+7 > ^
+8 > ^^^->
1->
>
-2 > @
-3 > ParameterDecorator2
-4 > (
-5 > 90
-6 > )
-7 >
-1->Emitted(56, 13) Source(50, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(56, 24) Source(50, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(56, 43) Source(50, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(56, 44) Source(50, 28) + SourceIndex(0) name (Greeter)
-5 >Emitted(56, 46) Source(50, 30) + SourceIndex(0) name (Greeter)
-6 >Emitted(56, 47) Source(50, 31) + SourceIndex(0) name (Greeter)
-7 >Emitted(56, 48) Source(50, 31) + SourceIndex(0) name (Greeter)
+2 > @
+3 > ParameterDecorator2
+4 > (
+5 > 90
+6 > )
+7 >
+1->Emitted(51, 9) Source(50, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(51, 20) Source(50, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(51, 39) Source(50, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(51, 40) Source(50, 28) + SourceIndex(0) name (Greeter)
+5 >Emitted(51, 42) Source(50, 30) + SourceIndex(0) name (Greeter)
+6 >Emitted(51, 43) Source(50, 31) + SourceIndex(0) name (Greeter)
+7 >Emitted(51, 44) Source(50, 31) + SourceIndex(0) name (Greeter)
---
->>> ], Greeter.prototype, "greetings", Object.getOwnPropertyDescriptor(Greeter.prototype, "greetings")));
-1->^^^^^^^^^^^
-2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-5 > ^^^^
+>>> ], Greeter.prototype, "greetings", null);
+1->^^^^^^^
+2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+3 > ^^^^^^^^
1->
-2 > greetings
-3 >
-4 > greetings
-5 > () {
- > return this.greeting;
- > }
-1->Emitted(57, 12) Source(44, 9) + SourceIndex(0) name (Greeter)
-2 >Emitted(57, 42) Source(44, 18) + SourceIndex(0) name (Greeter)
-3 >Emitted(57, 76) Source(44, 9) + SourceIndex(0) name (Greeter)
-4 >Emitted(57, 106) Source(44, 18) + SourceIndex(0) name (Greeter)
-5 >Emitted(57, 110) Source(46, 6) + SourceIndex(0) name (Greeter)
+2 > greetings
+3 > () {
+ > return this.greeting;
+ > }
+1->Emitted(52, 8) Source(44, 9) + SourceIndex(0) name (Greeter)
+2 >Emitted(52, 38) Source(44, 18) + SourceIndex(0) name (Greeter)
+3 >Emitted(52, 46) Source(46, 6) + SourceIndex(0) name (Greeter)
---
>>> __decorate([
1 >^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
-1 >Emitted(58, 5) Source(31, 5) + SourceIndex(0) name (Greeter)
+1 >Emitted(53, 5) Source(31, 5) + SourceIndex(0) name (Greeter)
---
>>> PropertyDecorator1,
1->^^^^^^^^
@@ -705,8 +660,8 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^^^^^->
1->@
2 > PropertyDecorator1
-1->Emitted(59, 9) Source(31, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(59, 27) Source(31, 24) + SourceIndex(0) name (Greeter)
+1->Emitted(54, 9) Source(31, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(54, 27) Source(31, 24) + SourceIndex(0) name (Greeter)
---
>>> PropertyDecorator2(60)
1->^^^^^^^^
@@ -714,36 +669,36 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^
4 > ^^
5 > ^
+6 > ^->
1->
> @
2 > PropertyDecorator2
3 > (
4 > 60
5 > )
-1->Emitted(60, 9) Source(32, 6) + SourceIndex(0) name (Greeter)
-2 >Emitted(60, 27) Source(32, 24) + SourceIndex(0) name (Greeter)
-3 >Emitted(60, 28) Source(32, 25) + SourceIndex(0) name (Greeter)
-4 >Emitted(60, 30) Source(32, 27) + SourceIndex(0) name (Greeter)
-5 >Emitted(60, 31) Source(32, 28) + SourceIndex(0) name (Greeter)
+1->Emitted(55, 9) Source(32, 6) + SourceIndex(0) name (Greeter)
+2 >Emitted(55, 27) Source(32, 24) + SourceIndex(0) name (Greeter)
+3 >Emitted(55, 28) Source(32, 25) + SourceIndex(0) name (Greeter)
+4 >Emitted(55, 30) Source(32, 27) + SourceIndex(0) name (Greeter)
+5 >Emitted(55, 31) Source(32, 28) + SourceIndex(0) name (Greeter)
---
->>> ], Greeter, "x1");
-1 >^^^^^^^
+>>> ], Greeter, "x1", void 0);
+1->^^^^^^^
2 > ^^^^^^^^^^^^^
-3 > ^^
-4 > ^^^^^->
-1 >
+3 > ^^^^^^^^^^
+1->
> private static
2 > x1
3 > : number = 10;
-1 >Emitted(61, 8) Source(33, 20) + SourceIndex(0) name (Greeter)
-2 >Emitted(61, 21) Source(33, 22) + SourceIndex(0) name (Greeter)
-3 >Emitted(61, 23) Source(33, 36) + SourceIndex(0) name (Greeter)
+1->Emitted(56, 8) Source(33, 20) + SourceIndex(0) name (Greeter)
+2 >Emitted(56, 21) Source(33, 22) + SourceIndex(0) name (Greeter)
+3 >Emitted(56, 31) Source(33, 36) + SourceIndex(0) name (Greeter)
---
>>> Greeter = __decorate([
-1->^^^^
+1 >^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^->
-1->
-1->Emitted(62, 5) Source(8, 1) + SourceIndex(0) name (Greeter)
+1 >
+1 >Emitted(57, 5) Source(8, 1) + SourceIndex(0) name (Greeter)
---
>>> ClassDecorator1,
1->^^^^^^^^
@@ -751,8 +706,8 @@ sourceFile:sourceMapValidationDecorators.ts
3 > ^^^^^^->
1->@
2 > ClassDecorator1
-1->Emitted(63, 9) Source(8, 2) + SourceIndex(0) name (Greeter)
-2 >Emitted(63, 24) Source(8, 17) + SourceIndex(0) name (Greeter)
+1->Emitted(58, 9) Source(8, 2) + SourceIndex(0) name (Greeter)
+2 >Emitted(58, 24) Source(8, 17) + SourceIndex(0) name (Greeter)
---
>>> ClassDecorator2(10),
1->^^^^^^^^
@@ -767,11 +722,11 @@ sourceFile:sourceMapValidationDecorators.ts
3 > (
4 > 10
5 > )
-1->Emitted(64, 9) Source(9, 2) + SourceIndex(0) name (Greeter)
-2 >Emitted(64, 24) Source(9, 17) + SourceIndex(0) name (Greeter)
-3 >Emitted(64, 25) Source(9, 18) + SourceIndex(0) name (Greeter)
-4 >Emitted(64, 27) Source(9, 20) + SourceIndex(0) name (Greeter)
-5 >Emitted(64, 28) Source(9, 21) + SourceIndex(0) name (Greeter)
+1->Emitted(59, 9) Source(9, 2) + SourceIndex(0) name (Greeter)
+2 >Emitted(59, 24) Source(9, 17) + SourceIndex(0) name (Greeter)
+3 >Emitted(59, 25) Source(9, 18) + SourceIndex(0) name (Greeter)
+4 >Emitted(59, 27) Source(9, 20) + SourceIndex(0) name (Greeter)
+5 >Emitted(59, 28) Source(9, 21) + SourceIndex(0) name (Greeter)
---
>>> __param(0, ParameterDecorator1),
1->^^^^^^^^
@@ -786,10 +741,10 @@ sourceFile:sourceMapValidationDecorators.ts
2 > @
3 > ParameterDecorator1
4 >
-1->Emitted(65, 9) Source(12, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(65, 20) Source(12, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(65, 39) Source(12, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(65, 40) Source(12, 27) + SourceIndex(0) name (Greeter)
+1->Emitted(60, 9) Source(12, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(60, 20) Source(12, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(60, 39) Source(12, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(60, 40) Source(12, 27) + SourceIndex(0) name (Greeter)
---
>>> __param(0, ParameterDecorator2(20)),
1->^^^^^^^^
@@ -807,13 +762,13 @@ sourceFile:sourceMapValidationDecorators.ts
5 > 20
6 > )
7 >
-1->Emitted(66, 9) Source(13, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(66, 20) Source(13, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(66, 39) Source(13, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(66, 40) Source(13, 28) + SourceIndex(0) name (Greeter)
-5 >Emitted(66, 42) Source(13, 30) + SourceIndex(0) name (Greeter)
-6 >Emitted(66, 43) Source(13, 31) + SourceIndex(0) name (Greeter)
-7 >Emitted(66, 44) Source(13, 31) + SourceIndex(0) name (Greeter)
+1->Emitted(61, 9) Source(13, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(61, 20) Source(13, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(61, 39) Source(13, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(61, 40) Source(13, 28) + SourceIndex(0) name (Greeter)
+5 >Emitted(61, 42) Source(13, 30) + SourceIndex(0) name (Greeter)
+6 >Emitted(61, 43) Source(13, 31) + SourceIndex(0) name (Greeter)
+7 >Emitted(61, 44) Source(13, 31) + SourceIndex(0) name (Greeter)
---
>>> __param(1, ParameterDecorator1),
1 >^^^^^^^^
@@ -828,10 +783,10 @@ sourceFile:sourceMapValidationDecorators.ts
2 > @
3 > ParameterDecorator1
4 >
-1 >Emitted(67, 9) Source(16, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(67, 20) Source(16, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(67, 39) Source(16, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(67, 40) Source(16, 27) + SourceIndex(0) name (Greeter)
+1 >Emitted(62, 9) Source(16, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(62, 20) Source(16, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(62, 39) Source(16, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(62, 40) Source(16, 27) + SourceIndex(0) name (Greeter)
---
>>> __param(1, ParameterDecorator2(30))
1->^^^^^^^^
@@ -849,13 +804,13 @@ sourceFile:sourceMapValidationDecorators.ts
5 > 30
6 > )
7 >
-1->Emitted(68, 9) Source(17, 7) + SourceIndex(0) name (Greeter)
-2 >Emitted(68, 20) Source(17, 8) + SourceIndex(0) name (Greeter)
-3 >Emitted(68, 39) Source(17, 27) + SourceIndex(0) name (Greeter)
-4 >Emitted(68, 40) Source(17, 28) + SourceIndex(0) name (Greeter)
-5 >Emitted(68, 42) Source(17, 30) + SourceIndex(0) name (Greeter)
-6 >Emitted(68, 43) Source(17, 31) + SourceIndex(0) name (Greeter)
-7 >Emitted(68, 44) Source(17, 31) + SourceIndex(0) name (Greeter)
+1->Emitted(63, 9) Source(17, 7) + SourceIndex(0) name (Greeter)
+2 >Emitted(63, 20) Source(17, 8) + SourceIndex(0) name (Greeter)
+3 >Emitted(63, 39) Source(17, 27) + SourceIndex(0) name (Greeter)
+4 >Emitted(63, 40) Source(17, 28) + SourceIndex(0) name (Greeter)
+5 >Emitted(63, 42) Source(17, 30) + SourceIndex(0) name (Greeter)
+6 >Emitted(63, 43) Source(17, 31) + SourceIndex(0) name (Greeter)
+7 >Emitted(63, 44) Source(17, 31) + SourceIndex(0) name (Greeter)
---
>>> ], Greeter);
1 >^^^^^^^^^^^^^^^^
@@ -898,15 +853,15 @@ sourceFile:sourceMapValidationDecorators.ts
> this.greeting = greetings;
> }
>}
-1 >Emitted(69, 17) Source(54, 2) + SourceIndex(0) name (Greeter)
+1 >Emitted(64, 17) Source(54, 2) + SourceIndex(0) name (Greeter)
---
>>> return Greeter;
1->^^^^
2 > ^^^^^^^^^^^^^^
1->
2 > }
-1->Emitted(70, 5) Source(54, 1) + SourceIndex(0) name (Greeter)
-2 >Emitted(70, 19) Source(54, 2) + SourceIndex(0) name (Greeter)
+1->Emitted(65, 5) Source(54, 1) + SourceIndex(0) name (Greeter)
+2 >Emitted(65, 19) Source(54, 2) + SourceIndex(0) name (Greeter)
---
>>>})();
1 >
@@ -964,9 +919,9 @@ sourceFile:sourceMapValidationDecorators.ts
> this.greeting = greetings;
> }
> }
-1 >Emitted(71, 1) Source(54, 1) + SourceIndex(0) name (Greeter)
-2 >Emitted(71, 2) Source(54, 2) + SourceIndex(0) name (Greeter)
-3 >Emitted(71, 2) Source(8, 1) + SourceIndex(0)
-4 >Emitted(71, 6) Source(54, 2) + SourceIndex(0)
+1 >Emitted(66, 1) Source(54, 1) + SourceIndex(0) name (Greeter)
+2 >Emitted(66, 2) Source(54, 2) + SourceIndex(0) name (Greeter)
+3 >Emitted(66, 2) Source(8, 1) + SourceIndex(0)
+4 >Emitted(66, 6) Source(54, 2) + SourceIndex(0)
---
>>>//# sourceMappingURL=sourceMapValidationDecorators.js.map
\ No newline at end of file
diff --git a/tests/baselines/reference/tsxAttributeResolution8.symbols b/tests/baselines/reference/tsxAttributeResolution8.symbols
index 9bb09c6cd85..85db1985cc2 100644
--- a/tests/baselines/reference/tsxAttributeResolution8.symbols
+++ b/tests/baselines/reference/tsxAttributeResolution8.symbols
@@ -20,4 +20,5 @@ var x: any;
// Should be OK
>test1 : Symbol(JSX.IntrinsicElements.test1, Decl(tsxAttributeResolution8.tsx, 2, 30))
+>x : Symbol(x, Decl(tsxAttributeResolution8.tsx, 7, 3))
diff --git a/tests/baselines/reference/tsxEmit2.symbols b/tests/baselines/reference/tsxEmit2.symbols
index 5eefc31710d..5da1b16ae44 100644
--- a/tests/baselines/reference/tsxEmit2.symbols
+++ b/tests/baselines/reference/tsxEmit2.symbols
@@ -21,12 +21,14 @@ var p1, p2, p3;
var spreads1 = {p2}
;
>spreads1 : Symbol(spreads1, Decl(tsxEmit2.tsx, 8, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxEmit2.tsx, 7, 3))
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
var spreads2 = {p2}
;
>spreads2 : Symbol(spreads2, Decl(tsxEmit2.tsx, 9, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxEmit2.tsx, 7, 3))
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
@@ -35,12 +37,14 @@ var spreads3 = {p2}
;
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
>x : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxEmit2.tsx, 7, 11))
+>p1 : Symbol(p1, Decl(tsxEmit2.tsx, 7, 3))
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
var spreads4 = {p2}
;
>spreads4 : Symbol(spreads4, Decl(tsxEmit2.tsx, 11, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxEmit2.tsx, 7, 3))
>x : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxEmit2.tsx, 7, 11))
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
@@ -51,6 +55,7 @@ var spreads5 = {p2}
;
>div : Symbol(JSX.IntrinsicElements, Decl(tsxEmit2.tsx, 1, 22))
>x : Symbol(unknown)
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
+>p1 : Symbol(p1, Decl(tsxEmit2.tsx, 7, 3))
>y : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxEmit2.tsx, 7, 11))
>p2 : Symbol(p2, Decl(tsxEmit2.tsx, 7, 7))
diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.symbols b/tests/baselines/reference/tsxExternalModuleEmit2.symbols
index 6f8d3d76cd2..ff5fdc49171 100644
--- a/tests/baselines/reference/tsxExternalModuleEmit2.symbols
+++ b/tests/baselines/reference/tsxExternalModuleEmit2.symbols
@@ -26,6 +26,7 @@ declare var Foo, React;
// Should see mod_1['default'] in emit here
;
>Foo : Symbol(Foo, Decl(app.tsx, 1, 11))
+>Main : Symbol(Main, Decl(app.tsx, 0, 6))
>Foo : Symbol(Foo, Decl(app.tsx, 1, 11))
diff --git a/tests/baselines/reference/tsxReactEmit2.symbols b/tests/baselines/reference/tsxReactEmit2.symbols
index 049fdb1819b..051f7588f25 100644
--- a/tests/baselines/reference/tsxReactEmit2.symbols
+++ b/tests/baselines/reference/tsxReactEmit2.symbols
@@ -23,12 +23,14 @@ var p1, p2, p3;
var spreads1 = {p2}
;
>spreads1 : Symbol(spreads1, Decl(tsxReactEmit2.tsx, 9, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxReactEmit2.tsx, 8, 3))
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
var spreads2 = {p2}
;
>spreads2 : Symbol(spreads2, Decl(tsxReactEmit2.tsx, 10, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxReactEmit2.tsx, 8, 3))
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
@@ -37,12 +39,14 @@ var spreads3 = {p2}
;
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
>x : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxReactEmit2.tsx, 8, 11))
+>p1 : Symbol(p1, Decl(tsxReactEmit2.tsx, 8, 3))
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
var spreads4 = {p2}
;
>spreads4 : Symbol(spreads4, Decl(tsxReactEmit2.tsx, 12, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
+>p1 : Symbol(p1, Decl(tsxReactEmit2.tsx, 8, 3))
>x : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxReactEmit2.tsx, 8, 11))
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
@@ -53,6 +57,7 @@ var spreads5 = {p2}
;
>div : Symbol(JSX.IntrinsicElements, Decl(tsxReactEmit2.tsx, 1, 22))
>x : Symbol(unknown)
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
+>p1 : Symbol(p1, Decl(tsxReactEmit2.tsx, 8, 3))
>y : Symbol(unknown)
>p3 : Symbol(p3, Decl(tsxReactEmit2.tsx, 8, 11))
>p2 : Symbol(p2, Decl(tsxReactEmit2.tsx, 8, 7))
diff --git a/tests/baselines/reference/tsxReactEmit5.symbols b/tests/baselines/reference/tsxReactEmit5.symbols
index 388e717957f..3e0e1790676 100644
--- a/tests/baselines/reference/tsxReactEmit5.symbols
+++ b/tests/baselines/reference/tsxReactEmit5.symbols
@@ -31,5 +31,6 @@ var spread1 = ;
>spread1 : Symbol(spread1, Decl(react-consumer.tsx, 4, 3))
>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 2, 22))
>x : Symbol(unknown)
+>foo : Symbol(foo, Decl(react-consumer.tsx, 3, 3))
>y : Symbol(unknown)
diff --git a/tests/baselines/reference/tsxReactEmit6.symbols b/tests/baselines/reference/tsxReactEmit6.symbols
index 0302cef3e8d..fd717ee4a5b 100644
--- a/tests/baselines/reference/tsxReactEmit6.symbols
+++ b/tests/baselines/reference/tsxReactEmit6.symbols
@@ -34,6 +34,7 @@ namespace M {
>spread1 : Symbol(spread1, Decl(react-consumer.tsx, 8, 4))
>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 2, 22))
>x : Symbol(unknown)
+>foo : Symbol(foo, Decl(react-consumer.tsx, 7, 4))
>y : Symbol(unknown)
}
diff --git a/tests/cases/fourslash/jsxSpreadReference.ts b/tests/cases/fourslash/jsxSpreadReference.ts
new file mode 100644
index 00000000000..64ab03e6ab9
--- /dev/null
+++ b/tests/cases/fourslash/jsxSpreadReference.ts
@@ -0,0 +1,25 @@
+///
+
+//@Filename: file.tsx
+//// declare module JSX {
+//// interface Element { }
+//// interface IntrinsicElements {
+//// }
+//// interface ElementAttributesProperty { props }
+//// }
+//// class MyClass {
+//// props: {
+//// name?: string;
+//// size?: number;
+//// }
+//// }
+////
+//// var [|/*dst*/nn|]: {name?: string; size?: number};
+//// var x = ;
+
+goTo.marker('src');
+goTo.definition();
+verify.caretAtMarker('dst');
+
+goTo.marker('src');
+verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);