code: private Node tryReplaceUndefined(Node n) {
      // TODO(johnlenz): consider doing this as a normalization.
      if (isASTNormalized()
          && NodeUtil.isUndefined(n)
          && !NodeUtil.isLValue(n)) {
        Node replacement = NodeUtil.newUndefinedNode(n);
        n.replaceWith(replacement);
        reportChangeToEnclosingScope(replacement);
        return replacement;
      }
      return n;
    }
docs: Use "void 0" in place of "undefined"