The accessibility of f below from C depends upon the name used to name A. It is unclear what the application of get_accessible_member_functions upon the meta-object types produced in g() and h() h2() would generate.
struct A { static int f(); };
class B : A {};
class C : B {
static auto *g() { return static_cast<reflexpr(::A) *>(0); }
static auto *h() { return static_cast<reflexpr(A) *>(0); }
static auto *h2() { return static_cast<
get_class_t<get_element_t<0, get_base_classes_t<reflexpr(C)>>> *>(0); }
};