Package org.joni

Class ArrayCompiler

java.lang.Object
org.joni.Compiler
org.joni.ArrayCompiler
All Implemented Interfaces:
org.jcodings.exception.ErrorMessages, ErrorMessages

final class ArrayCompiler extends Compiler
  • Field Details

    • code

      private int[] code
    • codeLength

      private int codeLength
    • templates

      private byte[][] templates
    • templateNum

      private int templateNum
    • REPEAT_RANGE_ALLOC

      private static final int REPEAT_RANGE_ALLOC
      See Also:
    • QUANTIFIER_EXPAND_LIMIT_SIZE

      private static final int QUANTIFIER_EXPAND_LIMIT_SIZE
      See Also:
  • Constructor Details

    • ArrayCompiler

      ArrayCompiler(Analyser analyser)
  • Method Details

    • prepare

      protected final void prepare()
      Specified by:
      prepare in class Compiler
    • finish

      protected final void finish()
      Specified by:
      finish in class Compiler
    • compileAltNode

      protected void compileAltNode(ListNode node)
      Specified by:
      compileAltNode in class Compiler
    • isNeedStrLenOpExact

      private boolean isNeedStrLenOpExact(int op)
    • opTemplated

      private boolean opTemplated(int op)
    • selectStrOpcode

      private int selectStrOpcode(int mbLength, int byteLength, boolean ignoreCase)
    • compileTreeEmptyCheck

      private void compileTreeEmptyCheck(Node node, int emptyInfo)
    • addCompileStringlength

      private int addCompileStringlength(byte[] bytes, int p, int mbLength, int byteLength, boolean ignoreCase)
    • addCompileString

      protected final void addCompileString(byte[] bytes, int p, int mbLength, int byteLength, boolean ignoreCase)
      Specified by:
      addCompileString in class Compiler
    • compileLengthStringNode

      private int compileLengthStringNode(Node node)
    • compileLengthStringRawNode

      private int compileLengthStringRawNode(StringNode sn)
    • addMultiByteCClass

      private void addMultiByteCClass(CodeRangeBuffer mbuf)
    • compileLengthCClassNode

      private int compileLengthCClassNode(CClassNode cc)
    • compileCClassNode

      protected void compileCClassNode(CClassNode cc)
      Specified by:
      compileCClassNode in class Compiler
    • compileCTypeNode

      protected void compileCTypeNode(CTypeNode node)
      Specified by:
      compileCTypeNode in class Compiler
    • compileAnyCharNode

      protected void compileAnyCharNode()
      Specified by:
      compileAnyCharNode in class Compiler
    • compileCallNode

      protected void compileCallNode(CallNode node)
      Specified by:
      compileCallNode in class Compiler
    • compileBackrefNode

      protected void compileBackrefNode(BackRefNode node)
      Specified by:
      compileBackrefNode in class Compiler
    • entryRepeatRange

      private void entryRepeatRange(int id, int lower, int upper)
    • compileRangeRepeatNode

      private void compileRangeRepeatNode(QuantifierNode qn, int targetLen, int emptyInfo)
    • cknOn

      private static boolean cknOn(int ckn)
    • compileCECLengthQuantifierNode

      private int compileCECLengthQuantifierNode(QuantifierNode qn)
    • compileCECQuantifierNode

      protected void compileCECQuantifierNode(QuantifierNode qn)
      Specified by:
      compileCECQuantifierNode in class Compiler
    • compileNonCECLengthQuantifierNode

      private int compileNonCECLengthQuantifierNode(QuantifierNode qn)
    • compileNonCECQuantifierNode

      protected void compileNonCECQuantifierNode(QuantifierNode qn)
      Specified by:
      compileNonCECQuantifierNode in class Compiler
    • compileLengthOptionNode

      private int compileLengthOptionNode(EncloseNode node)
    • compileOptionNode

      protected void compileOptionNode(EncloseNode node)
      Specified by:
      compileOptionNode in class Compiler
    • compileLengthEncloseNode

      private int compileLengthEncloseNode(EncloseNode node)
    • compileEncloseNode

      protected void compileEncloseNode(EncloseNode node)
      Specified by:
      compileEncloseNode in class Compiler
    • compileLengthAnchorNode

      private int compileLengthAnchorNode(AnchorNode node)
    • compileAnchorNode

      protected void compileAnchorNode(AnchorNode node)
      Specified by:
      compileAnchorNode in class Compiler
    • compileLengthTree

      private int compileLengthTree(Node node)
    • ensure

      private void ensure(int size)
    • addInt

      private void addInt(int i)
    • setInt

      void setInt(int i, int offset)
    • addBytes

      private void addBytes(byte[] bytes, int p, int length)
    • addInts

      private void addInts(int[] ints, int length)
    • addOpcode

      private void addOpcode(int opcode)
    • addStateCheckNum

      private void addStateCheckNum(int num)
    • addRelAddr

      private void addRelAddr(int addr)
    • addAbsAddr

      private void addAbsAddr(int addr)
    • addLength

      private void addLength(int length)
    • addMemNum

      private void addMemNum(int num)
    • addOption

      private void addOption(int option)
    • addOpcodeRelAddr

      private void addOpcodeRelAddr(int opcode, int addr)
    • addOpcodeOption

      private void addOpcodeOption(int opcode, int option)
    • addTemplate

      private void addTemplate(byte[] bytes)