code: Node createDestructuringAssignment(int type, Node left, Node right)
      {
          String tempName = currentScriptOrFn.getNextTempName();
          Node result = destructuringAssignmentHelper(type, left, right,
              tempName);
          Node comma = result.getLastChild();
          comma.addChildToBack(createName(tempName));
          return result;
      }
docs: Given a destructuring assignment with a left hand side parsed
  as an array or object literal and a right hand side expression,
  rewrite as a series of assignments to the variables defined in
  left from property accesses to the expression on the right.
  @param type declaration type: Token.VAR or Token.LET or -1
  @param left array or object literal containing NAME nodes for
  variables to assign
  @param right expression to assign from
  @return expression that performs a series of assignments to
  the variables defined in left