| Index: compiled/shell.js |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/compiled/shell.js |
| @@ -0,0 +1,200 @@ |
| +"Compiled from https://hg.adblockplus.org/adblockplus/ with Emscripten {{{EMSCRIPTEN_VERSION}}}"; |
| + |
| +var sizeofString = 0; |
| + |
| +function createString(str) |
| +{ |
| + var length = 0; |
| + var buffer = 0; |
| + if (str) |
| + { |
| + length = str.length; |
| + buffer = Runtime.stackAlloc(length * 2); |
| + for (var i = 0, pointer = (buffer >> 1); i < length; i++, pointer++) |
| + HEAP16[pointer] = str.charCodeAt(i); |
| + } |
| + |
| + if (!sizeofString) |
| + sizeofString = Module._GetSizeofString(); |
| + var result = Module.Runtime.stackAlloc(sizeofString); |
| + Module._InitString(result, buffer, length); |
| + return result; |
| +} |
| + |
| +function getStringData(str) |
| +{ |
| + var length = Module._GetStringLength(str); |
| + var pointer = Module._GetStringData(str) >> 1; |
| + return String.fromCharCode.apply(String, HEAP16.slice(pointer, pointer + length)); |
| +} |
| + |
| +function convertGetter(call) |
| +{ |
| + return function() |
| + { |
| + return call(this._pointer); |
| + }; |
| +} |
| + |
| +function convertSetter(call) |
| +{ |
| + return function(value) |
| + { |
| + call(this._pointer, value); |
| + } |
| +} |
| + |
| +function convertMethod(call) |
| +{ |
| + return function() |
| + { |
| + var params = Array.slice(arguments); |
| + params.unshift(this._pointer); |
| + return call.apply(this, params); |
| + }; |
| +} |
| + |
| +var regexps = |
| +{ |
| + _data: Object.create(null), |
| + _counter: 0, |
| + |
| + create: function(source, matchCase) |
| + { |
| + var id = ++this._counter; |
| + try |
| + { |
| + this._data[id] = new RegExp(getStringData(source), matchCase ? "" : "i"); |
| + } |
| + catch (e) |
| + { |
| + this._data[id] = String(e); |
| + } |
| + return id; |
| + }, |
| + |
| + getError: function(id) |
| + { |
| + if (typeof this._data[id] == "string") |
| + return createString(this._data[id]); |
| + else |
| + return 0; |
| + }, |
| + |
| + delete: function(id) |
| + { |
| + delete this._data[id]; |
| + }, |
| + |
| + test: function(id, str) |
| + { |
| + return this._data[id].test(getStringData(str)); |
| + } |
| +}; |
| + |
| +var Module = |
| +{ |
| + preRun: [], |
| + postRun: [], |
| + print: console.log.bind(console), |
| + printErr: console.error.bind(console), |
| + |
| + createClass: function(superclass) |
| + { |
| + var result = function(pointer) |
| + { |
| + this._pointer = pointer; |
| + }; |
| + if (superclass) |
| + result.prototype = Object.create(superclass.prototype); |
| + result.prototype.delete = function() |
| + { |
| + Module._DeletePointer(this._pointer); |
| + }; |
| + return result; |
| + }, |
| + |
| + wrapCall: function(call) |
| + { |
| + return function() |
| + { |
| + var sp = Module.Runtime.stackSave(); |
| + try |
| + { |
| + return call.apply(this, arguments); |
| + } |
| + catch (e) |
| + { |
| + throw typeof e == "number" ? new Error(Module.AsciiToString(Module._GetException(e))) : e; |
| + } |
| + finally |
| + { |
| + Module.Runtime.stackRestore(sp); |
| + } |
| + }; |
| + }, |
| + |
| + stringArg: function(argPos, call) |
| + { |
| + return function() |
| + { |
| + var params = Array.slice(arguments); |
| + params[argPos] = createString(params[argPos]); |
| + try |
| + { |
| + return call.apply(this, params); |
| + } |
| + finally |
| + { |
| + Module._DestroyString(params[argPos]); |
| + } |
| + }; |
| + }, |
| + |
| + stringResult: function(call) |
| + { |
| + return function() |
| + { |
| + var params = Array.slice(arguments); |
| + try |
| + { |
| + params.unshift(createString()); |
| + call.apply(this, params); |
| + return getStringData(params[0]); |
| + } |
| + finally |
| + { |
| + Module._DestroyString(params[0]); |
| + } |
| + }; |
| + }, |
| + |
| + defineProperty: function(cls, name, getter, setter) |
| + { |
| + var descriptor = |
| + { |
| + enumerable: true, |
| + get: Module.wrapCall(convertGetter(getter)) |
| + }; |
| + if (setter) |
| + descriptor.set = Module.wrapCall(convertSetter(setter)); |
| + Object.defineProperty(cls.prototype, name, descriptor); |
| + }, |
| + |
| + defineStringProperty: function(cls, name, getter, setter) |
| + { |
| + Module.defineProperty(cls, name, Module.stringResult(getter), |
| + (setter ? Module.stringArg(1, setter) : null)); |
| + }, |
| + |
| + defineMethod: function(cls, name, method) |
| + { |
| + cls.prototype[name] = Module.wrapCall(convertMethod(method)); |
| + } |
| +}; |
| +var ENVIRONMENT_IS_WEB = false, ENVIRONMENT_IS_NODE = false, |
| + ENVIRONMENT_IS_WORKER = false, ENVIRONMENT_IS_SHELL = true; |
| + |
| +{{BODY}} |
| + |
| +Object.assign(exports, Module); |