Bladeren bron

kernel: Push nilAsClass to ClassesBrik.

Herbert Vojčík 7 jaren geleden
bovenliggende
commit
d7abe08ab5
2 gewijzigde bestanden met toevoegingen van 10 en 10 verwijderingen
  1. 8 8
      support/boot.js
  2. 2 2
      support/kernel-runtime.js

+ 8 - 8
support/boot.js

@@ -84,6 +84,7 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
         inherits(SmalltalkObject, SmalltalkProtoObject);
         inherits(SmalltalkNil, SmalltalkObject);
 
+        this.Root = SmalltalkRoot;
         this.Object = SmalltalkObject;
         this.nilAsReceiver = new SmalltalkNil();
 
@@ -97,10 +98,6 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
             enumerable: false, configurable: false, writable: false
         });
 
-        // Fake root class of the system.
-        // Effective superclass of all classes created with `nil subclass: ...`.
-        this.nilAsClass = {fn: SmalltalkRoot};
-
         this.__init__ = function () {
             var globals = brikz.smalltalkGlobals.globals;
             var addCoupledClass = brikz.classes.addCoupledClass;
@@ -456,12 +453,11 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
 
     ClassesBrik.deps = ["root", "behaviors"];
     function ClassesBrik (brikz, st) {
-        var nilAsClass = brikz.root.nilAsClass;
+        var SmalltalkRoot = brikz.root.Root;
         var SmalltalkBehaviorBody = brikz.behaviors.BehaviorBody;
         var buildBehaviorBody = brikz.behaviors.buildBehaviorBody;
         var setupBehavior = brikz.behaviors.setupBehavior;
         var removeBehaviorBody = brikz.behaviors.removeBehaviorBody;
-        nilAsClass.klass = {fn: SmalltalkClass};
 
         function SmalltalkBehavior () {
         }
@@ -476,6 +472,10 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
         inherits(SmalltalkClass, SmalltalkBehavior);
         inherits(SmalltalkMetaclass, SmalltalkBehavior);
 
+        // Fake root class of the system.
+        // Effective superclass of all classes created with `nil subclass: ...`.
+        var nilAsClass = this.nilAsClass = {fn: SmalltalkRoot, klass: {fn: SmalltalkClass}};
+
         SmalltalkBehavior.prototype.toString = function () {
             return 'Smalltalk ' + this.className;
         };
@@ -806,8 +806,8 @@ define(['require', './brikz', './compatibility'], function (require, Brikz) {
         api: api,
         nil/* TODO deprecate */: brikz.root.nilAsReceiver,
         nilAsReceiver: brikz.root.nilAsReceiver,
-        dnu/* TODO deprecate */: brikz.root.nilAsClass,
-        nilAsClass: brikz.root.nilAsClass,
+        dnu/* TODO deprecate */: brikz.classes.nilAsClass,
+        nilAsClass: brikz.classes.nilAsClass,
         globals: brikz.smalltalkGlobals.globals,
         asReceiver: brikz.asReceiver.asReceiver
     };

+ 2 - 2
support/kernel-runtime.js

@@ -3,12 +3,12 @@
 define(function () {
     "use strict";
 
-    DNUBrik.deps = ["selectors", "messageSend", "manipulation", "root"];
+    DNUBrik.deps = ["selectors", "messageSend", "manipulation", "classes"];
     function DNUBrik(brikz, st) {
         var selectorsBrik = brikz.selectors;
         var messageNotUnderstood = brikz.messageSend.messageNotUnderstood;
         var installJSMethod = brikz.manipulation.installJSMethod;
-        var nilAsClass = brikz.root.nilAsClass;
+        var nilAsClass = brikz.classes.nilAsClass;
 
         /* Method not implemented handlers */