8000 Revert leafness of Class#superclass · ruby/ruby@f884623 · GitHub
[go: up one dir, main page]

Skip to content

Commit f884623

Browse files
committed
Revert leafness of Class#superclass
1 parent 45504b4 commit f884623

File tree

6 files changed

+32
-36
lines changed

6 files changed

+32
-36
lines changed

.document

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ gc.rb
1818
io.rb
1919
kernel.rb
2020
marshal.rb
21+
module.rb
2122
rjit.rb
2223
numeric.rb
2324
nilclass.rb

class.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2644,4 +2644,6 @@ rb_scan_args_kw(int kw_flag, int argc, const VALUE *argv, const char *fmt, ...)
26442644
return rb_scan_args_result(&arg, argc);
26452645
}
26462646

2647-
#include "class.rbinc"
2647+
/*!
2648+
* \}
2649+
*/

class.rb

Lines changed: 0 additions & 30 deletions
This file was deleted.

common.mk

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,6 @@ BUILTIN_RB_SRCS = \
11801180
$(srcdir)/trace_point.rb \
11811181
$(srcdir)/warning.rb \
11821182
$(srcdir)/array.rb \
1183-
$(srcdir)/class.rb \
11841183
$(srcdir)/kernel.rb \
11851184
$(srcdir)/module.rb \
11861185
$(srcdir)/ractor.rb \
@@ -2903,8 +2902,6 @@ class.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
29032902
class.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
29042903
class.$(OBJEXT): {$(VPATH)}builtin.h
29052904
class.$(OBJEXT): {$(VPATH)}class.c
2906-
class.$(OBJEXT): {$(VPATH)}class.rb
2907-
class.$(OBJEXT): {$(VPATH)}class.rbinc
29082905
class.$(OBJEXT): {$(VPATH)}config.h
29092906
class.$(OBJEXT): {$(VPATH)}constant.h
29102907
class.$(OBJEXT): {$(VPATH)}debug_counter.h
@@ -10144,7 +10141,6 @@ miniinit.$(OBJEXT): {$(VPATH)}backward/2/long_long.h
1014410141
miniinit.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
1014510142
miniinit.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1014610143
miniinit.$(OBJEXT): {$(VPATH)}builtin.h
10147-
miniinit.$(OBJEXT): {$(VPATH)}class.rb
1014810144
miniinit.$(OBJEXT): {$(VPATH)}config.h
1014910145
miniinit.$(OBJEXT): {$(VPATH)}constant.h
1015010146
miniinit.$(OBJEXT): {$(VPATH)}defines.h

inits.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ rb_call_builtin_inits(void)
9595
BUILTIN(pack);
9696
BUILTIN(warning);
9797
BUILTIN(array);
98-
BUILTIN(class);
9998
BUILTIN(kernel);
10099
BUILTIN(module);
101100
BUILTIN(string);

object.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2151,6 +2151,33 @@ rb_class_new_instance(int argc, const VALUE *argv, VALUE klass)
21512151
return rb_class_new_instance_kw(argc, argv, klass, RB_NO_KEYWORDS);
21522152
}
21532153

2154+
/**
2155+
* call-seq:
2156+
* class.superclass -> a_super_class or nil
2157+
*
2158+
* Returns the superclass of <i>class</i>, or <code>nil</code>.
2159+
*
2160+
* File.superclass #=> IO
2161+
* IO.superclass #=> Object
2162+
* Object.superclass #=> BasicObject
2163+
* class Foo; end
2164+
* class Bar < Foo; end
2165+
* Bar.superclass #=> Foo
2166+
*
2167+
* Returns nil when the given class does not have a parent class:
2168+
*
2169+
* BasicObject.superclass #=> nil
2170+
*
2171+
*--
2172+
* Returns the superclass of \a klass. Equivalent to \c Class\#superclass in Ruby.
2173+
*
2174+
* It skips modules.
2175+
* \param[in] klass a Class object
2176+
* \return the superclass, or \c Qnil if \a klass does not have a parent class.
2177+
* \sa rb_class_get_superclass
2178+
*++
2179+
*/
2180+
21542181
VALUE
21552182
rb_class_superclass(VALUE klass)
21562183
{
@@ -4449,6 +4476,7 @@ InitVM_Object(void)
44494476
rb_define_method(rb_cClass, "allocate", rb_class_alloc_m, 0);
44504477
rb_define_method(rb_cClass, "new", rb_class_new_instance_pass_kw, -1);
44514478
rb_define_method(rb_cClass, "initialize", rb_class_initialize, -1);
4479+
rb_define_method(rb_cClass, "superclass", rb_class_superclass, 0);
44524480
rb_define_method(rb_cClass, "subclasses", rb_class_subclasses, 0); /* in class.c */
44534481
rb_define_method(rb_cClass, "attached_object", rb_class_attached_object, 0); /* in class.c */
44544482
rb_define_alloc_func(rb_cClass, rb_class_s_alloc);

0 commit comments

Comments
 (0)
0