- java.lang.Object
-
- org.jcodings.IntHolder
-
- org.joni.Matcher
-
- org.joni.StackMachine
-
- org.joni.ByteCodeMachine
-
- All Implemented Interfaces:
StackType
class ByteCodeMachine extends StackMachine
-
-
Field Summary
Fields Modifier and Type Field Description private intbestLenprivate byte[]cfbufprivate byte[]cfbuf2private int[]code(package private) intinterruptCheckEvery(package private) booleaninterruptedprivate intipprivate static intMAX_INTERRUPT_CHECK_EVERYprivate intpkeepprivate intrangeprivate intsprivate intsbeginprivate intsprevprivate intsstartprotected intstkp-
Fields inherited from class org.joni.StackMachine
INVALID_INDEX, memEndStk, memStartStk, repeatStk, stack, stacks, stateCheckBuff, stateCheckBuffSize, stk
-
Fields inherited from class org.joni.Matcher
bytes, enc, end, FAILED, high, INTERRUPTED, low, msaBegin, msaBestLen, msaBestS, msaEnd, msaGpos, msaOptions, msaRegion, msaStart, regex, str
-
Fields inherited from interface org.joni.constants.internal.StackType
ABSENT, ABSENT_POS, ALT, CALL_FRAME, INVALID_STACK_INDEX, LOOK_BEHIND_NOT, MASK_MEM_END_OR_MARK, MASK_POP_USED, MASK_TO_VOID_TARGET, MEM_END, MEM_END_MARK, MEM_START, NULL_CHECK_END, NULL_CHECK_START, POS, POS_NOT, REPEAT, REPEAT_INC, RETURN, STATE_CHECK_MARK, STOP_BT, VOID
-
-
Constructor Summary
Constructors Constructor Description ByteCodeMachine(Regex regex, Region region, byte[] bytes, int p, int end)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidbackref(int mem)private intbackrefEnd(int mem)private booleanbackrefInvalid(int mem)private booleanbackrefMatchAtNestedLevel(boolean ignoreCase, int caseFoldFlag, int nest, int memNum, int memp)private intbackrefStart(int mem)protected byte[]cfbuf()protected byte[]cfbuf2()private voidcheckCaptureHistory(Region region)private voiddebugMatchBegin()private voiddebugMatchLoop()private booleanendBestLength()private intexecute(boolean checkThreadInterrupt)private intexecuteSb(boolean checkThreadInterrupt)private intfinish()private voidhandleInterrupted(boolean checkThreadInterrupt)voidinterrupt()private booleanisInBitSet()private booleanisInClassMB()private booleanisNotInClassMB()private booleanmakeCaptureHistoryTree(CaptureTreeNode node)protected intmatchAt(int _range, int _sstart, int _sprev, boolean interrupt)private booleanmemIsInMemp(int mem, int num, int memp)private voidnullCheckFound()private voidopAbsent()private voidopAbsentEnd()private voidopAnyChar()private voidopAnyCharML()private voidopAnyCharMLSb()private voidopAnyCharMLStar()private voidopAnyCharMLStarPeekNext()private voidopAnyCharMLStarPeekNextSb()private voidopAnyCharMLStarSb()private voidopAnyCharSb()private voidopAnyCharStar()private voidopAnyCharStarPeekNext()private voidopAnyCharStarPeekNextSb()private voidopAnyCharStarSb()private voidopAsciiWord()private voidopAsciiWordBegin()private voidopAsciiWordBound()private voidopAsciiWordEnd()private voidopBackRef1()private voidopBackRef2()private voidopBackRefAtLevel()private voidopBackRefMulti()private voidopBackRefMultiIC()private voidopBackRefN()private voidopBackRefNIC()private voidopBeginBuf()private voidopBeginLine()private voidopBeginLineSb()private voidopBeginPosition()private voidopCall()private voidopCClass()private voidopCClassMB()private voidopCClassMBNot()private voidopCClassMBNotSb()private voidopCClassMBSb()private voidopCClassMIX()private voidopCClassMIXNot()private voidopCClassMIXNotSb()private voidopCClassMIXSb()private voidopCClassNot()private voidopCClassNotSb()private voidopCClassSb()private voidopCondition()private booleanopEnd()private voidopEndBuf()private voidopEndLine()private voidopEndLineSb()private voidopExact1()private voidopExact1IC()private voidopExact1ICSb()private voidopExact2()private voidopExact3()private voidopExact4()private voidopExact5()private voidopExactMB2N()private voidopExactMB2N1()private voidopExactMB2N2()private voidopExactMB2N3()private voidopExactMB3N()private voidopExactMBN()private voidopExactN()private voidopExactNIC()private voidopExactNICSb()private voidopFail()private voidopFailLookBehindNot()private voidopFailPos()private voidopJump()private voidopKeep()private voidopLookBehind()private voidopLookBehindSb()private voidopMemoryEnd()private voidopMemoryEndPush()private voidopMemoryEndPushRec()private voidopMemoryEndRec()private voidopMemoryStart()private voidopMemoryStartPush()private voidopNotAsciiWord()private voidopNotAsciiWordBound()private voidopNotWord()private voidopNotWordBound()private voidopNotWordBoundSb()private voidopNotWordSb()private voidopNullCheckEnd()private voidopNullCheckEndMemST()private voidopNullCheckEndMemSTPush()private voidopNullCheckStart()private voidopPop()private voidopPopPos()private voidopPopStopBT()private voidopPush()private voidopPushAbsentPos()private voidopPushIfPeekNext()private voidopPushLookBehindNot()private voidopPushOrJumpExact1()private voidopPushPos()private voidopPushPosNot()private voidopPushStopBT()private voidopRepeat()private voidopRepeatInc()private voidopRepeatIncNG()private voidopRepeatIncNGSG()private voidopRepeatIncSG()private voidopRepeatNG()private voidopReturn()private voidopSemiEndBuf()private voidopSetOption()private voidopSetOptionPush()private voidopStateCheck()private voidopStateCheckAnyCharMLStar()private voidopStateCheckAnyCharMLStarSb()private voidopStateCheckAnyCharStar()private voidopStateCheckAnyCharStarSb()private voidopStateCheckPush()private voidopStateCheckPushOrJump()private voidopWord()private voidopWordBegin()private voidopWordBeginSb()private voidopWordBound()private voidopWordBoundSb()private voidopWordEnd()private voidopWordEndSb()private voidopWordSb()private voidrepeatInc(int mem, int si)private voidrepeatIncNG(int mem, int si)private booleanstringCmpIC(int caseFlodFlag, int s1, org.jcodings.IntHolder ps2, int mbLen, int textEnd)-
Methods inherited from class org.joni.StackMachine
getMemStart, getRepeat, nullCheck, nullCheckMemSt, nullCheckMemStRec, nullCheckRec, pop, popOne, popTilAbsent, popTilLookBehindNot, popTilPosNot, posEnd, pushAbsent, pushAbsentPos, pushAlt, pushAltWithStateCheck, pushCallFrame, pushLookBehindNot, pushMemEnd, pushMemEndMark, pushMemStart, pushNullCheckEnd, pushNullCheckStart, pushPos, pushPosNot, pushRepeat, pushRepeatInc, pushReturn, pushStateCheck, pushStopBT, sreturn, stackInit, stateCheckBuffClear, stateCheckBuffInit, stateCheckVal, stopBtEnd
-
Methods inherited from class org.joni.Matcher
debugSearch, getBegin, getEagerRegion, getEnd, getRegion, icbuf, isMbcAsciiWord, match, matchInterruptible, msaInit, search, search, searchInterruptible, searchInterruptible
-
-
-
-
Field Detail
-
MAX_INTERRUPT_CHECK_EVERY
private static final int MAX_INTERRUPT_CHECK_EVERY
- See Also:
- Constant Field Values
-
interruptCheckEvery
int interruptCheckEvery
-
interrupted
volatile boolean interrupted
-
bestLen
private int bestLen
-
s
private int s
-
range
private int range
-
sprev
private int sprev
-
sstart
private int sstart
-
sbegin
private int sbegin
-
pkeep
private int pkeep
-
code
private final int[] code
-
ip
private int ip
-
stkp
protected int stkp
-
cfbuf
private byte[] cfbuf
-
cfbuf2
private byte[] cfbuf2
-
-
Method Detail
-
makeCaptureHistoryTree
private boolean makeCaptureHistoryTree(CaptureTreeNode node)
-
checkCaptureHistory
private void checkCaptureHistory(Region region)
-
cfbuf
protected final byte[] cfbuf()
-
cfbuf2
protected final byte[] cfbuf2()
-
stringCmpIC
private boolean stringCmpIC(int caseFlodFlag, int s1, org.jcodings.IntHolder ps2, int mbLen, int textEnd)
-
matchAt
protected final int matchAt(int _range, int _sstart, int _sprev, boolean interrupt) throws java.lang.InterruptedException
-
execute
private final int execute(boolean checkThreadInterrupt) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
executeSb
private final int executeSb(boolean checkThreadInterrupt) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
handleInterrupted
private void handleInterrupted(boolean checkThreadInterrupt) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
opEnd
private boolean opEnd()
-
endBestLength
private boolean endBestLength()
-
opExact1
private void opExact1()
-
opExact2
private void opExact2()
-
opExact3
private void opExact3()
-
opExact4
private void opExact4()
-
opExact5
private void opExact5()
-
opExactN
private void opExactN()
-
opExactMB2N1
private void opExactMB2N1()
-
opExactMB2N2
private void opExactMB2N2()
-
opExactMB2N3
private void opExactMB2N3()
-
opExactMB2N
private void opExactMB2N()
-
opExactMB3N
private void opExactMB3N()
-
opExactMBN
private void opExactMBN()
-
opExact1IC
private void opExact1IC()
-
opExact1ICSb
private void opExact1ICSb()
-
opExactNIC
private void opExactNIC()
-
opExactNICSb
private void opExactNICSb()
-
opCondition
private void opCondition()
-
isInBitSet
private boolean isInBitSet()
-
opCClass
private void opCClass()
-
opCClassSb
private void opCClassSb()
-
isInClassMB
private boolean isInClassMB()
-
opCClassMB
private void opCClassMB()
-
opCClassMBSb
private void opCClassMBSb()
-
opCClassMIX
private void opCClassMIX()
-
opCClassMIXSb
private void opCClassMIXSb()
-
opCClassNot
private void opCClassNot()
-
opCClassNotSb
private void opCClassNotSb()
-
isNotInClassMB
private boolean isNotInClassMB()
-
opCClassMBNot
private void opCClassMBNot()
-
opCClassMBNotSb
private void opCClassMBNotSb()
-
opCClassMIXNot
private void opCClassMIXNot()
-
opCClassMIXNotSb
private void opCClassMIXNotSb()
-
opAnyChar
private void opAnyChar()
-
opAnyCharSb
private void opAnyCharSb()
-
opAnyCharML
private void opAnyCharML()
-
opAnyCharMLSb
private void opAnyCharMLSb()
-
opAnyCharStar
private void opAnyCharStar()
-
opAnyCharStarSb
private void opAnyCharStarSb()
-
opAnyCharMLStar
private void opAnyCharMLStar()
-
opAnyCharMLStarSb
private void opAnyCharMLStarSb()
-
opAnyCharStarPeekNext
private void opAnyCharStarPeekNext()
-
opAnyCharStarPeekNextSb
private void opAnyCharStarPeekNextSb()
-
opAnyCharMLStarPeekNext
private void opAnyCharMLStarPeekNext()
-
opAnyCharMLStarPeekNextSb
private void opAnyCharMLStarPeekNextSb()
-
opStateCheckAnyCharStar
private void opStateCheckAnyCharStar()
-
opStateCheckAnyCharStarSb
private void opStateCheckAnyCharStarSb()
-
opStateCheckAnyCharMLStar
private void opStateCheckAnyCharMLStar()
-
opStateCheckAnyCharMLStarSb
private void opStateCheckAnyCharMLStarSb()
-
opWord
private void opWord()
-
opWordSb
private void opWordSb()
-
opAsciiWord
private void opAsciiWord()
-
opNotWord
private void opNotWord()
-
opNotWordSb
private void opNotWordSb()
-
opNotAsciiWord
private void opNotAsciiWord()
-
opWordBound
private void opWordBound()
-
opWordBoundSb
private void opWordBoundSb()
-
opAsciiWordBound
private void opAsciiWordBound()
-
opNotWordBound
private void opNotWordBound()
-
opNotWordBoundSb
private void opNotWordBoundSb()
-
opNotAsciiWordBound
private void opNotAsciiWordBound()
-
opWordBegin
private void opWordBegin()
-
opWordBeginSb
private void opWordBeginSb()
-
opAsciiWordBegin
private void opAsciiWordBegin()
-
opWordEnd
private void opWordEnd()
-
opWordEndSb
private void opWordEndSb()
-
opAsciiWordEnd
private void opAsciiWordEnd()
-
opBeginBuf
private void opBeginBuf()
-
opEndBuf
private void opEndBuf()
-
opBeginLine
private void opBeginLine()
-
opBeginLineSb
private void opBeginLineSb()
-
opEndLine
private void opEndLine()
-
opEndLineSb
private void opEndLineSb()
-
opSemiEndBuf
private void opSemiEndBuf()
-
opBeginPosition
private void opBeginPosition()
-
opMemoryStartPush
private void opMemoryStartPush()
-
opMemoryStart
private void opMemoryStart()
-
opMemoryEndPush
private void opMemoryEndPush()
-
opMemoryEnd
private void opMemoryEnd()
-
opKeep
private void opKeep()
-
opMemoryEndPushRec
private void opMemoryEndPushRec()
-
opMemoryEndRec
private void opMemoryEndRec()
-
backrefInvalid
private boolean backrefInvalid(int mem)
-
backrefStart
private int backrefStart(int mem)
-
backrefEnd
private int backrefEnd(int mem)
-
backref
private void backref(int mem)
-
opBackRef1
private void opBackRef1()
-
opBackRef2
private void opBackRef2()
-
opBackRefN
private void opBackRefN()
-
opBackRefNIC
private void opBackRefNIC()
-
opBackRefMulti
private void opBackRefMulti()
-
opBackRefMultiIC
private void opBackRefMultiIC()
-
memIsInMemp
private boolean memIsInMemp(int mem, int num, int memp)
-
backrefMatchAtNestedLevel
private boolean backrefMatchAtNestedLevel(boolean ignoreCase, int caseFoldFlag, int nest, int memNum, int memp)
-
opBackRefAtLevel
private void opBackRefAtLevel()
-
opSetOptionPush
private void opSetOptionPush()
-
opSetOption
private void opSetOption()
-
opNullCheckStart
private void opNullCheckStart()
-
nullCheckFound
private void nullCheckFound()
-
opNullCheckEnd
private void opNullCheckEnd()
-
opNullCheckEndMemST
private void opNullCheckEndMemST()
-
opNullCheckEndMemSTPush
private void opNullCheckEndMemSTPush()
-
opJump
private void opJump()
-
opPush
private void opPush()
-
opStateCheckPush
private void opStateCheckPush()
-
opStateCheckPushOrJump
private void opStateCheckPushOrJump()
-
opStateCheck
private void opStateCheck()
-
opPop
private void opPop()
-
opPushOrJumpExact1
private void opPushOrJumpExact1()
-
opPushIfPeekNext
private void opPushIfPeekNext()
-
opRepeat
private void opRepeat()
-
opRepeatNG
private void opRepeatNG()
-
repeatInc
private void repeatInc(int mem, int si)
-
opRepeatInc
private void opRepeatInc()
-
opRepeatIncSG
private void opRepeatIncSG()
-
repeatIncNG
private void repeatIncNG(int mem, int si)
-
opRepeatIncNG
private void opRepeatIncNG()
-
opRepeatIncNGSG
private void opRepeatIncNGSG()
-
opPushPos
private void opPushPos()
-
opPopPos
private void opPopPos()
-
opPushPosNot
private void opPushPosNot()
-
opFailPos
private void opFailPos()
-
opPushStopBT
private void opPushStopBT()
-
opPopStopBT
private void opPopStopBT()
-
opLookBehind
private void opLookBehind()
-
opLookBehindSb
private void opLookBehindSb()
-
opPushLookBehindNot
private void opPushLookBehindNot()
-
opFailLookBehindNot
private void opFailLookBehindNot()
-
opPushAbsentPos
private void opPushAbsentPos()
-
opAbsent
private void opAbsent()
-
opAbsentEnd
private void opAbsentEnd()
-
opCall
private void opCall()
-
opReturn
private void opReturn()
-
opFail
private void opFail()
-
finish
private int finish()
-
debugMatchBegin
private void debugMatchBegin()
-
debugMatchLoop
private void debugMatchLoop()
-
-