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); |