Package org.joni

Class Matcher

    • Field Detail

      • regex

        protected final Regex regex
      • enc

        protected final org.jcodings.Encoding enc
      • bytes

        protected final byte[] bytes
      • str

        protected final int str
      • end

        protected final int end
      • msaStart

        protected int msaStart
      • msaOptions

        protected int msaOptions
      • msaRegion

        protected final Region msaRegion
      • msaBestLen

        protected int msaBestLen
      • msaBestS

        protected int msaBestS
      • msaBegin

        protected int msaBegin
      • msaEnd

        protected int msaEnd
      • low

        int low
      • high

        int high
      • icbuf

        private byte[] icbuf
    • Constructor Detail

      • Matcher

        Matcher​(Regex regex,
                Region region,
                byte[] bytes,
                int p,
                int end)
    • Method Detail

      • matchAt

        protected abstract int matchAt​(int range,
                                       int sstart,
                                       int sprev,
                                       boolean interrupt)
                                throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • stateCheckBuffInit

        protected abstract void stateCheckBuffInit​(int strLength,
                                                   int offset,
                                                   int stateNum)
      • stateCheckBuffClear

        protected abstract void stateCheckBuffClear()
      • interrupt

        public abstract void interrupt()
      • getRegion

        public final Region getRegion()
      • getEagerRegion

        public final Region getEagerRegion()
      • getBegin

        public final int getBegin()
      • getEnd

        public final int getEnd()
      • msaInit

        protected final void msaInit​(int option,
                                     int start)
      • match

        public final int match​(int at,
                               int range,
                               int option)
      • matchInterruptible

        public final int matchInterruptible​(int at,
                                            int range,
                                            int option)
                                     throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • matchCommon

        private final int matchCommon​(int at,
                                      int range,
                                      int option,
                                      boolean interrupt)
                               throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • forwardSearchRange

        private final boolean forwardSearchRange​(byte[] bytes,
                                                 int str,
                                                 int end,
                                                 int s,
                                                 int range,
                                                 org.jcodings.IntHolder lowPrev)
      • backwardSearchRange

        private final boolean backwardSearchRange​(byte[] bytes,
                                                  int str,
                                                  int end,
                                                  int s,
                                                  int range,
                                                  int adjrange)
      • matchCheck

        private boolean matchCheck​(int upperRange,
                                   int s,
                                   int prev,
                                   boolean interrupt)
                            throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • search

        public final int search​(int start,
                                int range,
                                int option)
      • searchInterruptible

        public final int searchInterruptible​(int start,
                                             int range,
                                             int option)
                                      throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • searchCommon

        private final int searchCommon​(int start,
                                       int range,
                                       int option,
                                       boolean interrupt)
                                throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • endBuf

        private final boolean endBuf​(int start,
                                     int range,
                                     int minSemiEnd,
                                     int maxSemiEnd)
      • match

        private final int match​(int s)
      • mismatch

        private final int mismatch()
      • icbuf

        protected final byte[] icbuf()
      • isMbcAsciiWord

        static boolean isMbcAsciiWord​(org.jcodings.Encoding enc,
                                      byte[] bytes,
                                      int p,
                                      int end)
      • debugForwardSearchRange

        private final void debugForwardSearchRange​(int str,
                                                   int end,
                                                   int s,
                                                   int range)
      • debugForwardSearchRangeSuccess

        private final void debugForwardSearchRangeSuccess​(int str,
                                                          int low,
                                                          int high)
      • debugSearch

        private final void debugSearch​(int str,
                                       int end,
                                       int start,
                                       int range)
      • debugBackwardSearchRange

        private final void debugBackwardSearchRange​(int str,
                                                    int low,
                                                    int high)
      • debugSearch

        static void debugSearch​(java.lang.String name,
                                int textP,
                                int textEnd,
                                int textRange)