Forráskód Böngészése

kernel: Extract shared registries to commonXxx.

Herby Vojčík 4 éve
szülő
commit
4313066710

+ 3 - 4
lang/base/boot.js

@@ -48,9 +48,8 @@ define([
         require(['./kernel-runtime'], resolve, reject);
     });
 
-    SmalltalkInitBrik.deps = ["smalltalkGlobals"];
     function SmalltalkInitBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var initialized = false;
 
         globals.SmalltalkSettings = {};
@@ -113,7 +112,7 @@ define([
     brikz();
 
     // TODO deprecated, remove
-    Object.defineProperty(brikz.smalltalkGlobals.globals, "CharacterArray", {
+    Object.defineProperty(brikz.commonGlobals, "CharacterArray", {
         enumerable: true,
         configurable: true,
         get: function () {
@@ -126,7 +125,7 @@ define([
         nilAsReceiver: brikz.nil.nilAsReceiver,
         nilAsValue: brikz.nil.nilAsValue,
         nilAsClass: brikz.classes.nilAsClass,
-        globals: brikz.smalltalkGlobals.globals,
+        globals: brikz.commonGlobals,
         asReceiver: brikz.asReceiver.asReceiver
     };
 });

+ 12 - 22
lang/base/kernel-fundamentals.js

@@ -13,18 +13,8 @@ define(function () {
         return child;
     }
 
-    function SmalltalkGlobalsBrik (brikz, st) {
-        this.globals = Object.create(global);
-    }
-
-    function SpecialConstructorsBrik (brikz, st) {
-        this.specialConstructors = {};
-    }
-
     function EventBrik (brikz, st) {
-        var emit = {};
-
-        this.emit = emit;
+        var emit = brikz.commonEmit;
 
         this.declareEvent = function (event) {
             if (!emit[event]) emit[event] = function () {
@@ -32,9 +22,8 @@ define(function () {
         }
     }
 
-    RootBrik.deps=["specialConstructors"];
     function RootBrik (brikz, st) {
-        var specialConstructors = brikz.specialConstructors.specialConstructors;
+        var specialConstructors = brikz.commonSpecialConstructors;
 
         /* Smalltalk foundational objects */
 
@@ -83,9 +72,9 @@ define(function () {
         };
     }
 
-    BehaviorsBrik.deps = ["root", "smalltalkGlobals", "arraySet"];
+    BehaviorsBrik.deps = ["root", "arraySet"];
     function BehaviorsBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var addElement = brikz.arraySet.addElement;
         var removeElement = brikz.arraySet.removeElement;
 
@@ -123,12 +112,12 @@ define(function () {
         st.traitsOrClasses = this.traitsOrClasses = traitsOrClasses;
     }
 
-    MethodsBrik.deps = ["event", "selectors", "root", "specialConstructors"];
+    MethodsBrik.deps = ["event", "selectors", "root"];
     function MethodsBrik (brikz, st) {
         var registerSelector = brikz.selectors.registerSelector;
         var SmalltalkObject = brikz.root.Object;
-        var specialConstructors = brikz.specialConstructors.specialConstructors;
-        var emit = brikz.event.emit;
+        var specialConstructors = brikz.commonSpecialConstructors;
+        var emit = brikz.commonEmit;
         var declareEvent = brikz.event.declareEvent;
 
         function SmalltalkMethod () {
@@ -242,10 +231,10 @@ define(function () {
         };
     }
 
-    NilBrik.deps = ["root", "specialConstructors"];
+    NilBrik.deps = ["root"];
     function NilBrik (brikz, st) {
         var SmalltalkObject = brikz.root.Object;
-        var specialConstructors = brikz.specialConstructors.specialConstructors;
+        var specialConstructors = brikz.commonSpecialConstructors;
 
         function SmalltalkNil () {
         }
@@ -269,8 +258,9 @@ define(function () {
     /* Making smalltalk that has basic building blocks */
 
     function configureWithFundamentals (brikz) {
-        brikz.smalltalkGlobals = SmalltalkGlobalsBrik;
-        brikz.specialConstructors = SpecialConstructorsBrik;
+        Object.defineProperty(brikz, "commonGlobals", {value: Object.create(global)});
+        Object.defineProperty(brikz, "commonSpecialConstructors", {value: Object.create(null)});
+        Object.defineProperty(brikz, "commonEmit", {value: Object.create(null)});
         brikz.root = RootBrik;
         brikz.nil = NilBrik;
         brikz.event = EventBrik;

+ 7 - 7
lang/base/kernel-language.js

@@ -20,14 +20,14 @@ define(function () {
         });
     }
 
-    TraitsBrik.deps = ["event", "behaviors", "methods", "composition", "root", "specialConstructors"];
+    TraitsBrik.deps = ["event", "behaviors", "methods", "composition", "root"];
     function TraitsBrik (brikz, st) {
-        var specialConstructors = brikz.specialConstructors.specialConstructors;
+        var specialConstructors = brikz.commonSpecialConstructors;
         var SmalltalkObject = brikz.root.Object;
         var setupMethods = brikz.methods.setupMethods;
         var traitMethodChanged = brikz.composition.traitMethodChanged;
         var buildTraitOrClass = brikz.behaviors.buildTraitOrClass;
-        var emit = brikz.event.emit;
+        var emit = brikz.commonEmit;
         var declareEvent = brikz.event.declareEvent;
 
         function SmalltalkTrait () {
@@ -205,18 +205,18 @@ define(function () {
         this.traitMethodChanged = traitMethodChanged;
     }
 
-    ClassesBrik.deps = ["root", "specialConstructors", "event", "behaviors", "methods", "arraySet", "smalltalkGlobals"];
+    ClassesBrik.deps = ["root", "event", "behaviors", "methods", "arraySet"];
     function ClassesBrik (brikz, st) {
         var SmalltalkRoot = brikz.root.Root;
-        var specialConstructors = brikz.specialConstructors.specialConstructors;
-        var globals = brikz.smalltalkGlobals.globals;
+        var specialConstructors = brikz.commonSpecialConstructors;
+        var globals = brikz.commonGlobals;
         var SmalltalkObject = brikz.root.Object;
         var buildTraitOrClass = brikz.behaviors.buildTraitOrClass;
         var setupMethods = brikz.methods.setupMethods;
         var removeTraitOrClass = brikz.behaviors.removeTraitOrClass;
         var addElement = brikz.arraySet.addElement;
         var removeElement = brikz.arraySet.removeElement;
-        var emit = brikz.event.emit;
+        var emit = brikz.commonEmit;
         var declareEvent = brikz.event.declareEvent;
 
         function SmalltalkBehavior () {

+ 16 - 17
lang/base/kernel-runtime.js

@@ -17,10 +17,10 @@ define(function () {
         });
     }
 
-    RuntimeSelectorsBrik.deps = ["selectors", "selectorConversion", "smalltalkGlobals", "classes"];
+    RuntimeSelectorsBrik.deps = ["selectors", "selectorConversion", "classes"];
     function RuntimeSelectorsBrik (brikz, st) {
         var selectors = brikz.selectors.selectors;
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var nilAsClass = brikz.classes.nilAsClass;
         var st2js = brikz.selectorConversion.st2js;
 
@@ -55,16 +55,16 @@ define(function () {
         installNewSelectors(selectors, []);
     }
 
-    RuntimeClassesBrik.deps = ["event", "smalltalkGlobals", "runtimeSelectors", "behaviors", "classes", "runtimeMethods"];
+    RuntimeClassesBrik.deps = ["runtimeSelectors", "behaviors", "classes", "runtimeMethods"];
     function RuntimeClassesBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var jsSelectors = brikz.runtimeSelectors.jsSelectors;
         var installNewSelectors = brikz.runtimeSelectors.installNewSelectors;
         var installMethod = brikz.runtimeMethods.installMethod;
         var traitsOrClasses = brikz.behaviors.traitsOrClasses;
         var wireKlass = brikz.classes.wireKlass;
         var installIvarCompat = brikz.classes.installIvarCompat;
-        var emit = brikz.event.emit;
+        var emit = brikz.commonEmit;
 
         var detachedRootClasses = [];
 
@@ -167,9 +167,9 @@ define(function () {
         }
     }
 
-    FrameBindingBrik.deps = ["smalltalkGlobals", "runtimeClasses"];
+    FrameBindingBrik.deps = ["runtimeClasses"];
     function FrameBindingBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var setClassConstructor = brikz.runtimeClasses.setClassConstructor;
 
         setClassConstructor(globals.Number, Number);
@@ -188,10 +188,10 @@ define(function () {
         }
     }
 
-    RuntimeMethodsBrik.deps = ["event", "selectorConversion"];
+    RuntimeMethodsBrik.deps = ["selectorConversion"];
     function RuntimeMethodsBrik (brikz, st) {
         var st2js = brikz.selectorConversion.st2js;
-        var emit = brikz.event.emit;
+        var emit = brikz.commonEmit;
 
         function installMethod (method, klass) {
             var jsSelector = method.jsSelector;
@@ -234,9 +234,8 @@ define(function () {
         }
     }
 
-    PrimitivesBrik.deps = ["smalltalkGlobals"];
     function PrimitivesBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
 
         /* Converts a JavaScript object to valid Smalltalk Object */
         st.readJSObject = function (js) {
@@ -262,9 +261,9 @@ define(function () {
         };
     }
 
-    RuntimeBrik.deps = ["selectorConversion", "smalltalkGlobals", "runtimeClasses"];
+    RuntimeBrik.deps = ["selectorConversion", "runtimeClasses"];
     function RuntimeBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
         var setClassConstructor = brikz.runtimeClasses.setClassConstructor;
 
         function SmalltalkMethodContext (home, setup) {
@@ -358,9 +357,9 @@ define(function () {
         };
     }
 
-    MessageSendBrik.deps = ["smalltalkGlobals", "selectorConversion"];
+    MessageSendBrik.deps = ["selectorConversion"];
     function MessageSendBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
 
         /* Send message programmatically. Used to implement #perform: & Co. */
 
@@ -470,9 +469,9 @@ define(function () {
         };
     }
 
-    StartImageBrik.deps = ["smalltalkGlobals", "runtimeClasses", "runtimeMethods"];
+    StartImageBrik.deps = ["runtimeClasses", "runtimeMethods"];
     function StartImageBrik (brikz, st) {
-        var globals = brikz.smalltalkGlobals.globals;
+        var globals = brikz.commonGlobals;
 
         this.run = function () {
             brikz.runtimeClasses.installStHooks();