diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6b43b3802c2..d385d9cff74 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12740,7 +12740,7 @@ namespace ts { } if (!compilerOptions.experimentalDecorators) { - error(node, Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Specify_experimentalDecorators_to_remove_this_warning); + error(node, Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_experimentalDecorators_to_remove_this_warning); } if (compilerOptions.emitDecoratorMetadata) { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index a34a7b02c3b..40235bc1710 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -687,7 +687,7 @@ "category": "Error", "code": 1218 }, - "Experimental support for decorators is a feature that is subject to change in a future release. Specify '--experimentalDecorators' to remove this warning.": { + "Experimental support for decorators is a feature that is subject to change in a future release. Set 'experimentalDecorators' to remove this warning.": { "category": "Error", "code": 1219 }, diff --git a/src/compiler/program.ts b/src/compiler/program.ts index bfea431d9ad..00f8fb441d5 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1168,6 +1168,11 @@ namespace ts { let typeAssertionExpression = node; diagnostics.push(createDiagnosticForNode(typeAssertionExpression.type, Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return true; + case SyntaxKind.Decorator: + if (!options.experimentalDecorators) { + diagnostics.push(createDiagnosticForNode(node, Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_experimentalDecorators_to_remove_this_warning)) + } + return true; } return forEachChild(node, walk);