Subversion Info

Rev
437
Last Checked In
2008-03-28 00:49:20 (2 weeks ago)
Checked in by
deveiant

Parent

Included Modules

Class Index

Quicksearch

Arrow::RubyTokenReactor

Simple Ruby tokenizer; used to parse a Ruby program into an Array of tokens suitable for rendering in some other form.

Constants

SVNRev
SVN Revision
SVNId
SVN Id

Attributes

callbacks[R]
The Hash of events => [ callbacks ]

Public Class Methods

loaded?() click to toggle source

Returns true if the Ripper parser loaded okay. If this is false, the token reactor will not be functional.

    # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 75
75:     def self::loaded?
76:         return ! $fakedRipper
77:     end
new( source, fname="(string)", lineno=1 ) click to toggle source

Create a new RubyTokenReactor object that will parse the specified source (either a String or an object that responds to #gets) and call registered callbacks for parsed tokens. The fname and lineno are for building error messages. See Ripper.new for more info.

    # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 89
89:     def initialize( source, fname="(string)", lineno=1 )
90:         @callbacks = Hash.new {|hsh, key|
91:             hsh[ key ] = []
92:         }
93:         super
94:     end
parse( source, *events, &callback ) click to toggle source

Parse the specified source and call the callback when any of the given events are seen.

    # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 57
57:     def self::parse( source, *events, &callback )
58:         reactor = self.new( source )
59:         if callback.nil?
60:             tokens = Hash.new {|h,k| h[k] = []}
61:             reactor.onEvents( *events ) {|tok, *args|
62:                 tokens[ tok ].push args
63:             }
64:             reactor.parse
65:             return tokens
66:         else
67:             reactor.onEvents( *events, &callback )
68:             reactor.parse
69:         end
70:     end

Public Instance Methods

cancelCallback( callback, event=nil ) click to toggle source

Remove the specified callback from the specified event. If event is nil, the callback is removed from all events that it is registered for.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 133
133:     def cancelCallback( callback, event=nil )
134:         if event.nil?
135:             @callbacks.each {|evsym,callbacks|
136:                 callbacks.delete( callback )
137:             }
138:         else
139:             evsym = self.eventSym( event )
140:             @callbacks[ evsym ].delete( callback )
141:         end
142:     end
cancelEvents( *events ) click to toggle source

Remove all callbacks for the specified events. Returns the callbacks that were removed.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 119
119:     def cancelEvents( *events )
120:         callbacks = []
121:         events.each {|ev|
122:             evsym = self.eventSym( ev )
123:             callbacks << @callbacks.delete( evsym )
124:         }
125: 
126:         return callbacks.flatten
127:     end
eventSym( event ) click to toggle source

Return a normalized version of the given event as a symbol. Prepends ‘on__’ if it isn‘t already, and turns strings into symbols.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 147
147:     def eventSym( event )
148:         return event if event.to_s == "all"
149:         event.to_s.sub( /^(?!on__)/, 'on__' ).intern
150:     end
onEvents( *events, &callback ) click to toggle source

Register a callback for the given events. Events are either strings or symbols that match the events generated by Ripper, optionally without the ‘on__’ prefix.

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 108
108:     def onEvents( *events, &callback )
109:         events.each {|ev|
110:             evsym = self.eventSym( ev )
111:             self.log.debug "Registering for the %p event" % evsym
112:             @callbacks[ evsym ] << callback
113:         }
114:     end

Protected Instance Methods

compile_error( fmt, *args ) click to toggle source

Log a parse error

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 171
171:     def compile_error( fmt, *args )
172:         self.log.error( "Parser compile error: " + fmt, *args )
173:     end
method_missing( sym, *args ) click to toggle source

Handle any calls to methods not explicitly handled

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 177
177:     def method_missing( sym, *args )
178:         #self.log.debug "Parser: %s( %p )" % [ sym, args ]
179:         if @callbacks.key?( sym )
180:             @callbacks[ sym ].each {|callback|
181:                 callback.call( self, *args )
182:             }
183:         end
184:         if @callbacks.key?( :all )
185:             @callbacks[ :all ].each {|callback|
186:                 callback.call( self, sym, *args )
187:             }
188:         end
189:     end
warn( fmt, *args ) click to toggle source

Log a warning

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 159
159:     def warn( fmt, *args )
160:         self.log.warning( "Parser warn: " + fmt, *args )
161:     end
warning( fmt, *args ) click to toggle source

Log a warning

     # File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 165
165:     def warning( fmt, *args )
166:         self.log.warning( "Parser warning: " + fmt, *args )
167:     end

secsequence

--- SEC00098

seccomment

--- ""

attributes

--- 
- name: callbacks
  rw: R
  a_desc: |+
    
    The Hash of events =&gt; [ callbacks ]
    

method_list

--- 
- methods: 
  - visibility: public
    aref: M000304
    name: loaded?
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 75</span>\n\
      75:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">loaded?</span>\n\
      76:         <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-operator\">!</span> <span class=\"ruby-identifier\">$fakedRipper</span>\n\
      77:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Returns <tt>true</tt> if the Ripper parser loaded okay. If this is false,
      the token reactor will not be functional.
      </p>
    params: ()
  - visibility: public
    aref: M000305
    name: new
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 89</span>\n\
      89:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">initialize</span>( <span class=\"ruby-identifier\">source</span>, <span class=\"ruby-identifier\">fname</span>=<span class=\"ruby-value str\">&quot;(string)&quot;</span>, <span class=\"ruby-identifier\">lineno</span>=<span class=\"ruby-value\">1</span> )\n\
      90:         <span class=\"ruby-ivar\">@callbacks</span> = <span class=\"ruby-constant\">Hash</span>.<span class=\"ruby-identifier\">new</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">hsh</span>, <span class=\"ruby-identifier\">key</span><span class=\"ruby-operator\">|</span>\n\
      91:             <span class=\"ruby-identifier\">hsh</span>[ <span class=\"ruby-identifier\">key</span> ] = []\n\
      92:         }\n\
      93:         <span class=\"ruby-keyword kw\">super</span>\n\
      94:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Create a <a href="RubyTokenReactor.html#M000305">new</a> <a
      href="RubyTokenReactor.html">RubyTokenReactor</a> object that will <a
      href="RubyTokenReactor.html#M000303">parse</a> the specified
      <tt>source</tt> (either a String or an object that responds to #gets) and
      call registered callbacks for parsed tokens. The <tt>fname</tt> and
      <tt>lineno</tt> are for building error messages. See Ripper.new for more
      info.
      </p>
    params: ( source, fname=&quot;(string)&quot;, lineno=1 )
  - visibility: public
    aref: M000303
    name: parse
    sourcecode: "    <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 57</span>\n\
      57:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">parse</span>( <span class=\"ruby-identifier\">source</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">events</span>, <span class=\"ruby-operator\">&amp;</span><span class=\"ruby-identifier\">callback</span> )\n\
      58:         <span class=\"ruby-identifier\">reactor</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">new</span>( <span class=\"ruby-identifier\">source</span> )\n\
      59:         <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">callback</span>.<span class=\"ruby-identifier\">nil?</span>\n\
      60:             <span class=\"ruby-identifier\">tokens</span> = <span class=\"ruby-constant\">Hash</span>.<span class=\"ruby-identifier\">new</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">h</span>,<span class=\"ruby-identifier\">k</span><span class=\"ruby-operator\">|</span> <span class=\"ruby-identifier\">h</span>[<span class=\"ruby-identifier\">k</span>] = []}\n\
      61:             <span class=\"ruby-identifier\">reactor</span>.<span class=\"ruby-identifier\">onEvents</span>( <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">events</span> ) {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">tok</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span><span class=\"ruby-operator\">|</span>\n\
      62:                 <span class=\"ruby-identifier\">tokens</span>[ <span class=\"ruby-identifier\">tok</span> ].<span class=\"ruby-identifier\">push</span> <span class=\"ruby-identifier\">args</span>\n\
      63:             }\n\
      64:             <span class=\"ruby-identifier\">reactor</span>.<span class=\"ruby-identifier\">parse</span>\n\
      65:             <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">tokens</span>\n\
      66:         <span class=\"ruby-keyword kw\">else</span>\n\
      67:             <span class=\"ruby-identifier\">reactor</span>.<span class=\"ruby-identifier\">onEvents</span>( <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">events</span>, <span class=\"ruby-operator\">&amp;</span><span class=\"ruby-identifier\">callback</span> )\n\
      68:             <span class=\"ruby-identifier\">reactor</span>.<span class=\"ruby-identifier\">parse</span>\n\
      69:         <span class=\"ruby-keyword kw\">end</span>\n\
      70:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Parse the specified <tt>source</tt> and call the <tt>callback</tt> when any
      of the given <tt>events</tt> are seen.
      </p>
    params: ( source, *events, &amp;callback )
  category: Class
  type: Public
- methods: 
  - visibility: public
    aref: M000308
    name: cancelCallback
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 133</span>\n\
      133:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">cancelCallback</span>( <span class=\"ruby-identifier\">callback</span>, <span class=\"ruby-identifier\">event</span>=<span class=\"ruby-keyword kw\">nil</span> )\n\
      134:         <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">event</span>.<span class=\"ruby-identifier\">nil?</span>\n\
      135:             <span class=\"ruby-ivar\">@callbacks</span>.<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">evsym</span>,<span class=\"ruby-identifier\">callbacks</span><span class=\"ruby-operator\">|</span>\n\
      136:                 <span class=\"ruby-identifier\">callbacks</span>.<span class=\"ruby-identifier\">delete</span>( <span class=\"ruby-identifier\">callback</span> )\n\
      137:             }\n\
      138:         <span class=\"ruby-keyword kw\">else</span>\n\
      139:             <span class=\"ruby-identifier\">evsym</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">eventSym</span>( <span class=\"ruby-identifier\">event</span> )\n\
      140:             <span class=\"ruby-ivar\">@callbacks</span>[ <span class=\"ruby-identifier\">evsym</span> ].<span class=\"ruby-identifier\">delete</span>( <span class=\"ruby-identifier\">callback</span> )\n\
      141:         <span class=\"ruby-keyword kw\">end</span>\n\
      142:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Remove the specified <tt>callback</tt> from the specified <tt>event</tt>.
      If <tt>event</tt> is nil, the callback is removed from all events that it
      is registered for.
      </p>
    params: ( callback, event=nil )
  - visibility: public
    aref: M000307
    name: cancelEvents
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 119</span>\n\
      119:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">cancelEvents</span>( <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">events</span> )\n\
      120:         <span class=\"ruby-identifier\">callbacks</span> = []\n\
      121:         <span class=\"ruby-identifier\">events</span>.<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">ev</span><span class=\"ruby-operator\">|</span>\n\
      122:             <span class=\"ruby-identifier\">evsym</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">eventSym</span>( <span class=\"ruby-identifier\">ev</span> )\n\
      123:             <span class=\"ruby-identifier\">callbacks</span> <span class=\"ruby-operator\">&lt;&lt;</span> <span class=\"ruby-ivar\">@callbacks</span>.<span class=\"ruby-identifier\">delete</span>( <span class=\"ruby-identifier\">evsym</span> )\n\
      124:         }\n\
      125: \n\
      126:         <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">callbacks</span>.<span class=\"ruby-identifier\">flatten</span>\n\
      127:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Remove all callbacks for the specified <tt>events</tt>. Returns the
      callbacks that were removed.
      </p>
    params: ( *events )
  - visibility: public
    aref: M000309
    name: eventSym
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 147</span>\n\
      147:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">eventSym</span>( <span class=\"ruby-identifier\">event</span> )\n\
      148:         <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">event</span> <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">event</span>.<span class=\"ruby-identifier\">to_s</span> <span class=\"ruby-operator\">==</span> <span class=\"ruby-value str\">&quot;all&quot;</span>\n\
      149:         <span class=\"ruby-identifier\">event</span>.<span class=\"ruby-identifier\">to_s</span>.<span class=\"ruby-identifier\">sub</span>( <span class=\"ruby-regexp re\">/^(?!on__)/</span>, <span class=\"ruby-value str\">'on__'</span> ).<span class=\"ruby-identifier\">intern</span>\n\
      150:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Return a normalized version of the given event as a symbol. Prepends
      &#8216;on__&#8217; if it isn&#8216;t already, and turns strings into
      symbols.
      </p>
    params: ( event )
  - visibility: public
    aref: M000306
    name: onEvents
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 108</span>\n\
      108:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">onEvents</span>( <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">events</span>, <span class=\"ruby-operator\">&amp;</span><span class=\"ruby-identifier\">callback</span> )\n\
      109:         <span class=\"ruby-identifier\">events</span>.<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">ev</span><span class=\"ruby-operator\">|</span>\n\
      110:             <span class=\"ruby-identifier\">evsym</span> = <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">eventSym</span>( <span class=\"ruby-identifier\">ev</span> )\n\
      111:             <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">debug</span> <span class=\"ruby-value str\">&quot;Registering for the %p event&quot;</span> <span class=\"ruby-operator\">%</span> <span class=\"ruby-identifier\">evsym</span>\n\
      112:             <span class=\"ruby-ivar\">@callbacks</span>[ <span class=\"ruby-identifier\">evsym</span> ] <span class=\"ruby-operator\">&lt;&lt;</span> <span class=\"ruby-identifier\">callback</span>\n\
      113:         }\n\
      114:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Register a <tt>callback</tt> for the given <tt>events</tt>. Events are
      either strings or symbols that match the events generated by Ripper,
      optionally without the &#8216;on__&#8217; prefix.
      </p>
    params: ( *events, &amp;callback )
  category: Instance
  type: Public
- methods: 
  - visibility: protected
    aref: M000312
    name: compile_error
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 171</span>\n\
      171:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">compile_error</span>( <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      172:         <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">error</span>( <span class=\"ruby-value str\">&quot;Parser compile error: &quot;</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      173:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Log a <a href="RubyTokenReactor.html#M000303">parse</a> error
      </p>
    params: ( fmt, *args )
  - visibility: protected
    aref: M000313
    name: method_missing
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 177</span>\n\
      177:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">method_missing</span>( <span class=\"ruby-identifier\">sym</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      178:         <span class=\"ruby-comment cmt\">#self.log.debug &quot;Parser: %s( %p )&quot; % [ sym, args ]</span>\n\
      179:         <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-ivar\">@callbacks</span>.<span class=\"ruby-identifier\">key?</span>( <span class=\"ruby-identifier\">sym</span> )\n\
      180:             <span class=\"ruby-ivar\">@callbacks</span>[ <span class=\"ruby-identifier\">sym</span> ].<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">callback</span><span class=\"ruby-operator\">|</span>\n\
      181:                 <span class=\"ruby-identifier\">callback</span>.<span class=\"ruby-identifier\">call</span>( <span class=\"ruby-keyword kw\">self</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      182:             }\n\
      183:         <span class=\"ruby-keyword kw\">end</span>\n\
      184:         <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-ivar\">@callbacks</span>.<span class=\"ruby-identifier\">key?</span>( <span class=\"ruby-identifier\">:all</span> )\n\
      185:             <span class=\"ruby-ivar\">@callbacks</span>[ <span class=\"ruby-identifier\">:all</span> ].<span class=\"ruby-identifier\">each</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">callback</span><span class=\"ruby-operator\">|</span>\n\
      186:                 <span class=\"ruby-identifier\">callback</span>.<span class=\"ruby-identifier\">call</span>( <span class=\"ruby-keyword kw\">self</span>, <span class=\"ruby-identifier\">sym</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      187:             }\n\
      188:         <span class=\"ruby-keyword kw\">end</span>\n\
      189:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Handle any calls to methods not explicitly handled
      </p>
    params: ( sym, *args )
  - visibility: protected
    aref: M000310
    name: warn
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 159</span>\n\
      159:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">warn</span>( <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      160:         <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">warning</span>( <span class=\"ruby-value str\">&quot;Parser warn: &quot;</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      161:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Log a <a href="RubyTokenReactor.html#M000311">warning</a>
      </p>
    params: ( fmt, *args )
  - visibility: protected
    aref: M000311
    name: warning
    sourcecode: "     <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/rubytokenreactor.rb, line 165</span>\n\
      165:     <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">warning</span>( <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      166:         <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">log</span>.<span class=\"ruby-identifier\">warning</span>( <span class=\"ruby-value str\">&quot;Parser warning: &quot;</span> <span class=\"ruby-operator\">+</span> <span class=\"ruby-identifier\">fmt</span>, <span class=\"ruby-operator\">*</span><span class=\"ruby-identifier\">args</span> )\n\
      167:     <span class=\"ruby-keyword kw\">end</span>"
    m_desc: |-
      <p>
      Log a <a href="RubyTokenReactor.html#M000311">warning</a>
      </p>
    params: ( fmt, *args )
  category: Instance
  type: Protected

sectitle

--- 

constants

--- 
- name: SVNRev
  desc: |+
    
    SVN Revision
    
  value: "%q$Rev: 437 $"
- name: SVNId
  desc: |+
    
    SVN Id
    
  value: "%q$Id: rubytokenreactor.rb 437 2008-03-28 00:49:20Z deveiant $"

[Validate]

Generated with the Darkfish Rdoc Generator.