module ANTLR3::ClassMacros
Private Instance Methods
abstract( name, message = nil )
click to toggle source
# File lib/antlr3/util.rb, line 66 def abstract( name, message = nil ) message ||= "abstract method -- #{ self.class }::#{ name } has not been implemented" file, line, = caller[ 1 ].split( ':', 3 ) class_eval( <<-END, file, line.to_i ) def #{ name }( * ) raise TypeError, #{ message.to_s.inspect } end END end
alias_accessor( alias_name, attr_name )
click to toggle source
# File lib/antlr3/util.rb, line 94 def alias_accessor( alias_name, attr_name ) alias_method( alias_name, attr_name ) alias_method( :"#{ alias_name }=", :"#{ attr_name }=" ) end
deprecate( name, extra_message = nil )
click to toggle source
# File lib/antlr3/util.rb, line 76 def deprecate( name, extra_message = nil ) hidden_name = "deprecated_#{ name }" method_defined?( hidden_name ) and return alias_method( hidden_name, name ) private( hidden_name ) message = "warning: method #{ self }##{ name } is deprecated" extra_message and message << '; ' << extra_message.to_s class_eval( <<-END ) def #{ name }( *args, &block ) warn( #{ message.inspect } ) #{ hidden_name }( *args, &block ) end END end