code: private void processRenamePropertyCall(Node callNode) {
      // Property reflection calls are only needed if
      // property renaming is enabled. Replace the call with the
      // first argument in all other cases.
      if (!propertyRenamingEnabled) {
        Node propName = NodeUtil.getArgumentForCallOrNew(callNode, 0);
        if (propName != null) {
          callNode.replaceWith(propName.detach());
          compiler.reportChangeToEnclosingScope(propName);
          return;
        }
      }
  
      Node nameNode = callNode.getFirstChild();
      if (nameNode.matchesQualifiedName(NodeUtil.JSC_PROPERTY_NAME_FN)) {
        return;
      }
  
      Node newTarget = IR.name(NodeUtil.JSC_PROPERTY_NAME_FN).useSourceInfoFrom(nameNode);
      newTarget.setOriginalName(nameNode.getOriginalQualifiedName());
  
      callNode.replaceChild(nameNode, newTarget);
      callNode.putBooleanProp(Node.FREE_CALL, true);
      compiler.reportChangeToEnclosingScope(callNode);
    }
docs: Converts all of the given call nodes to object literals that are safe to
  do so.