    /*
     *  call-seq:
     *     query_parser.tokenized_fields -> Array of Symbols
     *
     *  Returns the list of all tokenized_fields that the QueryParser knows about.
     */
    static VALUE
    frb_qp_get_tkz_fields(VALUE self)
    {
        GET_QP;
        HashSet *fields = qp->tokenized_fields;
        if (fields) {
            VALUE rfields = rb_ary_new();
            HashSetEntry *hse;

            for (hse = fields->first; hse; hse = hse->next) {
                rb_ary_push(rfields, ID2SYM(rb_intern((char *)hse->elem)));
            }

            return rfields;
        }
        else {
            return Qnil;
        }
    }