Skip to content

Commit 2e8bbf0

Browse files
fix #11480, disallow delete operator on readonly property or index
signature
1 parent ab75ea7 commit 2e8bbf0

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
@@ -13550,6 +13550,9 @@ namespace ts {
1355013550

1355113551
function checkDeleteExpression(node: DeleteExpression): Type {
1355213552
checkExpression(node.expression);
13553+
checkReferenceExpression(node.expression,
13554+
Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference,
13555+
Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
1355313556
return booleanType;
1355413557
}
1355513558

src/compiler/diagnosticMessages.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1983,6 +1983,14 @@
19831983
"category": "Error",
19841984
"code": 2697
19851985
},
1986+
"The operand of a delete operator must be a property reference": {
1987+
"category": "Error",
1988+
"code": 2698
1989+
},
1990+
"The operand of a delete operator cannot be a read-only property": {
1991+
"category": "Error",
1992+
"code": 2699
1993+
},
19861994

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

0 commit comments

Comments
 (0)