|
@@ -429,64 +429,12 @@ define(['./compatibility' ], function () {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
- NilBrik.deps = ["root"];
|
|
|
- function NilBrik (brikz, st) {
|
|
|
- var SmalltalkObject = brikz.root.Object;
|
|
|
- var coreFns = brikz.root.coreFns;
|
|
|
-
|
|
|
- function SmalltalkNil () {
|
|
|
- }
|
|
|
-
|
|
|
- coreFns.UndefinedObject = inherits(SmalltalkNil, SmalltalkObject);
|
|
|
-
|
|
|
- this.nilAsReceiver = new SmalltalkNil();
|
|
|
- this.nilAsValue = this.nilAsReceiver;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- Object.defineProperty(this.nilAsReceiver, 'a$nil', {
|
|
|
- value: true,
|
|
|
- enumerable: false, configurable: false, writable: false
|
|
|
- });
|
|
|
- Object.defineProperty(this.nilAsReceiver, 'isNil', {
|
|
|
- value: true,
|
|
|
- enumerable: false, configurable: false, writable: false
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- AsReceiverBrik.deps = ["nil"];
|
|
|
- function AsReceiverBrik (brikz, st) {
|
|
|
- var nilAsReceiver = brikz.nil.nilAsReceiver;
|
|
|
-
|
|
|
-
|
|
|
- * This function is used all over the compiled amber code.
|
|
|
- * It takes any value (JavaScript or Smalltalk)
|
|
|
- * and returns a proper Amber Smalltalk receiver.
|
|
|
- *
|
|
|
- * null or undefined -> nilAsReceiver,
|
|
|
- * object having Smalltalk signature -> unchanged,
|
|
|
- * otherwise wrapped foreign (JS) object
|
|
|
- */
|
|
|
- this.asReceiver = function (o) {
|
|
|
- if (o == null) return nilAsReceiver;
|
|
|
- else if (o.a$cls != null) return o;
|
|
|
- else return st.wrapJavaScript(o);
|
|
|
- };
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
|
|
|
function configureWithHierarchy (brikz) {
|
|
|
brikz.traits = TraitsBrik;
|
|
|
brikz.composition = MethodCompositionBrik;
|
|
|
brikz.classes = ClassesBrik;
|
|
|
- brikz.nil = NilBrik;
|
|
|
- brikz.asReceiver = AsReceiverBrik;
|
|
|
|
|
|
brikz.rebuild();
|
|
|
}
|