src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java

Print this page

        

*** 710,732 **** final FunctionNode definingFn = lc.getDefiningFunction(symbol); assert definingFn != null; 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); default: return super.leaveBinaryNode(binaryNode); --- 710,721 ----
*** 749,761 **** return binaryNode; } @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); case TYPEOF: return leaveTYPEOF(unaryNode); --- 738,747 ----