123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- define([
- 'require', './kernel-checks', './brikz', './kernel-fundamentals', './kernel-language'
- ], function (require, _, Brikz, configureWithFundamentals, configureWithHierarchy) {
- "use strict";
- require(['./kernel-runtime']);
- function SmalltalkInitBrik (brikz, st) {
- var initialized = false;
- var runtimeLoadedPromise = new Promise(function (resolve, reject) {
- require(['./kernel-runtime'], resolve, reject);
- });
-
- st.initialize = function () {
- return runtimeLoadedPromise.then(function (configureWithRuntime) {
- if (initialized) return;
- brikz.classes.bootstrapHierarchy();
- configureWithRuntime(brikz);
-
- Object.defineProperty(st, "packages", {
- get: function () {
- console.warn("Use of .packages deprecated, use .packageDescriptors");
- return st.packageDescriptors;
- },
- set: function (v) {
- console.trace();
- throw new Error("No one should be setting st.packages directly on initialized Amber.");
- }
- });
- brikz.startImage.run();
- initialized = true;
- });
- };
- }
-
- function AMDBrik (brikz, st) {
- st.amdRequire = require;
- st.defaultTransportType = st.defaultTransportType || "amd";
- st.defaultAmdNamespace = st.defaultAmdNamespace || "amber_core";
- }
-
-
- AsReceiverBrik.deps = ["nil"];
- function AsReceiverBrik (brikz, st) {
- var nilAsReceiver = brikz.nil.nilAsReceiver;
-
- this.asReceiver = function (o) {
- if (o == null) return nilAsReceiver;
- else if (o.a$cls != null) return o;
- else return st.wrapJavaScript(o);
- };
- }
- var api = {};
- var brikz = new Brikz(api);
- configureWithFundamentals(brikz);
- configureWithHierarchy(brikz);
- brikz.asReceiver = AsReceiverBrik;
- brikz.stInit = SmalltalkInitBrik;
- brikz.amd = AMDBrik;
- brikz.rebuild();
- return {
- api: api,
- nilAsReceiver: brikz.nil.nilAsReceiver,
- nilAsValue: brikz.nil.nilAsValue,
- nilAsClass: brikz.classes.nilAsClass,
- globals: brikz.smalltalkGlobals.globals,
- asReceiver: brikz.asReceiver.asReceiver
- };
- });
|