MCPcopy Index your code
hub / github.com/nodejs/node / checkDeleteExpression

Function checkDeleteExpression

test/fixtures/snapshot/typescript.js:78362–78381  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

78360 return true;
78361 }
78362 function checkDeleteExpression(node) {
78363 checkExpression(node.expression);
78364 var expr = ts.skipParentheses(node.expression);
78365 if (!ts.isAccessExpression(expr)) {
78366 error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference);
78367 return booleanType;
78368 }
78369 if (ts.isPropertyAccessExpression(expr) && ts.isPrivateIdentifier(expr.name)) {
78370 error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);
78371 }
78372 var links = getNodeLinks(expr);
78373 var symbol = getExportSymbolOfValueSymbolIfExported(links.resolvedSymbol);
78374 if (symbol) {
78375 if (isReadonlySymbol(symbol)) {
78376 error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
78377 }
78378 checkDeleteExpressionMustBeOptional(expr, symbol);
78379 }
78380 return booleanType;
78381 }
78382 function checkDeleteExpressionMustBeOptional(expr, symbol) {
78383 var type = getTypeOfSymbol(symbol);
78384 if (strictNullChecks &&

Callers 1

checkExpressionWorkerFunction · 0.85

Calls 6

getNodeLinksFunction · 0.85
isReadonlySymbolFunction · 0.85
checkExpressionFunction · 0.70
errorFunction · 0.70

Tested by

no test coverage detected