Class RegexpOptions

java.lang.Object
org.jruby.util.RegexpOptions
All Implemented Interfaces:
Cloneable

public class RegexpOptions extends Object implements Cloneable
  • Field Details

  • Constructor Details

    • RegexpOptions

      public RegexpOptions()
    • RegexpOptions

      public RegexpOptions(KCode kcode, boolean isKCodeDefault)
  • Method Details

    • isExtended

      public boolean isExtended()
    • setExtended

      public void setExtended(boolean extended)
    • isIgnorecase

      public boolean isIgnorecase()
    • setIgnorecase

      public void setIgnorecase(boolean ignorecase)
    • isFixed

      public boolean isFixed()
    • setFixed

      public void setFixed(boolean fixed)
    • getKCode

      public KCode getKCode()
    • getKCodeName

      public String getKCodeName()
    • setExplicitKCode

      public void setExplicitKCode(KCode kcode)
      This regexp has an explicit encoding flag or 'nesu' letter associated with it.
      Parameters:
      kcode - to be set
    • isKcodeDefault

      public boolean isKcodeDefault()
      Whether the kcode associated with this regexp is implicit (aka default) or is specified explicitly (via 'nesu' syntax postscript or flags to Regexp.new.
    • isMultiline

      public boolean isMultiline()
    • setMultiline

      public void setMultiline(boolean multiline)
    • isOnce

      public boolean isOnce()
    • setOnce

      public void setOnce(boolean once)
    • isJava

      public boolean isJava()
    • setJava

      public void setJava(boolean java)
    • isEncodingNone

      public boolean isEncodingNone()
    • setEncodingNone

      public void setEncodingNone(boolean encodingNone)
    • isLiteral

      public boolean isLiteral()
    • setLiteral

      public void setLiteral(boolean literal)
    • isEmbeddable

      public boolean isEmbeddable()
    • setup

      public org.jcodings.Encoding setup(Ruby runtime)
      Calculate the encoding based on kcode option set via 'nesu'. Also as side-effects: 1.set whether this marks the soon to be made regexp as 'fixed'. 2.kcode.none will set 'none' option
      Returns:
      null if no explicit encoding is specified.
    • toEmbeddedOptions

      public int toEmbeddedOptions()
      This int value can be used by compiler or any place where we want an integer representation of the state of this object. Note: This is for full representation of state in the JIT. It is not to be confused with state of marshalled regexp data.
    • toJoniOptions

      public int toJoniOptions()
      This int value is meant to only be used when dealing directly with the joni regular expression library. It differs from embeddedOptions in that it only contains bit values which Joni cares about.
    • toOptions

      public int toOptions()
      This int value is used by Regex#options
    • fromEmbeddedOptions

      public static RegexpOptions fromEmbeddedOptions(int embeddedOptions)
    • fromJoniOptions

      public static RegexpOptions fromJoniOptions(int joniOptions)
    • fromByteList

      public static RegexpOptions fromByteList(Ruby runtime, ByteList string)
    • fromByteList

      public static RegexpOptions fromByteList(ThreadContext context, ByteList string)
    • withoutOnce

      public RegexpOptions withoutOnce()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      public RegexpOptions clone()
      Overrides:
      clone in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • newRegexpOptions

      public static RegexpOptions newRegexpOptions(String validOptions)