AnchorType.java revision 953:221a84ef44c0
1132718Skan/*
2169689Skan * Permission is hereby granted, free of charge, to any person obtaining a copy of
3132718Skan * this software and associated documentation files (the "Software"), to deal in
490075Sobrien * the Software without restriction, including without limitation the rights to
590075Sobrien * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
690075Sobrien * of the Software, and to permit persons to whom the Software is furnished to do
790075Sobrien * so, subject to the following conditions:
890075Sobrien *
990075Sobrien * The above copyright notice and this permission notice shall be included in all
1090075Sobrien * copies or substantial portions of the Software.
1190075Sobrien *
1290075Sobrien * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1390075Sobrien * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1490075Sobrien * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1590075Sobrien * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1690075Sobrien * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1790075Sobrien * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1890075Sobrien * SOFTWARE.
19169689Skan */
20169689Skanpackage jdk.nashorn.internal.runtime.regexp.joni.constants;
2190075Sobrien
22132718Skanpublic interface AnchorType {
23132718Skan    final int BEGIN_BUF         = (1<<0);
24132718Skan    final int BEGIN_LINE        = (1<<1);
25132718Skan    final int BEGIN_POSITION    = (1<<2);
26132718Skan    final int END_BUF           = (1<<3);
2790075Sobrien    final int SEMI_END_BUF      = (1<<4);
28132718Skan    final int END_LINE          = (1<<5);
2990075Sobrien
3090075Sobrien    final int WORD_BOUND        = (1<<6);
3190075Sobrien    final int NOT_WORD_BOUND    = (1<<7);
3290075Sobrien    final int WORD_BEGIN        = (1<<8);
33169689Skan    final int WORD_END          = (1<<9);
3490075Sobrien    final int PREC_READ         = (1<<10);
3590075Sobrien    final int PREC_READ_NOT     = (1<<11);
36132718Skan    final int LOOK_BEHIND       = (1<<12);
37169689Skan    final int LOOK_BEHIND_NOT   = (1<<13);
38169689Skan
39169689Skan    final int ANYCHAR_STAR      = (1<<14);   /* ".*" optimize info */
40169689Skan    final int ANYCHAR_STAR_ML   = (1<<15);   /* ".*" optimize info (multi-line) */
41169689Skan
42169689Skan    final int ANYCHAR_STAR_MASK = (ANYCHAR_STAR | ANYCHAR_STAR_ML);
43169689Skan    final int END_BUF_MASK      = (END_BUF | SEMI_END_BUF);
44169689Skan
45132718Skan    final int ALLOWED_IN_LB =     ( LOOK_BEHIND |
4690075Sobrien                                    BEGIN_LINE |
4790075Sobrien                                    END_LINE |
4890075Sobrien                                    BEGIN_BUF |
4990075Sobrien                                    BEGIN_POSITION );
5090075Sobrien
5190075Sobrien    final int ALLOWED_IN_LB_NOT = ( LOOK_BEHIND |
5290075Sobrien                                    LOOK_BEHIND_NOT |
5390075Sobrien                                    BEGIN_LINE |
5490075Sobrien                                    END_LINE |
55132718Skan                                    BEGIN_BUF |
56132718Skan                                    BEGIN_POSITION );
5790075Sobrien
58117395Skan}
59117395Skan