Package org.mozilla.javascript.regexp

## Class NativeRegExp

- java.lang.Object
- - org.mozilla.javascript.ScriptableObject
  - - org.mozilla.javascript.IdScriptableObject
    - - org.mozilla.javascript.regexp.NativeRegExp

- All Implemented Interfaces:
    `java.io.Serializable`, `ConstProperties`, `DebuggableObject`, `IdFunctionCall`, `Scriptable`, `SymbolScriptable`

      public class NativeRegExp
      extends IdScriptableObject

  This class implements the RegExp native object.

  Revision History: Implementation in C by Brendan Eich Initial port to Java by Norris Boyd from jsregexp.c version 1.36 Merged up to version 1.38, which included Unicode support. Merged bug fixes in version 1.39. Merged JSFUN13_BRANCH changes up to 1.32.2.13

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject

      `ScriptableObject.KeyComparator`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `JSREG_DOTALL` |
    `static int` | `JSREG_FOLD` |
    `static int` | `JSREG_GLOB` |
    `static int` | `JSREG_MULTILINE` |
    `static int` | `JSREG_STICKY` |
    `static int` | `MATCH` |
    `static int` | `PREFIX` |
    `static int` | `TEST` |

    - ### Fields inherited from class org.mozilla.javascript.ScriptableObject

      `CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST`

    - ### Fields inherited from interface org.mozilla.javascript.Scriptable

      `NOT_FOUND`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `execIdCall​(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` | 'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable should be returned.
    `protected int` | `findInstanceIdInfo​(java.lang.String s)` | Map name to id of instance property.
    `protected int` | `findPrototypeId​(java.lang.String s)` |
    `protected int` | `findPrototypeId​(Symbol k)` |
    `java.lang.String` | `getClassName()` | Return the name of the class.
    `protected java.lang.String` | `getInstanceIdName​(int id)` | Map id back to property name it defines.
    `protected java.lang.Object` | `getInstanceIdValue​(int id)` | Get id value.
    `protected int` | `getMaxInstanceId()` | Get maximum id findInstanceIdInfo can generate.
    `java.lang.String` | `getTypeOf()` | Gets the value to be returned by the typeof operator called on this object.
    `static void` | `init​(Context cx, Scriptable scope, boolean sealed)` |
    `protected void` | `initPrototypeId​(int id)` |
    `protected void` | `setInstanceIdAttributes​(int id, int attr)` | Update the attributes of the given instance property.
    `protected void` | `setInstanceIdValue​(int id, java.lang.Object value)` | Set or delete id value.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class org.mozilla.javascript.IdScriptableObject

      `activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, exportAsJSClass, fillConstructorProperties, findInstanceIdInfo, get, get, getAttributes, getAttributes, getOwnPropertyDescriptor, has, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes`

    - ### Methods inherited from class org.mozilla.javascript.ScriptableObject

      `applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasInstance, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### JSREG_GLOB

          public static final int JSREG_GLOB

      See Also:
        Constant Field Values

    - #### JSREG_FOLD

          public static final int JSREG_FOLD

      See Also:
        Constant Field Values

    - #### JSREG_MULTILINE

          public static final int JSREG_MULTILINE

      See Also:
        Constant Field Values

    - #### JSREG_DOTALL

          public static final int JSREG_DOTALL

      See Also:
        Constant Field Values

    - #### JSREG_STICKY

          public static final int JSREG_STICKY

      See Also:
        Constant Field Values

    - #### TEST

          public static final int TEST

      See Also:
        Constant Field Values

    - #### MATCH

          public static final int MATCH

      See Also:
        Constant Field Values

    - #### PREFIX

          public static final int PREFIX

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### init

          public static void init​(Context cx,
                                  Scriptable scope,
                                  boolean sealed)

    - #### getClassName

          public java.lang.String getClassName()

      Description copied from class: `ScriptableObject`
      Return the name of the class.

      This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.

      Specified by:
        `getClassName` in interface `Scriptable`
      Specified by:
        `getClassName` in class `ScriptableObject`

    - #### getTypeOf

          public java.lang.String getTypeOf()

      Gets the value to be returned by the typeof operator called on this object.
      Overrides:
        `getTypeOf` in class `ScriptableObject`
      Returns:
        "object"
      See Also:
        `ScriptableObject.getTypeOf()`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getMaxInstanceId

          protected int getMaxInstanceId()

      Description copied from class: `IdScriptableObject`
      Get maximum id findInstanceIdInfo can generate.
      Overrides:
        `getMaxInstanceId` in class `IdScriptableObject`

    - #### findInstanceIdInfo

          protected int findInstanceIdInfo​(java.lang.String s)

      Description copied from class: `IdScriptableObject`
      Map name to id of instance property. Should return 0 if not found or the result of `IdScriptableObject.instanceIdInfo(int, int)`.
      Overrides:
        `findInstanceIdInfo` in class `IdScriptableObject`

    - #### getInstanceIdName

          protected java.lang.String getInstanceIdName​(int id)

      Description copied from class: `IdScriptableObject`
      Map id back to property name it defines.
      Overrides:
        `getInstanceIdName` in class `IdScriptableObject`

    - #### getInstanceIdValue

          protected java.lang.Object getInstanceIdValue​(int id)

      Description copied from class: `IdScriptableObject`
      Get id value. * If id value is constant, descendant can call cacheIdValue to store * value in the permanent cache. * Default implementation creates IdFunctionObject instance for given id * and cache its value
      Overrides:
        `getInstanceIdValue` in class `IdScriptableObject`

    - #### setInstanceIdValue

          protected void setInstanceIdValue​(int id,
                                            java.lang.Object value)

      Description copied from class: `IdScriptableObject`
      Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.
      Overrides:
        `setInstanceIdValue` in class `IdScriptableObject`

    - #### setInstanceIdAttributes

          protected void setInstanceIdAttributes​(int id,
                                                 int attr)

      Description copied from class: `IdScriptableObject`
      Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.
      Overrides:
        `setInstanceIdAttributes` in class `IdScriptableObject`
      Parameters:
        `id` - the instance property id
        `attr` - the new attribute bitset

    - #### initPrototypeId

          protected void initPrototypeId​(int id)

      Overrides:
        `initPrototypeId` in class `IdScriptableObject`

    - #### execIdCall

          public java.lang.Object execIdCall​(IdFunctionObject f,
                                             Context cx,
                                             Scriptable scope,
                                             Scriptable thisObj,
                                             java.lang.Object[] args)

      Description copied from class: `IdScriptableObject`
      'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable should be returned.
      Specified by:
        `execIdCall` in interface `IdFunctionCall`
      Overrides:
        `execIdCall` in class `IdScriptableObject`

    - #### findPrototypeId

          protected int findPrototypeId​(Symbol k)

      Overrides:
        `findPrototypeId` in class `IdScriptableObject`

    - #### findPrototypeId

          protected int findPrototypeId​(java.lang.String s)

      Overrides:
        `findPrototypeId` in class `IdScriptableObject`