[ruby/irb] Remove dead code (https://github.com/ruby/irb/pull/554)
* Remove unused ATTR_TTY and ATTR_PLAIN constants They were added ind7d26b51bf
But the references were removed in1c76845cca
Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com> * Remove unused MethodExtender module It was added in6cc5d718d7
but it's not used anywhere. Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com> * Remove unused IRB.irb_at_exit It's not used afteraaf4eb4e98
Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com> * Remove unused InputCompletor.ignored_modules It was added in88311ce3c8
but the reference was removed in78c74d2425
* Remove unused TracerLoadError constant This constant was added incb50fa3738
but never referenced. --------- https://github.com/ruby/irb/commit/7de0234325 Co-authored-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>
This commit is contained in:
parent
9e1ff2462b
commit
f25791884c
10
lib/irb.rb
10
lib/irb.rb
@ -416,11 +416,6 @@ module IRB
|
|||||||
irb.run(@CONF)
|
irb.run(@CONF)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Calls each event hook of <code>IRB.conf[:AT_EXIT]</code> when the current session quits.
|
|
||||||
def IRB.irb_at_exit
|
|
||||||
@CONF[:AT_EXIT].each{|hook| hook.call}
|
|
||||||
end
|
|
||||||
|
|
||||||
# Quits irb
|
# Quits irb
|
||||||
def IRB.irb_exit(irb, ret)
|
def IRB.irb_exit(irb, ret)
|
||||||
throw :IRB_EXIT, ret
|
throw :IRB_EXIT, ret
|
||||||
@ -897,11 +892,6 @@ module IRB
|
|||||||
ensure
|
ensure
|
||||||
$VERBOSE = verbose
|
$VERBOSE = verbose
|
||||||
end
|
end
|
||||||
|
|
||||||
ATTR_TTY = "\e[%sm"
|
|
||||||
def ATTR_TTY.[](*a) self % a.join(";"); end
|
|
||||||
ATTR_PLAIN = ""
|
|
||||||
def ATTR_PLAIN.[](*) self; end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def @CONF.inspect
|
def @CONF.inspect
|
||||||
|
@ -450,30 +450,5 @@ module IRB
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.ignored_modules
|
|
||||||
# We could cache the result, but this is very fast already.
|
|
||||||
# By using this approach, we avoid Module#name calls, which are
|
|
||||||
# relatively slow when there are a lot of anonymous modules defined.
|
|
||||||
s = {}
|
|
||||||
|
|
||||||
scanner = lambda do |m|
|
|
||||||
next if s.include?(m) # IRB::ExtendCommandBundle::EXCB recurses.
|
|
||||||
s[m] = true
|
|
||||||
m.constants(false).each do |c|
|
|
||||||
value = m.const_get(c)
|
|
||||||
scanner.call(value) if value.is_a?(Module)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
%i(IRB RubyLex).each do |sym|
|
|
||||||
next unless Object.const_defined?(sym)
|
|
||||||
scanner.call(Object.const_get(sym))
|
|
||||||
end
|
|
||||||
|
|
||||||
s.delete(IRB::Context) if defined?(IRB::Context)
|
|
||||||
|
|
||||||
s
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -9,7 +9,6 @@ begin
|
|||||||
rescue LoadError
|
rescue LoadError
|
||||||
$stderr.puts "Tracer extension of IRB is enabled but tracer gem doesn't found."
|
$stderr.puts "Tracer extension of IRB is enabled but tracer gem doesn't found."
|
||||||
module IRB
|
module IRB
|
||||||
TracerLoadError = true
|
|
||||||
class Context
|
class Context
|
||||||
def use_tracer=(opt)
|
def use_tracer=(opt)
|
||||||
# do nothing
|
# do nothing
|
||||||
|
@ -371,58 +371,4 @@ module IRB # :nodoc:
|
|||||||
|
|
||||||
CE.install_extend_commands
|
CE.install_extend_commands
|
||||||
end
|
end
|
||||||
|
|
||||||
# A convenience module for extending Ruby methods.
|
|
||||||
module MethodExtender
|
|
||||||
# Extends the given +base_method+ with a prefix call to the given
|
|
||||||
# +extend_method+.
|
|
||||||
def def_pre_proc(base_method, extend_method)
|
|
||||||
base_method = base_method.to_s
|
|
||||||
extend_method = extend_method.to_s
|
|
||||||
|
|
||||||
alias_name = new_alias_name(base_method)
|
|
||||||
module_eval %[
|
|
||||||
alias_method alias_name, base_method
|
|
||||||
def #{base_method}(*opts)
|
|
||||||
__send__ :#{extend_method}, *opts
|
|
||||||
__send__ :#{alias_name}, *opts
|
|
||||||
end
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
# Extends the given +base_method+ with a postfix call to the given
|
|
||||||
# +extend_method+.
|
|
||||||
def def_post_proc(base_method, extend_method)
|
|
||||||
base_method = base_method.to_s
|
|
||||||
extend_method = extend_method.to_s
|
|
||||||
|
|
||||||
alias_name = new_alias_name(base_method)
|
|
||||||
module_eval %[
|
|
||||||
alias_method alias_name, base_method
|
|
||||||
def #{base_method}(*opts)
|
|
||||||
__send__ :#{alias_name}, *opts
|
|
||||||
__send__ :#{extend_method}, *opts
|
|
||||||
end
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
# Returns a unique method name to use as an alias for the given +name+.
|
|
||||||
#
|
|
||||||
# Usually returns <code>#{prefix}#{name}#{postfix}<num></code>, example:
|
|
||||||
#
|
|
||||||
# new_alias_name('foo') #=> __alias_of__foo__
|
|
||||||
# def bar; end
|
|
||||||
# new_alias_name('bar') #=> __alias_of__bar__2
|
|
||||||
def new_alias_name(name, prefix = "__alias_of__", postfix = "__")
|
|
||||||
base_name = "#{prefix}#{name}#{postfix}"
|
|
||||||
all_methods = instance_methods(true) + private_instance_methods(true)
|
|
||||||
same_methods = all_methods.grep(/^#{Regexp.quote(base_name)}[0-9]*$/)
|
|
||||||
return base_name if same_methods.empty?
|
|
||||||
no = same_methods.size
|
|
||||||
while !same_methods.include?(alias_name = base_name + no)
|
|
||||||
no += 1
|
|
||||||
end
|
|
||||||
alias_name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user