src/main/java/com/bazaarvoice/jackson/rison/RisonParser.java
protected String _parseFieldName(int i)
            throws IOException, JsonParseException
    {
        /* First: let's try to see if we have a simple name: one that does
         * not cross input buffer boundary, and does not contain escape
         * sequences.
         */
        int ptr = _inputPtr;
        int hash = 0;
        final int inputLen = _inputEnd;

        if (ptr < inputLen) {
            do {
                int ch = _inputBuffer[ptr];
                if (ch == INT_APOSTROPHE) {
                    int start = _inputPtr;
                    _inputPtr = ptr+1; // to skip the quote
                    return _symbols.findSymbol(_inputBuffer, start, ptr - start, hash);
                } else if (ch == '!') {
                    break;  // escape, can't take the fast path
                }
                hash = (hash * 31) + ch;
                ++ptr;
            } while (ptr < inputLen);
        }

        int start = _inputPtr;
        _inputPtr = ptr;
        return _parseFieldName2(start, hash, INT_APOSTROPHE);
    }
protected String _parseFieldName(int i)
            throws IOException, JsonParseException
    {
        /* First: let's try to see if we have a simple name: one that does
         * not cross input buffer boundary, and does not contain escape
         * sequences.
         */
        int ptr = _inputPtr;
        int hash = 0;
        final int inputLen = _inputEnd;

        if (ptr < inputLen) {
            do {
                int ch = _inputBuffer[ptr];
                if (ch == INT_APOSTROPHE) {
                    int start = _inputPtr;
                    _inputPtr = ptr+1; // to skip the quote
                    return _symbols.findSymbol(_inputBuffer, start, ptr - start, hash);
                } else if (ch == '!') {
                    break;  // escape, can't take the fast path
                }
                hash = (hash * 31) + ch;
                ++ptr;
            } while (ptr < inputLen);
        }

        int start = _inputPtr;
        _inputPtr = ptr;
        return _parseFieldName2(start, hash, INT_APOSTROPHE);
    }
protected String _parseFieldName ( int i ) throws IOException , JsonParseException { /* First: let's try to see if we have a simple name: one that does
         * not cross input buffer boundary, and does not contain escape
         * sequences.
         */ int ptr = _inputPtr ; int hash = 0 ; final int inputLen = _inputEnd ; if ( ptr < inputLen ) { do { int ch = _inputBuffer [ ptr ] ; if ( ch == INT_APOSTROPHE ) { int start = _inputPtr ; _inputPtr = ptr + 1 ; // to skip the quote return _symbols . findSymbol ( _inputBuffer , start , ptr - start , hash ) ; } else if ( ch == ' ' ) { break ; // escape, can't take the fast path } hash = ( hash * 31 ) + ch ; ++ ptr ; } while ( ptr < inputLen ) ; } int start = _inputPtr ; _inputPtr = ptr ; return _parseFieldName2 ( start , hash , INT_APOSTROPHE ) ; }
/*
********************************************************
/* Internal methods, secondary parsing
********************************************************
/ * ******************************************************** / * Internal methods secondary parsing ********************************************************