Package org.joni

Class Matcher

java.lang.Object
org.jcodings.IntHolder
org.joni.Matcher
Direct Known Subclasses:
NativeMachine, StackMachine

public abstract class Matcher extends org.jcodings.IntHolder
  • Field Details

    • INTERRUPTED_EXCEPTION

      static final InterruptedException INTERRUPTED_EXCEPTION
    • TIMEOUT_EXCEPTION

      static final InterruptedException TIMEOUT_EXCEPTION
    • FAILED

      public static final int FAILED
      See Also:
    • INTERRUPTED

      public static final int INTERRUPTED
      See Also:
    • 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
    • msaGpos

      protected int msaGpos
    • msaBegin

      protected int msaBegin
    • msaEnd

      protected int msaEnd
    • timeout

      protected long timeout
    • startTime

      protected long startTime
    • low

      int low
    • high

      int high
    • icbuf

      private byte[] icbuf
  • Constructor Details

    • Matcher

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

      Matcher(Regex regex, Region region, byte[] bytes, int p, int end, long timeout)
  • Method Details

    • matchAt

      protected abstract int matchAt(int range, int sstart, int sprev, boolean interrupt) throws InterruptedException
      Throws:
      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, int gpos)
    • match

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

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

      private final int matchCommon(int at, int range, int option, boolean interrupt) throws InterruptedException
      Throws:
      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 InterruptedException
      Throws:
      InterruptedException
    • search

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

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

      public final int searchInterruptible(int start, int range, int option) throws InterruptedException
      Throws:
      InterruptedException
    • searchInterruptible

      public final int searchInterruptible(int gpos, int start, int range, int option) throws InterruptedException
      Throws:
      InterruptedException
    • searchCommon

      private final int searchCommon(int gpos, int start, int range, int option, boolean interrupt) throws InterruptedException
      Throws:
      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(String name, int textP, int textEnd, int textRange)
    • setTimeout

      public void setTimeout(long timeout)