blob: 711e59dca08bce98bcfcb7c82d9d4d5b3f82a197 [file] [log] [blame]
/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
http://dojotoolkit.org/community/licensing.shtml
*/
dojo.hostenv.name_ = "spidermonkey";
dojo.hostenv.println = print;
dojo.hostenv.exit = function (exitcode) {
quit(exitcode);
};
dojo.hostenv.getVersion = function () {
return version();
};
if (typeof line2pc == "undefined") {
dojo.raise("attempt to use SpiderMonkey host environment when no 'line2pc' global");
}
function dj_spidermonkey_current_file(depth) {
var s = "";
try {
throw Error("whatever");
}
catch (e) {
s = e.stack;
}
var matches = s.match(/[^@]*\.js/gi);
if (!matches) {
dojo.raise("could not parse stack string: '" + s + "'");
}
var fname = (typeof depth != "undefined" && depth) ? matches[depth + 1] : matches[matches.length - 1];
if (!fname) {
dojo.raise("could not find file name in stack string '" + s + "'");
}
return fname;
}
if (!dojo.hostenv.library_script_uri_) {
dojo.hostenv.library_script_uri_ = dj_spidermonkey_current_file(0);
}
dojo.hostenv.loadUri = function (uri) {
var ok = load(uri);
return 1;
};
dojo.requireIf((djConfig["isDebug"] || djConfig["debugAtAllCosts"]), "dojo.debug");