Skip to content

Commit e947fd2

Browse files
committed
fix: add override diagnostic messages for js file
1 parent 339ad92 commit e947fd2

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

src/compiler/checker.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37702,6 +37702,7 @@ namespace ts {
3770237702
function checkClassMember(member: ClassElement | ParameterPropertyDeclaration, memberIsParameterProperty?: boolean) {
3770337703
const hasOverride = hasOverrideModifier(member);
3770437704
const hasStatic = isStatic(member);
37705+
const isJs = isInJSFile(member);
3770537706
if (baseWithThis && (hasOverride || compilerOptions.noImplicitOverride)) {
3770637707
const declaredProp = member.name && getSymbolAtLocation(member.name) || getSymbolAtLocation(member);
3770737708
if (!declaredProp) {
@@ -37727,9 +37728,17 @@ namespace ts {
3772737728
}
3772837729

3772937730
if (!baseHasAbstract) {
37730-
const diag = memberIsParameterProperty ?
37731-
Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0 :
37732-
Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0;
37731+
let diag: DiagnosticMessage;
37732+
if (isJs) {
37733+
diag = memberIsParameterProperty ?
37734+
Diagnostics.This_parameter_property_must_have_a_leading_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0 :
37735+
Diagnostics.This_member_must_have_a_leading_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0;
37736+
}
37737+
else {
37738+
diag = memberIsParameterProperty ?
37739+
Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0 :
37740+
Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0;
37741+
}
3773337742
error(member, diag, baseClassName);
3773437743
}
3773537744
else if (hasAbstractModifier(member) && baseHasAbstract) {

src/compiler/diagnosticMessages.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3817,6 +3817,14 @@
38173817
"category": "Error",
38183818
"code": 4118
38193819
},
3820+
"This member must have a leading JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'.": {
3821+
"category": "Error",
3822+
"code": 4119
3823+
},
3824+
"This parameter property must have a leading JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'.": {
3825+
"category": "Error",
3826+
"code": 4120
3827+
},
38203828

38213829
"The current host does not support the '{0}' option.": {
38223830
"category": "Error",

0 commit comments

Comments
 (0)