--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java 2017-08-10 09:10:24.862174700 +0530 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java 2017-08-10 09:10:11.197243100 +0530 @@ -4391,10 +4391,15 @@ appendStatement(new ExpressionStatement(unaryLine, unaryToken, finish, expr)); return LiteralNode.newInstance(unaryToken, finish, true); } + case ADD: + case SUB: { + final TokenType opType = type; + next(); + final Expression expr = unaryExpression(); + return new UnaryNode(Token.recast(unaryToken, (opType == TokenType.ADD) ? TokenType.POS : TokenType.NEG), expr); + } case VOID: case TYPEOF: - case ADD: - case SUB: case BIT_NOT: case NOT: next();