ruby-trunk-changes r56378 - r56381

今日は r56213 で Refinements で Module を refine できるようにした影響で関連する部分のチェックを修正しています。

nobu: r56378 2016-10-09 11:37:21 +0900

vm_core.h の VM_ASSERT() で RUBY_ASSERT_WHEN() のかわりに RUBY_ASSERT_MESG_WHEN() を使って、評価する式をそのままメッセージに使うようにしています。

svn: r56379 2016-10-09 11:37:22 +0900

version.h の日付更新。

nobu: r56380 2016-10-09 11:57:29 +0900

vm_method.c の prepare_callable_method_entry() で引数の defined_class についてチェックする VM_ASSERT() で T_ICLASS のみ受け付けるようにしていましたが T_MODULE も受け付けるように条件を緩和しています。 r56213 の Refinements の Module の refine も可能にした時にここに T_MODULE が来る可能性ができていたようです。 [ruby-core:76199] [Feature #12534]

nobu: r56381 2016-10-09 18:42:17 +0900

vm_insnhelper.c の callable_class_p() という関数で VM_CHECK_MODE マクロが 2以上の時のチェックで引数の klass が T_ICLASS や T_MODULE だった時の考慮を追加しています。これも Refinements の Module 対応の影響みたいですね。 [Feature #12534]