From db4a117449ef3bf4144a6cb6b3bce7badf0611d8 Mon Sep 17 00:00:00 2001 From: "nboyd%atg.com" Date: Sat, 24 Nov 2007 15:08:22 +0000 Subject: [PATCH] Fix Bug 404484 - destructuring assignment does not work for constants git-svn-id: svn://10.0.0.236/trunk@239897 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/rhino/src/org/mozilla/javascript/IRFactory.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/IRFactory.java b/mozilla/js/rhino/src/org/mozilla/javascript/IRFactory.java index d3fbbe4d388..0712c1a34cb 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/IRFactory.java +++ b/mozilla/js/rhino/src/org/mozilla/javascript/IRFactory.java @@ -1417,6 +1417,8 @@ final class IRFactory } Node comma = new Node(Token.COMMA); result.addChildToBack(comma); + final int setOp = variableType == Token.CONST ? Token.SETCONST + : Token.SETNAME; boolean empty = true; int type = left.getType(); if (type == Token.ARRAYLIT) { @@ -1439,7 +1441,7 @@ final class IRFactory createNumber(index)); if (n.getType() == Token.NAME) { String name = n.getString(); - comma.addChildToBack(new Node(Token.SETNAME, + comma.addChildToBack(new Node(setOp, createName(Token.BINDNAME, name, null), rightElem)); if (variableType != -1) { @@ -1471,7 +1473,7 @@ final class IRFactory createNumber(((Number)id).intValue())); if (n.getType() == Token.NAME) { String name = n.getString(); - comma.addChildToBack(new Node(Token.SETNAME, + comma.addChildToBack(new Node(setOp, createName(Token.BINDNAME, name, null), rightElem)); if (variableType != -1) {