Class NativeRegExp

    • Constructor Detail

      • NativeRegExp

        NativeRegExp()
    • Method Detail

      • 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
      • call

        public java.lang.Object call​(Context cx,
                                     Scriptable scope,
                                     Scriptable thisObj,
                                     java.lang.Object[] args)
        Description copied from interface: Function
        Call the function. Note that the array of arguments is not guaranteed to have length greater than 0.
        Specified by:
        call in interface Callable
        Specified by:
        call in interface Function
        Parameters:
        cx - the current Context for this thread
        scope - the scope to execute the function relative to. This is set to the value returned by getParentScope() except when the function is called from a closure.
        thisObj - the JavaScript this object
        args - the array of arguments
        Returns:
        the result of the call
      • construct

        public Scriptable construct​(Context cx,
                                    Scriptable scope,
                                    java.lang.Object[] args)
        Description copied from interface: Function
        Call the function as a constructor. This method is invoked by the runtime in order to satisfy a use of the JavaScript new operator. This method is expected to create a new object and return it.
        Specified by:
        construct in interface Function
        Parameters:
        cx - the current Context for this thread
        scope - an enclosing scope of the caller except when the function is called from a closure.
        args - the array of arguments
        Returns:
        the allocated object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • escapeRegExp

        private static java.lang.String escapeRegExp​(java.lang.Object src)
      • execSub

        private java.lang.Object execSub​(Context cx,
                                         Scriptable scopeObj,
                                         java.lang.Object[] args,
                                         int matchType)
      • compileRE

        static RECompiled compileRE​(Context cx,
                                    java.lang.String str,
                                    java.lang.String global,
                                    boolean flat)
      • isDigit

        static boolean isDigit​(char c)
      • isWord

        private static boolean isWord​(char c)
      • isControlLetter

        private static boolean isControlLetter​(char c)
      • isLineTerm

        private static boolean isLineTerm​(char c)
      • isREWhiteSpace

        private static boolean isREWhiteSpace​(int c)
      • upcase

        private static char upcase​(char ch)
      • downcase

        private static char downcase​(char ch)
      • toASCIIHexDigit

        private static int toASCIIHexDigit​(int c)
      • parseDisjunction

        private static boolean parseDisjunction​(CompilerState state)
      • parseAlternative

        private static boolean parseAlternative​(CompilerState state)
      • calculateBitmapSize

        private static boolean calculateBitmapSize​(CompilerState state,
                                                   RENode target,
                                                   char[] src,
                                                   int index,
                                                   int end)
      • doFlat

        private static void doFlat​(CompilerState state,
                                   char c)
      • getDecimalValue

        private static int getDecimalValue​(char c,
                                           CompilerState state,
                                           int maxValue,
                                           java.lang.String overflowMessageId)
      • parseTerm

        private static boolean parseTerm​(CompilerState state)
      • resolveForwardJump

        private static void resolveForwardJump​(byte[] array,
                                               int from,
                                               int pc)
      • getOffset

        private static int getOffset​(byte[] array,
                                     int pc)
      • addIndex

        private static int addIndex​(byte[] array,
                                    int pc,
                                    int index)
      • getIndex

        private static int getIndex​(byte[] array,
                                    int pc)
      • pushProgState

        private static void pushProgState​(REGlobalData gData,
                                          int min,
                                          int max,
                                          int cp,
                                          REBackTrackData backTrackLastToSave,
                                          int continuationOp,
                                          int continuationPc)
      • pushBackTrackState

        private static void pushBackTrackState​(REGlobalData gData,
                                               byte op,
                                               int pc)
      • pushBackTrackState

        private static void pushBackTrackState​(REGlobalData gData,
                                               byte op,
                                               int pc,
                                               int cp,
                                               int continuationOp,
                                               int continuationPc)
      • flatNMatcher

        private static boolean flatNMatcher​(REGlobalData gData,
                                            int matchChars,
                                            int length,
                                            java.lang.String input,
                                            int end)
      • flatNIMatcher

        private static boolean flatNIMatcher​(REGlobalData gData,
                                             int matchChars,
                                             int length,
                                             java.lang.String input,
                                             int end)
      • backrefMatcher

        private static boolean backrefMatcher​(REGlobalData gData,
                                              int parenIndex,
                                              java.lang.String input,
                                              int end)
      • addCharacterToCharSet

        private static void addCharacterToCharSet​(RECharSet cs,
                                                  char c)
      • addCharacterRangeToCharSet

        private static void addCharacterRangeToCharSet​(RECharSet cs,
                                                       char c1,
                                                       char c2)
      • processCharSetImpl

        private static void processCharSetImpl​(REGlobalData gData,
                                               RECharSet charSet)
      • classMatcher

        private static boolean classMatcher​(REGlobalData gData,
                                            RECharSet charSet,
                                            char ch)
      • reopIsSimple

        private static boolean reopIsSimple​(int op)
      • simpleMatch

        private static int simpleMatch​(REGlobalData gData,
                                       java.lang.String input,
                                       int op,
                                       byte[] program,
                                       int pc,
                                       int end,
                                       boolean updatecp)
      • executeREBytecode

        private static boolean executeREBytecode​(REGlobalData gData,
                                                 java.lang.String input,
                                                 int end)
      • matchRegExp

        private static boolean matchRegExp​(REGlobalData gData,
                                           RECompiled re,
                                           java.lang.String input,
                                           int start,
                                           int end,
                                           boolean multiline)
      • executeRegExp

        java.lang.Object executeRegExp​(Context cx,
                                       Scriptable scope,
                                       RegExpImpl res,
                                       java.lang.String str,
                                       int[] indexp,
                                       int matchType)
      • getFlags

        int getFlags()
      • reportWarning

        private static void reportWarning​(Context cx,
                                          java.lang.String messageId,
                                          java.lang.String arg)
      • reportError

        private static void reportError​(java.lang.String messageId,
                                        java.lang.String arg)
      • 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
      • setLastIndex

        private void setLastIndex​(java.lang.Object value)
      • 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