From f15ff32d5c5b0a89ee7f22ca404463562ebcbfa5 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 2 Apr 2015 12:05:56 -0700 Subject: [PATCH] Fix for #2561 --- src/compiler/checker.ts | 6 +++--- .../reference/decoratorOnClassConstructor1.errors.txt | 2 +- tests/baselines/reference/decoratorOnEnum.errors.txt | 6 +++--- .../reference/decoratorOnFunctionDeclaration.errors.txt | 6 +++--- .../reference/decoratorOnImportEquals1.errors.txt | 5 ++--- .../reference/decoratorOnImportEquals2.errors.txt | 5 ++--- tests/baselines/reference/decoratorOnInterface.errors.txt | 6 +++--- .../reference/decoratorOnInternalModule.errors.txt | 6 +++--- tests/baselines/reference/decoratorOnTypeAlias.errors.txt | 7 +++---- tests/baselines/reference/decoratorOnVar.errors.txt | 7 +++---- 10 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 35d50c213b0c9..8c41d97c7bf6c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11857,15 +11857,15 @@ module ts { return false; } if (!nodeCanBeDecorated(node)) { - return grammarErrorOnNode(node, Diagnostics.Decorators_are_not_valid_here); + return grammarErrorOnFirstToken(node, Diagnostics.Decorators_are_not_valid_here); } else if (languageVersion < ScriptTarget.ES5) { - return grammarErrorOnNode(node, Diagnostics.Decorators_are_only_available_when_targeting_ECMAScript_5_and_higher); + 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) { - return grammarErrorOnNode(node, Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); + return grammarErrorOnFirstToken(node, Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); } } return false; diff --git a/tests/baselines/reference/decoratorOnClassConstructor1.errors.txt b/tests/baselines/reference/decoratorOnClassConstructor1.errors.txt index 14a164eccb429..279cf38894f1c 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor1.errors.txt +++ b/tests/baselines/reference/decoratorOnClassConstructor1.errors.txt @@ -6,6 +6,6 @@ tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor class C { @dec constructor() {} - ~~~~~~~~~~~~~~~~~~~~~ + ~ !!! error TS1206: Decorators are not valid here. } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnEnum.errors.txt b/tests/baselines/reference/decoratorOnEnum.errors.txt index 21a6d39aab501..8adf03e548c96 100644 --- a/tests/baselines/reference/decoratorOnEnum.errors.txt +++ b/tests/baselines/reference/decoratorOnEnum.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/decorators/invalid/decoratorOnEnum.ts(4,6): error TS1206: Decorators are not valid here. +tests/cases/conformance/decorators/invalid/decoratorOnEnum.ts(3,1): error TS1206: Decorators are not valid here. ==== tests/cases/conformance/decorators/invalid/decoratorOnEnum.ts (1 errors) ==== declare function dec(target: T): T; @dec - enum E { - ~ + ~ !!! error TS1206: Decorators are not valid here. + enum E { } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnFunctionDeclaration.errors.txt b/tests/baselines/reference/decoratorOnFunctionDeclaration.errors.txt index bda00f1a85f82..24d5eb3509259 100644 --- a/tests/baselines/reference/decoratorOnFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/decoratorOnFunctionDeclaration.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/decorators/invalid/decoratorOnFunctionDeclaration.ts(4,10): error TS1206: Decorators are not valid here. +tests/cases/conformance/decorators/invalid/decoratorOnFunctionDeclaration.ts(3,1): error TS1206: Decorators are not valid here. ==== tests/cases/conformance/decorators/invalid/decoratorOnFunctionDeclaration.ts (1 errors) ==== declare function dec(target: T): T; @dec - function F() { - ~ + ~ !!! error TS1206: Decorators are not valid here. + function F() { } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnImportEquals1.errors.txt b/tests/baselines/reference/decoratorOnImportEquals1.errors.txt index a09a0b014278d..cc75018ca492f 100644 --- a/tests/baselines/reference/decoratorOnImportEquals1.errors.txt +++ b/tests/baselines/reference/decoratorOnImportEquals1.errors.txt @@ -10,8 +10,7 @@ tests/cases/conformance/decorators/invalid/decoratorOnImportEquals1.ts(8,5): err module M2 { @dec - ~~~~ - import X = M1.X; - ~~~~~~~~~~~~~~~~~~~~ + ~ !!! error TS1206: Decorators are not valid here. + import X = M1.X; } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnImportEquals2.errors.txt b/tests/baselines/reference/decoratorOnImportEquals2.errors.txt index 5701afe569be2..0c64db354e891 100644 --- a/tests/baselines/reference/decoratorOnImportEquals2.errors.txt +++ b/tests/baselines/reference/decoratorOnImportEquals2.errors.txt @@ -3,10 +3,9 @@ tests/cases/conformance/decorators/invalid/decoratorOnImportEquals2_1.ts(1,1): e ==== tests/cases/conformance/decorators/invalid/decoratorOnImportEquals2_1.ts (1 errors) ==== @dec - ~~~~ - import lib = require('./decoratorOnImportEquals2_0'); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~ !!! error TS1206: Decorators are not valid here. + import lib = require('./decoratorOnImportEquals2_0'); declare function dec(target: T): T; ==== tests/cases/conformance/decorators/invalid/decoratorOnImportEquals2_0.ts (0 errors) ==== diff --git a/tests/baselines/reference/decoratorOnInterface.errors.txt b/tests/baselines/reference/decoratorOnInterface.errors.txt index 055b43fa877a4..65aec166d70c8 100644 --- a/tests/baselines/reference/decoratorOnInterface.errors.txt +++ b/tests/baselines/reference/decoratorOnInterface.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/decorators/invalid/decoratorOnInterface.ts(4,11): error TS1206: Decorators are not valid here. +tests/cases/conformance/decorators/invalid/decoratorOnInterface.ts(3,1): error TS1206: Decorators are not valid here. ==== tests/cases/conformance/decorators/invalid/decoratorOnInterface.ts (1 errors) ==== declare function dec(target: T): T; @dec - interface I { - ~ + ~ !!! error TS1206: Decorators are not valid here. + interface I { } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnInternalModule.errors.txt b/tests/baselines/reference/decoratorOnInternalModule.errors.txt index 2fd92dfb2500a..e34e381d9e586 100644 --- a/tests/baselines/reference/decoratorOnInternalModule.errors.txt +++ b/tests/baselines/reference/decoratorOnInternalModule.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/decorators/invalid/decoratorOnInternalModule.ts(4,8): error TS1206: Decorators are not valid here. +tests/cases/conformance/decorators/invalid/decoratorOnInternalModule.ts(3,1): error TS1206: Decorators are not valid here. ==== tests/cases/conformance/decorators/invalid/decoratorOnInternalModule.ts (1 errors) ==== declare function dec(target: T): T; @dec - module M { - ~ + ~ !!! error TS1206: Decorators are not valid here. + module M { } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnTypeAlias.errors.txt b/tests/baselines/reference/decoratorOnTypeAlias.errors.txt index 0d3109fe463f2..6d76a0b30d635 100644 --- a/tests/baselines/reference/decoratorOnTypeAlias.errors.txt +++ b/tests/baselines/reference/decoratorOnTypeAlias.errors.txt @@ -5,7 +5,6 @@ tests/cases/conformance/decorators/invalid/decoratorOnTypeAlias.ts(3,1): error T declare function dec(target: T): T; @dec - ~~~~ - type T = number; - ~~~~~~~~~~~~~~~~ -!!! error TS1206: Decorators are not valid here. \ No newline at end of file + ~ +!!! error TS1206: Decorators are not valid here. + type T = number; \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnVar.errors.txt b/tests/baselines/reference/decoratorOnVar.errors.txt index bd87357edad6a..a2262adf748e4 100644 --- a/tests/baselines/reference/decoratorOnVar.errors.txt +++ b/tests/baselines/reference/decoratorOnVar.errors.txt @@ -5,7 +5,6 @@ tests/cases/conformance/decorators/invalid/decoratorOnVar.ts(3,1): error TS1206: declare function dec(target: T): T; @dec - ~~~~ - var x: number; - ~~~~~~~~~~~~~~ -!!! error TS1206: Decorators are not valid here. \ No newline at end of file + ~ +!!! error TS1206: Decorators are not valid here. + var x: number; \ No newline at end of file