< prev index next >

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

Print this page

        

*** 229,248 **** final boolean rhsInteger = rhsType.isInteger() || rhsType.isBoolean(); LiteralNode<?> literalNode; switch (parent.tokenType()) { ! case ADD: if (rhsInteger) { literalNode = LiteralNode.newInstance(token, finish, rhs.getInt32()); } else if (rhsType.isLong()) { literalNode = LiteralNode.newInstance(token, finish, rhs.getLong()); } else { literalNode = LiteralNode.newInstance(token, finish, rhs.getNumber()); } break; ! case SUB: if (rhsInteger && rhs.getInt32() != 0) { // @see test/script/basic/minuszero.js literalNode = LiteralNode.newInstance(token, finish, -rhs.getInt32()); } else if (rhsType.isLong() && rhs.getLong() != 0L) { literalNode = LiteralNode.newInstance(token, finish, -rhs.getLong()); } else { --- 229,248 ---- final boolean rhsInteger = rhsType.isInteger() || rhsType.isBoolean(); LiteralNode<?> literalNode; switch (parent.tokenType()) { ! case POS: if (rhsInteger) { literalNode = LiteralNode.newInstance(token, finish, rhs.getInt32()); } else if (rhsType.isLong()) { literalNode = LiteralNode.newInstance(token, finish, rhs.getLong()); } else { literalNode = LiteralNode.newInstance(token, finish, rhs.getNumber()); } break; ! case NEG: if (rhsInteger && rhs.getInt32() != 0) { // @see test/script/basic/minuszero.js literalNode = LiteralNode.newInstance(token, finish, -rhs.getInt32()); } else if (rhsType.isLong() && rhs.getLong() != 0L) { literalNode = LiteralNode.newInstance(token, finish, -rhs.getLong()); } else {
< prev index next >