Lines Matching refs:superclass
547 // fail, then we raise a `TypeError`. Note, `superclass` may be null if one
560 // @param superclass [Class,null] superclass of the new class (may be null)
566 function $allocate_class(name, superclass, singleton) { argument
569 if (superclass != null && superclass.$$bridge) {
574 self = new ($bind.apply(superclass.$$constructor, [null].concat(args)))();
594 $prop(klass, '$$super', superclass);
612 if (superclass != null) {
613 $set_proto(klass.$$prototype, superclass.$$prototype);
621 for (i = 0; i < superclass.$$subclasses.length; i++) {
622 subclass = superclass.$$subclasses[i];
629 superclass.$$subclasses = rebuilt_subclasses;
632 superclass.$$subclasses.push(klass);
636 if (superclass.$$meta) {
637 // If superclass has metaclass then we have explicitely inherit it.
661 function ensureSuperclassMatch(klass, superclass) { argument
662 if (klass.$$super !== superclass) {
663 $raise(Opal.TypeError, "superclass mismatch for class " + klass.$$name);
667 Opal.klass = function(scope, superclass, name) { argument
678 // If the superclass is not an Opal-generated class then we're bridging a native JS class
680 superclass != null && (!superclass.hasOwnProperty || (
681 superclass.hasOwnProperty && !superclass.hasOwnProperty('$$is_class')
684 if (superclass.constructor && superclass.constructor.name == "Function") {
685 bridged = superclass;
686 superclass = _Object;
688 $raise(Opal.TypeError, "superclass must be a Class (" + (
689 … (superclass.constructor && (superclass.constructor.name || superclass.constructor.$$name)) ||
690 typeof(superclass)
698 if (superclass) {
699 // Make sure existing class has same superclass
700 ensureSuperclassMatch(klass, superclass);
704 // Class doesn't exist, create a new one with given superclass...
706 // Not specifying a superclass means we can assume it to be Object
707 if (superclass == null) {
708 superclass = _Object;
712 klass = $allocate_class(name, superclass);
715 // Call .inherited() hook with new class on the superclass
716 if (superclass.$inherited) {
717 superclass.$inherited(klass);
856 // from their superclass object (up to `Class` itself).
859 // superclass' singleton class which in turn inherits from Class.
868 // The singleton_class superclass is the singleton_class of its superclass;
869 // but BasicObject has no superclass (its `$$super` is null), thus we
871 var superclass = klass === BasicObject ? Class : Opal.get_singleton_class(klass.$$super);
873 var meta = $allocate_class(null, superclass, true);
905 var superclass = object.$$class,
906 klass = $allocate_class(nil, superclass, true);
1077 // superclass
1118 // have this point to its superclass. However, if a class includes a module
1120 // also have to then point its `$$parent` to the actual superclass. We
1123 // `$$parent` which can then point to the superclass. The `iclass` acts as
1621 $raise(Opal.NoMethodError, 'super: no superclass method `'+mid+"' for "+obj, mid);
4190 $defs(self, '$new', function $Class_new$1(superclass) { argument
4194 if (superclass == null) superclass = $$('Object');
4196 if (!superclass.$$is_class) {
4197 throw Opal.TypeError.$new("superclass must be a Class");
4200 var klass = Opal.allocate_class(nil, superclass);
4201 superclass.$inherited(klass);
4266 $def(self, '$superclass', function $$superclass() {