2
0
Просмотр исходного кода

kernel: More intention revealing hierarchy bootstrap code.

Herbert Vojčík 7 лет назад
Родитель
Сommit
5acc90fd6e
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      support/boot.js

+ 6 - 2
support/boot.js

@@ -282,6 +282,7 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
         this.__init__ = function () {
             var globals = brikz.smalltalkGlobals.globals;
             var addCoupledClass = brikz.classes.addCoupledClass;
+            var nilSubclasses = [globals.ProtoObject];
             st.addPackage("Kernel-Classes");
             addCoupledClass("BehaviorBody", globals.Object, "Kernel-Classes", SmalltalkBehaviorBody);
             addCoupledClass("Behavior", globals.BehaviorBody, "Kernel-Classes", SmalltalkBehavior);
@@ -289,8 +290,11 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
             addCoupledClass("Class", globals.Behavior, "Kernel-Classes", SmalltalkClass);
 
             // Manually bootstrap the metaclass hierarchy
-            globals.ProtoObject.klass.superclass = nilAsClass.klass = globals.Class;
-            addSubclass(globals.ProtoObject.klass);
+            nilAsClass.klass = globals.Class;
+            nilSubclasses.forEach(function (each) {
+                each.klass.superclass = globals.Class;
+                addSubclass(each.klass);
+            });
         };
         this.__init__.once = true;