|
@@ -43,7 +43,7 @@ function createConcatenator () {
|
|
},
|
|
},
|
|
finish: function (realWork) {
|
|
finish: function (realWork) {
|
|
this.add(
|
|
this.add(
|
|
- 'define("amber_vm/_init", ["amber_vm/smalltalk","' + this.ids.join('","') + '"], function (smalltalk) {',
|
|
|
|
|
|
+ 'define("amber_vm/_init", ["amber_vm/smalltalk", "amber_vm/globals", "' + this.ids.join('","') + '"], function (smalltalk, globals) {',
|
|
'smalltalk.initialize();',
|
|
'smalltalk.initialize();',
|
|
realWork,
|
|
realWork,
|
|
'});',
|
|
'});',
|
|
@@ -129,6 +129,7 @@ AmberCompiler.prototype.main = function(configuration, finished_callback) {
|
|
|
|
|
|
// the evaluated compiler will be stored in this variable (see create_compiler)
|
|
// the evaluated compiler will be stored in this variable (see create_compiler)
|
|
configuration.smalltalk = {};
|
|
configuration.smalltalk = {};
|
|
|
|
+ configuration.globals = {};
|
|
configuration.kernel_libraries = this.kernel_libraries;
|
|
configuration.kernel_libraries = this.kernel_libraries;
|
|
configuration.compiler_libraries = this.compiler_libraries;
|
|
configuration.compiler_libraries = this.compiler_libraries;
|
|
configuration.amber_dir = this.amber_dir;
|
|
configuration.amber_dir = this.amber_dir;
|
|
@@ -328,17 +329,17 @@ function create_compiler(configuration) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
// store the generated smalltalk env in configuration.smalltalk
|
|
// store the generated smalltalk env in configuration.smalltalk
|
|
- builder.finish('configuration.smalltalk = smalltalk;');
|
|
|
|
|
|
+ builder.finish('configuration.smalltalk = smalltalk; configuration.globals = globals;');
|
|
builder.add('})();');
|
|
builder.add('})();');
|
|
|
|
|
|
eval(builder.toString());
|
|
eval(builder.toString());
|
|
|
|
|
|
console.log('Compiler loaded');
|
|
console.log('Compiler loaded');
|
|
|
|
|
|
- configuration.smalltalk.ErrorHandler._register_(configuration.smalltalk.RethrowErrorHandler._new());
|
|
|
|
|
|
+ configuration.globals.ErrorHandler._register_(configuration.globals.RethrowErrorHandler._new());
|
|
|
|
|
|
if(0 !== configuration.jsGlobals.length) {
|
|
if(0 !== configuration.jsGlobals.length) {
|
|
- var jsGlobalVariables = configuration.smalltalk.globalJsVariables;
|
|
|
|
|
|
+ var jsGlobalVariables = configuration.globals.globalJsVariables;
|
|
jsGlobalVariables.push.apply(jsGlobalVariables, configuration.jsGlobals);
|
|
jsGlobalVariables.push.apply(jsGlobalVariables, configuration.jsGlobals);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -375,7 +376,7 @@ function compile(configuration) {
|
|
return Promise.all(
|
|
return Promise.all(
|
|
fileContents.map(function(code) {
|
|
fileContents.map(function(code) {
|
|
return new Promise(function(resolve, reject) {
|
|
return new Promise(function(resolve, reject) {
|
|
- var importer = configuration.smalltalk.Importer._new();
|
|
|
|
|
|
+ var importer = configuration.globals.Importer._new();
|
|
try {
|
|
try {
|
|
importer._import_(code._stream());
|
|
importer._import_(code._stream());
|
|
resolve(true);
|
|
resolve(true);
|
|
@@ -413,11 +414,11 @@ function category_export(configuration) {
|
|
var jsFile = category + configuration.suffix_used + '.js';
|
|
var jsFile = category + configuration.suffix_used + '.js';
|
|
jsFile = path.join(jsFilePath, jsFile);
|
|
jsFile = path.join(jsFilePath, jsFile);
|
|
configuration.compiled.push(jsFile);
|
|
configuration.compiled.push(jsFile);
|
|
- var smalltalk = configuration.smalltalk;
|
|
|
|
- var packageObject = smalltalk.Package._named_(category);
|
|
|
|
|
|
+ var smalltalkGlobals = configuration.globals;
|
|
|
|
+ var packageObject = smalltalkGlobals.Package._named_(category);
|
|
packageObject._transport()._namespace_(configuration.amd_namespace);
|
|
packageObject._transport()._namespace_(configuration.amd_namespace);
|
|
- fs.writeFile(jsFile, smalltalk.String._streamContents_(function (stream) {
|
|
|
|
- smalltalk.AmdExporter._new()._exportPackage_on_(packageObject, stream);
|
|
|
|
|
|
+ fs.writeFile(jsFile, smalltalkGlobals.String._streamContents_(function (stream) {
|
|
|
|
+ smalltalkGlobals.AmdExporter._new()._exportPackage_on_(packageObject, stream);
|
|
}), function(err) {
|
|
}), function(err) {
|
|
if (err)
|
|
if (err)
|
|
reject(err);
|
|
reject(err);
|
|
@@ -523,7 +524,7 @@ function compose_js_files(configuration) {
|
|
|
|
|
|
if (undefined !== configuration.main) {
|
|
if (undefined !== configuration.main) {
|
|
console.log('Adding call to: %s>>main', configuration.main);
|
|
console.log('Adding call to: %s>>main', configuration.main);
|
|
- mainFunctionOrFile += 'smalltalk.' + configuration.main + '._main();';
|
|
|
|
|
|
+ mainFunctionOrFile += 'globals.' + configuration.main + '._main();';
|
|
}
|
|
}
|
|
|
|
|
|
if (undefined !== configuration.mainfile && fs.existsSync(configuration.mainfile)) {
|
|
if (undefined !== configuration.mainfile && fs.existsSync(configuration.mainfile)) {
|