Lines Matching refs:superclass

556   // fail, then we raise a `TypeError`. Note, `superclass` may be null if one
569 // @param superclass [Class,null] superclass of the new class (may be null)
575 function $allocate_class(name, superclass, singleton) {
578 if (superclass != null && superclass.$$bridge) {
583 self = new ($bind.apply(superclass.$$constructor, [null].concat(args)))();
603 $prop(klass, '$$super', superclass);
621 if (superclass != null) {
622 $set_proto(klass.$$prototype, superclass.$$prototype);
630 for (i = 0; i < superclass.$$subclasses.length; i++) {
631 subclass = superclass.$$subclasses[i];
638 superclass.$$subclasses = rebuilt_subclasses;
641 superclass.$$subclasses.push(klass);
645 if (superclass.$$meta) {
646 // If superclass has metaclass then we have explicitely inherit it.
670 function ensureSuperclassMatch(klass, superclass) {
671 if (klass.$$super !== superclass) {
672 $raise(Opal.TypeError, "superclass mismatch for class " + klass.$$name);
676 Opal.klass = function(scope, superclass, name) {
687 // If the superclass is not an Opal-generated class then we're bridging a native JS class
689 superclass != null && (!superclass.hasOwnProperty || (
690 superclass.hasOwnProperty && !superclass.hasOwnProperty('$$is_class')
693 if (superclass.constructor && superclass.constructor.name == "Function") {
694 bridged = superclass;
695 superclass = _Object;
697 $raise(Opal.TypeError, "superclass must be a Class (" + (
698 … (superclass.constructor && (superclass.constructor.name || superclass.constructor.$$name)) ||
699 typeof(superclass)
707 if (superclass) {
708 // Make sure existing class has same superclass
709 ensureSuperclassMatch(klass, superclass);
713 // Class doesn't exist, create a new one with given superclass...
715 // Not specifying a superclass means we can assume it to be Object
716 if (superclass == null) {
717 superclass = _Object;
721 klass = $allocate_class(name, superclass);
724 // Call .inherited() hook with new class on the superclass
725 if (superclass.$inherited) {
726 superclass.$inherited(klass);
865 // from their superclass object (up to `Class` itself).
868 // superclass' singleton class which in turn inherits from Class.
877 // The singleton_class superclass is the singleton_class of its superclass;
878 // but BasicObject has no superclass (its `$$super` is null), thus we
880 var superclass = klass === BasicObject ? Class : Opal.get_singleton_class(klass.$$super);
882 var meta = $allocate_class(null, superclass, true);
914 var superclass = object.$$class,
915 klass = $allocate_class(nil, superclass, true);
1086 // superclass
1127 // have this point to its superclass. However, if a class includes a module
1129 // also have to then point its `$$parent` to the actual superclass. We
1132 // `$$parent` which can then point to the superclass. The `iclass` acts as
1630 $raise(Opal.NoMethodError, 'super: no superclass method `'+mid+"' for "+obj, mid);
4199 $defs(self, '$new', function $Class_new$1(superclass) {
4203 if (superclass == null) superclass = $$('Object');
4205 if (!superclass.$$is_class) {
4206 throw Opal.TypeError.$new("superclass must be a Class");
4209 var klass = Opal.allocate_class(nil, superclass);
4210 superclass.$inherited(klass);
4275 $def(self, '$superclass', function $$superclass() {