Package org.jruby.util
Class RegexpOptions
java.lang.Object
org.jruby.util.RegexpOptions
- All Implemented Interfaces:
Cloneable
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()booleanstatic RegexpOptionsfromByteList(Ruby runtime, ByteList string) static RegexpOptionsfromByteList(ThreadContext context, ByteList string) static RegexpOptionsfromEmbeddedOptions(int embeddedOptions) static RegexpOptionsfromJoniOptions(int joniOptions) getKCode()inthashCode()booleanbooleanbooleanbooleanisFixed()booleanbooleanisJava()booleanWhether the kcode associated with this regexp is implicit (aka default) or is specified explicitly (via 'nesu' syntax postscript or flags to Regexp.new.booleanbooleanbooleanisOnce()static RegexpOptionsnewRegexpOptions(String validOptions) voidsetEncodingNone(boolean encodingNone) voidsetExplicitKCode(KCode kcode) This regexp has an explicit encoding flag or 'nesu' letter associated with it.voidsetExtended(boolean extended) voidsetFixed(boolean fixed) voidsetIgnorecase(boolean ignorecase) voidsetJava(boolean java) voidsetLiteral(boolean literal) voidsetMultiline(boolean multiline) voidsetOnce(boolean once) org.jcodings.EncodingCalculate the encoding based on kcode option set via 'nesu'.intThis int value can be used by compiler or any place where we want an integer representation of the state of this object.intThis int value is meant to only be used when dealing directly with the joni regular expression library.intThis int value is used by Regex#optionstoString()
-
Field Details
-
NULL_OPTIONS
-
-
Constructor Details
-
RegexpOptions
public RegexpOptions() -
RegexpOptions
-
-
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
-
getKCodeName
-
setExplicitKCode
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
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
-
fromJoniOptions
-
fromByteList
-
fromByteList
-
withoutOnce
-
hashCode
public int hashCode() -
clone
-
equals
-
toString
-
newRegexpOptions
-