--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java 2015-02-27 12:55:14.768513488 +0100 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java 2015-02-27 12:55:14.668513490 +0100 @@ -712,19 +712,8 @@ return definingFn == function; } - private void checkConstAssignment(final IdentNode ident) { - // Check for reassignment of constant - final Symbol symbol = ident.getSymbol(); - if (symbol.isConst()) { - throwParserException(ECMAErrors.getMessage("syntax.error.assign.constant", symbol.getName()), ident); - } - } - @Override public Node leaveBinaryNode(final BinaryNode binaryNode) { - if (binaryNode.isAssignment() && binaryNode.lhs() instanceof IdentNode) { - checkConstAssignment((IdentNode) binaryNode.lhs()); - } switch (binaryNode.tokenType()) { case ASSIGN: return leaveASSIGN(binaryNode); @@ -751,9 +740,6 @@ @Override public Node leaveUnaryNode(final UnaryNode unaryNode) { - if (unaryNode.isAssignment() && unaryNode.getExpression() instanceof IdentNode) { - checkConstAssignment((IdentNode) unaryNode.getExpression()); - } switch (unaryNode.tokenType()) { case DELETE: return leaveDELETE(unaryNode);