Method: BufferedTokenStream#getText

Defined in:
lib/antlr4/BufferedTokenStream.rb

#getText(interval = nil) ⇒ Object

Get the text of all tokens in this buffer.#/



270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/antlr4/BufferedTokenStream.rb', line 270

def getText(interval=nil)
    self.lazyInit()
    self.fill()
    if interval.nil?
        interval = [0, self.tokens.length-1]
    end
    start = interval[0]
    if start.kind_of? Token
        start = start.tokenIndex
    end
    stop = interval[1]
    if stop.kind_of? Token
        stop = stop.tokenIndex
    end
    if start.nil? or stop.nil? or start<0 or stop<0
        return ""
    end
    if stop >= self.tokens.length
        stop = self.tokens.length-1
    end
    StringIO.open  do |buf|
        for i in start..stop do
            t = self.tokens[i]
            break if t.type==Token::EOF
            buf.write(t.text)
        end
        return buf.string()
    end
end