1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#!/usr/bin/ruby
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# encoding: utf-8
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvermodule ANTLR3
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvermodule Debug
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver=begin rdoc ANTLR3::Debug::RecordEventListener
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
9324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverA debug listener that records intercepted events as strings in an array.
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver=end
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass RecordEventListener < TraceEventListener
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  attr_reader :events
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  def initialize( adaptor = nil )
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    super
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @events = []
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  def record( event_message, *interpolation_arguments )
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    event_message = event_message.to_s
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @events << event_message % interpolation_arguments
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend # module Debug
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend # module ANTLR3
26