Class TRegexExecutorNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.regex.tregex.nodes.TRegexExecutorBaseNode
com.oracle.truffle.regex.tregex.nodes.TRegexExecutorNode
All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
TRegexBacktrackerSubExecutorNode, TRegexDFAExecutorNode, TRegexNFAExecutorNode

public abstract class TRegexExecutorNode extends TRegexExecutorBaseNode
  • Field Details

  • Constructor Details

    • TRegexExecutorNode

      protected TRegexExecutorNode(RegexAST ast, int numberOfTransitions)
    • TRegexExecutorNode

      protected TRegexExecutorNode(TRegexExecutorNode copy)
    • TRegexExecutorNode

      protected TRegexExecutorNode(RegexSource source, int numberOfCaptureGroups, int numberOfTransitions)
  • Method Details

    • getSource

      public RegexSource getSource()
      Specified by:
      getSource in class TRegexExecutorBaseNode
    • getNumberOfCaptureGroups

      public final int getNumberOfCaptureGroups()
    • getNumberOfTransitions

      public final int getNumberOfTransitions()
      Specified by:
      getNumberOfTransitions in class TRegexExecutorBaseNode
    • getBMPProfile

      public com.oracle.truffle.api.profiles.BranchProfile getBMPProfile()
    • getAstralProfile

      public com.oracle.truffle.api.profiles.BranchProfile getAstralProfile()
    • inputAtBegin

      public boolean inputAtBegin(TRegexExecutorLocals locals)
      Returns true iff the index is at the beginning of the input string in respect to TRegexExecutorBaseNode.isForward().
    • inputAtEnd

      public boolean inputAtEnd(TRegexExecutorLocals locals)
      Returns true iff the index is at the end of the input string in respect to TRegexExecutorBaseNode.isForward().
    • getMinIndex

      public int getMinIndex(TRegexExecutorLocals locals)
    • getMaxIndex

      public int getMaxIndex(TRegexExecutorLocals locals)
    • inputHasNext

      public boolean inputHasNext(TRegexExecutorLocals locals)
    • inputHasNext

      public boolean inputHasNext(TRegexExecutorLocals locals, int index)
    • inputHasNext

      public boolean inputHasNext(TRegexExecutorLocals locals, int index, boolean forward)
    • inputReadAndDecode

      public int inputReadAndDecode(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputReadAndDecode

      public int inputReadAndDecode(TRegexExecutorLocals locals, int index, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputUTF16IsHighSurrogate

      public boolean inputUTF16IsHighSurrogate(int c)
    • inputUTF16IsLowSurrogate

      public boolean inputUTF16IsLowSurrogate(int c)
    • inputUTF16ToCodePoint

      public int inputUTF16ToCodePoint(int highSurrogate, int lowSurrogate)
    • inputReadRaw

      public int inputReadRaw(TRegexExecutorLocals locals)
    • inputReadRaw

      public int inputReadRaw(TRegexExecutorLocals locals, int index)
    • inputReadRaw

      public int inputReadRaw(TRegexExecutorLocals locals, boolean forward)
    • inputReadRaw

      public int inputReadRaw(TRegexExecutorLocals locals, int index, boolean forward)
    • inputAdvance

      public void inputAdvance(TRegexExecutorLocals locals)
    • inputSkip

      public void inputSkip(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputSkipReverse

      public void inputSkipReverse(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputSkipIntl

      protected void inputSkipIntl(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputGetCodePointSize

      public int inputGetCodePointSize(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputGetCodePointSize

      public int inputGetCodePointSize(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • inputIncRaw

      public void inputIncRaw(TRegexExecutorLocals locals)
    • inputIncRaw

      public void inputIncRaw(TRegexExecutorLocals locals, int offset)
    • inputIncRaw

      public void inputIncRaw(TRegexExecutorLocals locals, int offset, boolean forward)
    • inputIncRaw

      public int inputIncRaw(int index)
    • inputIncRaw

      public int inputIncRaw(int index, int offset)
    • inputIncRaw

      public static int inputIncRaw(int index, int offset, boolean forward)
    • inputIncNextIndexRaw

      public void inputIncNextIndexRaw(TRegexExecutorLocals locals)
    • inputIncNextIndexRaw

      public void inputIncNextIndexRaw(TRegexExecutorLocals locals, int offset)
    • countUpTo

      public int countUpTo(TRegexExecutorLocals locals, int max, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • rewindUpTo

      public int rewindUpTo(TRegexExecutorLocals locals, int min, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange)
    • isSimpleCG

      public boolean isSimpleCG()
      Specified by:
      isSimpleCG in class TRegexExecutorBaseNode