private JsExpression mapDeleteProp(Node node) throws JsParserException {
Node from = node.getFirstChild();
JsExpression to = mapExpression(from);
if (to instanceof JsNameRef) {
return new JsPrefixOperation(makeSourceInfo(node),
JsUnaryOperator.DELETE, to);
} else if (to instanceof JsArrayAccess) {
return new JsPrefixOperation(makeSourceInfo(node),
JsUnaryOperator.DELETE, to);
} else {
throw createParserException(
"'delete' can only operate on property names and array elements",
from);