    /*
     *  call-seq:
     *     token_stream.text = text -> text
     *
     *  Return the text that the TokenStream is tokenizing
     */
    static VALUE
    frb_ts_get_text(VALUE self)
    {
        VALUE rtext = Qnil;
        TokenStream *ts;
        Data_Get_Struct(self, TokenStream, ts);
        if ((rtext = object_get(&ts->text)) == Qnil) {
            if (ts->text) {
                rtext = rb_str_new2(ts->text);
                object_set(&ts->text, rtext);
            }
        }
        return rtext;
    }