Skip to content

Commit c3a1152

Browse files
fix microsoft#11480, disallow delete operator on readonly property or index
signature
1 parent d357207 commit c3a1152

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/compiler/checker.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13486,6 +13486,9 @@ namespace ts {
1348613486

1348713487
function checkDeleteExpression(node: DeleteExpression): Type {
1348813488
checkExpression(node.expression);
13489+
checkReferenceExpression(node.expression,
13490+
Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference,
13491+
Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
1348913492
return booleanType;
1349013493
}
1349113494

src/compiler/diagnosticMessages.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,6 +1971,14 @@
19711971
"category": "Error",
19721972
"code": 2697
19731973
},
1974+
"The operand of a delete operator must be a property reference": {
1975+
"category": "Error",
1976+
"code": 2698
1977+
},
1978+
"The operand of a delete operator cannot be a read-only property": {
1979+
"category": "Error",
1980+
"code": 2699
1981+
},
19741982

19751983
"Import declaration '{0}' is using private name '{1}'.": {
19761984
"category": "Error",

0 commit comments

Comments
 (0)