--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/constants/OPCode.java 2020-04-15 18:52:04.000000000 +0530 +++ /dev/null 2020-04-15 18:52:04.000000000 +0530 @@ -1,123 +0,0 @@ -/* - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -package jdk.nashorn.internal.runtime.regexp.joni.constants; - -@SuppressWarnings("javadoc") -public interface OPCode { - final int FINISH = 0; /* matching process terminator (no more alternative) */ - final int END = 1; /* pattern code terminator (success end) */ - - final int EXACT1 = 2; /* single byte, N = 1 */ - final int EXACT2 = 3; /* single byte, N = 2 */ - final int EXACT3 = 4; /* single byte, N = 3 */ - final int EXACT4 = 5; /* single byte, N = 4 */ - final int EXACT5 = 6; /* single byte, N = 5 */ - final int EXACTN = 7; /* single byte */ - - final int EXACT1_IC = 14; /* single byte, N = 1, ignore case */ - final int EXACTN_IC = 15; /* single byte, ignore case */ - - final int CCLASS = 16; - final int CCLASS_MB = 17; - final int CCLASS_MIX = 18; - final int CCLASS_NOT = 19; - final int CCLASS_MB_NOT = 20; - final int CCLASS_MIX_NOT = 21; - final int CCLASS_NODE = 22; /* pointer to CClassNode node */ - - final int ANYCHAR = 23; /* "." */ - final int ANYCHAR_ML = 24; /* "." multi-line */ - final int ANYCHAR_STAR = 25; /* ".*" */ - final int ANYCHAR_ML_STAR = 26; /* ".*" multi-line */ - final int ANYCHAR_STAR_PEEK_NEXT = 27; - final int ANYCHAR_ML_STAR_PEEK_NEXT = 28; - - final int WORD = 29; - final int NOT_WORD = 30; - final int WORD_BOUND = 31; - final int NOT_WORD_BOUND = 32; - final int WORD_BEGIN = 33; - final int WORD_END = 34; - - final int BEGIN_BUF = 35; - final int END_BUF = 36; - final int BEGIN_LINE = 37; - final int END_LINE = 38; - final int SEMI_END_BUF = 39; - final int BEGIN_POSITION = 40; - - final int BACKREF1 = 41; - final int BACKREF2 = 42; - final int BACKREFN = 43; - final int BACKREFN_IC = 44; - final int BACKREF_MULTI = 45; - final int BACKREF_MULTI_IC = 46; - final int BACKREF_WITH_LEVEL = 47; /* \k, \k */ - - final int MEMORY_START = 48; - final int MEMORY_START_PUSH = 49; /* push back-tracker to stack */ - final int MEMORY_END_PUSH = 50; /* push back-tracker to stack */ - final int MEMORY_END_PUSH_REC = 51; /* push back-tracker to stack */ - final int MEMORY_END = 52; - final int MEMORY_END_REC = 53; /* push marker to stack */ - - final int FAIL = 54; /* pop stack and move */ - final int JUMP = 55; - final int PUSH = 56; - final int POP = 57; - final int PUSH_OR_JUMP_EXACT1 = 58; /* if match exact then push, else jump. */ - final int PUSH_IF_PEEK_NEXT = 59; /* if match exact then push, else none. */ - - final int REPEAT = 60; /* {n,m} */ - final int REPEAT_NG = 61; /* {n,m}? (non greedy) */ - final int REPEAT_INC = 62; - final int REPEAT_INC_NG = 63; /* non greedy */ - final int REPEAT_INC_SG = 64; /* search and get in stack */ - final int REPEAT_INC_NG_SG = 65; /* search and get in stack (non greedy) */ - - final int NULL_CHECK_START = 66; /* null loop checker start */ - final int NULL_CHECK_END = 67; /* null loop checker end */ - final int NULL_CHECK_END_MEMST = 68; /* null loop checker end (with capture status) */ - final int NULL_CHECK_END_MEMST_PUSH = 69; /* with capture status and push check-end */ - - final int PUSH_POS = 70; /* (?=...) start */ - final int POP_POS = 71; /* (?=...) end */ - final int PUSH_POS_NOT = 72; /* (?!...) start */ - final int FAIL_POS = 73; /* (?!...) end */ - final int PUSH_STOP_BT = 74; /* (?>...) start */ - final int POP_STOP_BT = 75; /* (?>...) end */ - final int LOOK_BEHIND = 76; /* (?<=...) start (no needs end opcode) */ - final int PUSH_LOOK_BEHIND_NOT = 77; /* (? */ - final int RETURN = 80; - - final int STATE_CHECK_PUSH = 81; /* combination explosion check and push */ - final int STATE_CHECK_PUSH_OR_JUMP = 82; /* check ok -> push, else jump */ - final int STATE_CHECK = 83; /* check only */ - final int STATE_CHECK_ANYCHAR_STAR = 84; - final int STATE_CHECK_ANYCHAR_ML_STAR = 85; - - /* no need: IS_DYNAMIC_OPTION() == 0 */ - final int SET_OPTION_PUSH = 86; /* set option and push recover option */ - final int SET_OPTION = 87; /* set option */ - -}