internal void ClassInheritedEvent(RubyClass/*!*/ subClass) {
if (_classInheritedCallbackSite == null) {
Interlocked.CompareExchange(
ref _classInheritedCallbackSite,
CallSite<Func<CallSite, object, object, object>>.Create(RubyCallAction.Make(Context, Symbols.Inherited, RubyCallSignature.WithImplicitSelf(1)
)),
null
);
}
_classInheritedCallbackSite.Target(_classInheritedCallbackSite, this, subClass);
}