< prev index next >

src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Parser.java

Print this page
rev 52890 : 8223904: Improve Nashorn matching
Reviewed-by: jlaskey, sundar, mschoene, rhalade

*** 450,469 **** } private Node parseExp(final TokenType term) { if (token.type == term) { ! return StringNode.EMPTY; // goto end_of_token } Node node = null; boolean group = false; switch(token.type) { case ALT: case EOT: ! return StringNode.EMPTY; // end_of_token:, node_new_empty case SUBEXP_OPEN: node = parseEnclose(TokenType.SUBEXP_CLOSE); if (returnCode == 1) { group = true; --- 450,469 ---- } private Node parseExp(final TokenType term) { if (token.type == term) { ! return StringNode.createEmpty(); // goto end_of_token } Node node = null; boolean group = false; switch(token.type) { case ALT: case EOT: ! return StringNode.createEmpty(); // end_of_token:, node_new_empty case SUBEXP_OPEN: node = parseEnclose(TokenType.SUBEXP_CLOSE); if (returnCode == 1) { group = true;
*** 567,577 **** case INTERVAL: if (syntax.contextIndepRepeatOps()) { if (syntax.contextInvalidRepeatOps()) { throw new SyntaxException(ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED); } ! node = StringNode.EMPTY; // node_new_empty } else { return parseExpTkByte(group); // goto tk_byte } break; --- 567,577 ---- case INTERVAL: if (syntax.contextIndepRepeatOps()) { if (syntax.contextInvalidRepeatOps()) { throw new SyntaxException(ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED); } ! node = StringNode.createEmpty(); // node_new_empty } else { return parseExpTkByte(group); // goto tk_byte } break;
< prev index next >