|
From: Masaaki A. <mas...@gm...> - 2011-09-12 10:56:34
|
青柳です。
>> warnのメッセージの中にcallerの結果も入れた方が便利かなぁと思
>> いました。メッセージがでてもどこで出ているかわからないと直す
>> のに時間がかかってしまうので。
>
> warningが出てるのを分かりつつ使うということもあると思うので、デフォルトでcallerまで含めるのは
> 止めておいた方がいいように思います。
すみません。スタック全部出すと勘違いして返信してしまいました。
考えてみたら、使っている場所だけ分かればいいのですね。
単純に、こんな感じで出せばよいでしょうか?
Index: lib/vte/deprecated.rb
===================================================================
--- lib/vte/deprecated.rb (リビジョン 4633)
+++ lib/vte/deprecated.rb (作業コピー)
@@ -9,7 +9,7 @@
def define_deprecated_method(deprecated_method, new_method)
if public_method_defined?(new_method)
define_method(deprecated_method) do |*args, &block|
- warn "'#{deprecated_method}' has been deprecated. Use '#{new_method}'."
+ warn "#{caller[0]}: '#{deprecated_method}' has been
deprecated. Use '#{new_method}'."
__send__(new_method, *args, &block)
end
end
@@ -20,7 +20,7 @@
def const_missing(deprecated_const)
if new_const = (@@deprecated_const[self] || {})[deprecated_const.to_sym]
if new_const = constant_get(new_const)
- warn "'#{[name, deprecated_const].join('::')}' has been
deprecated. Use '#{new_const}'."
+ warn "#{caller[0]}: '#{[name, deprecated_const].join('::')}'
has been deprecated. Use '#{new_const}'."
const_set(deprecated_const, new_const)
end
end
それと、
>> * GNOMEUtilsというよりは、GLib::XXXの中に入れたほうがいい
>> かなぁと思いました。
Forwardableに倣って、GLib::Deprecatableとかどうでしょうか?
|