private Node createAssignment(int assignOp, Node left, Node right, boolean tonumber, boolean postfix)
public Object createAssignment(int assignOp, Object left, Object right)
    private Node createAssignment(int assignOp, Node left, Node right,                                  boolean tonumber, boolean postfix)    {        int nodeType = left.getType();        String idString;        Node id = null;        switch (nodeType) {          case Token.NAME:            return createSetName(assignOp, left, right, tonumber, postfix);          case Token.GETPROP:            idString = (String) left.getProp(Node.SPECIAL_PROP_PROP);            if (idString != null)                id = Node.newString(idString);            /* fall through */          case Token.GETELEM:            if (id == null)                id = left.getLastChild();            return createSetProp(nodeType, assignOp, left.getFirstChild(),                                 id, right, tonumber, postfix);          default:            // TODO: This should be a ReferenceError--but that's a runtime            //  exception. Should we compile an exception into the code?            ts.reportCurrentLineError("msg.bad.lhs.assign", null);            return left;        }    }