code: private void processObjectCreateCall(Node callNode) {
      Node curParam = callNode.getSecondChild();
      if (canOptimizeObjectCreate(curParam)) {
        Node objNode = IR.objectlit().srcref(callNode);
        while (curParam != null) {
          Node keyNode = curParam;
          Node valueNode = curParam.getNext();
          curParam = valueNode.getNext();
  
          callNode.removeChild(keyNode);
          callNode.removeChild(valueNode);
  
          addKeyValueToObjLit(objNode, keyNode, valueNode);
        }
        callNode.replaceWith(objNode);
        compiler.reportChangeToEnclosingScope(objNode);
      }
    }
docs: Converts all of the given call nodes to object literals that are safe to
  do so.