Ruby 4.0 リファレンスマニュアル

module function ObjectSpace?.internal_super_of

internal_super_of(cls) -> Class | ModuleRuby 2.3.0 から[permalink][rdoc][edit] [added by objspace]

cls の直接のスーパークラスを返します。include したモジュールの iclass のような隠されたクラスも読み飛ばさずに返します。

[PARAM] cls:
Class または Module を指定します。それらをラップした ObjectSpace::InternalObjectWrapper オブジェクトを指定することもできます。

Class#superclass は include したモジュールの iclass を読み飛ばして返しますが、本メソッドは読み飛ばしません。

require 'objspace'

module M; end
class A
  include M
end
p A.superclass                       # => Object
p ObjectSpace.internal_super_of(A)   # => #<InternalObject:0x... T_ICLASS>

本メソッドをアプリケーションで使用すべきではありません。

本メソッドは CRuby 以外では動作しません。

[SEE_ALSO] ObjectSpace?.internal_class_of