| OLD | NEW | 
| (Empty) |  | 
 |    1 "Compiled from https://hg.adblockplus.org/adblockplus/ with Emscripten {{{EMSCRI
     PTEN_VERSION}}}"; | 
 |    2  | 
 |    3 var sizeofString = 0; | 
 |    4 var FilterNotifier = require("filterNotifier").FilterNotifier; | 
 |    5  | 
 |    6 function createString(str) | 
 |    7 { | 
 |    8   var length = 0; | 
 |    9   var buffer = 0; | 
 |   10   if (str) | 
 |   11   { | 
 |   12     length = str.length; | 
 |   13     buffer = Runtime.stackAlloc(length * 2); | 
 |   14     for (var i = 0, pointer = (buffer >> 1); i < length; i++, pointer++) | 
 |   15       HEAP16[pointer] = str.charCodeAt(i); | 
 |   16   } | 
 |   17  | 
 |   18   if (!sizeofString) | 
 |   19     sizeofString = Module._GetSizeofString(); | 
 |   20   var result = Module.Runtime.stackAlloc(sizeofString); | 
 |   21   Module._InitString(result, buffer, length); | 
 |   22   return result; | 
 |   23 } | 
 |   24  | 
 |   25 function getStringData(str) | 
 |   26 { | 
 |   27   var length = Module._GetStringLength(str); | 
 |   28   var pointer = Module._GetStringData(str) >> 1; | 
 |   29   return String.fromCharCode.apply(String, HEAP16.slice(pointer, pointer + lengt
     h)); | 
 |   30 } | 
 |   31  | 
 |   32 function convertGetter(call) | 
 |   33 { | 
 |   34   return function() | 
 |   35   { | 
 |   36     return call(this._pointer); | 
 |   37   }; | 
 |   38 } | 
 |   39  | 
 |   40 function convertSetter(call) | 
 |   41 { | 
 |   42   return function(value) | 
 |   43   { | 
 |   44     call(this._pointer, value); | 
 |   45   } | 
 |   46 } | 
 |   47  | 
 |   48 function convertMethod(call) | 
 |   49 { | 
 |   50   return function() | 
 |   51   { | 
 |   52     var params = Array.slice(arguments); | 
 |   53     params.unshift(this._pointer); | 
 |   54     return call.apply(this, params); | 
 |   55   }; | 
 |   56 } | 
 |   57  | 
 |   58 var regexps = | 
 |   59 { | 
 |   60   _data: Object.create(null), | 
 |   61   _counter: 0, | 
 |   62  | 
 |   63   create: function(source, matchCase) | 
 |   64   { | 
 |   65     var id = ++this._counter; | 
 |   66     try | 
 |   67     { | 
 |   68       this._data[id] = new RegExp(getStringData(source), matchCase ? "" : "i"); | 
 |   69     } | 
 |   70     catch (e) | 
 |   71     { | 
 |   72       this._data[id] = String(e); | 
 |   73     } | 
 |   74     return id; | 
 |   75   }, | 
 |   76  | 
 |   77   getError: function(id) | 
 |   78   { | 
 |   79     if (typeof this._data[id] == "string") | 
 |   80       return createString(this._data[id]); | 
 |   81     else | 
 |   82       return 0; | 
 |   83   }, | 
 |   84  | 
 |   85   delete: function(id) | 
 |   86   { | 
 |   87     delete this._data[id]; | 
 |   88   }, | 
 |   89  | 
 |   90   test: function(id, str) | 
 |   91   { | 
 |   92     return this._data[id].test(getStringData(str)); | 
 |   93   } | 
 |   94 }; | 
 |   95  | 
 |   96 var Module = | 
 |   97 { | 
 |   98   preRun: [], | 
 |   99   postRun: [], | 
 |  100   print: console.log.bind(console), | 
 |  101   printErr: console.error.bind(console), | 
 |  102  | 
 |  103   RegExpFilter_typeMap: {}, | 
 |  104  | 
 |  105   createClass: function(superclass) | 
 |  106   { | 
 |  107     var result = function(pointer) | 
 |  108     { | 
 |  109       this._pointer = pointer; | 
 |  110     }; | 
 |  111     if (superclass) | 
 |  112       result.prototype = Object.create(superclass.prototype); | 
 |  113     result.prototype.delete = function() | 
 |  114     { | 
 |  115       Module._DeletePointer(this._pointer); | 
 |  116     }; | 
 |  117     return result; | 
 |  118   }, | 
 |  119  | 
 |  120   wrapCall: function(call) | 
 |  121   { | 
 |  122     return function() | 
 |  123     { | 
 |  124       var sp = Module.Runtime.stackSave(); | 
 |  125       try | 
 |  126       { | 
 |  127         return call.apply(this, arguments); | 
 |  128       } | 
 |  129       catch (e) | 
 |  130       { | 
 |  131         throw typeof e == "number" ? new Error(Module.AsciiToString(Module._GetE
     xception(e))) : e; | 
 |  132       } | 
 |  133       finally | 
 |  134       { | 
 |  135         Module.Runtime.stackRestore(sp); | 
 |  136       } | 
 |  137     }; | 
 |  138   }, | 
 |  139  | 
 |  140   stringArg: function(argPos, call) | 
 |  141   { | 
 |  142     return function() | 
 |  143     { | 
 |  144       var params = Array.slice(arguments); | 
 |  145       params[argPos] = createString(params[argPos]); | 
 |  146       try | 
 |  147       { | 
 |  148         return call.apply(this, params); | 
 |  149       } | 
 |  150       finally | 
 |  151       { | 
 |  152         Module._DestroyString(params[argPos]); | 
 |  153       } | 
 |  154     }; | 
 |  155   }, | 
 |  156  | 
 |  157   stringResult: function(call) | 
 |  158   { | 
 |  159     return function() | 
 |  160     { | 
 |  161       var params = Array.slice(arguments); | 
 |  162       try | 
 |  163       { | 
 |  164         params.unshift(createString()); | 
 |  165         call.apply(this, params); | 
 |  166         return getStringData(params[0]); | 
 |  167       } | 
 |  168       finally | 
 |  169       { | 
 |  170         Module._DestroyString(params[0]); | 
 |  171       } | 
 |  172     }; | 
 |  173   }, | 
 |  174  | 
 |  175   defineProperty: function(cls, name, getter, setter) | 
 |  176   { | 
 |  177     var descriptor = | 
 |  178     { | 
 |  179       enumerable: true, | 
 |  180       get: Module.wrapCall(convertGetter(getter)) | 
 |  181     }; | 
 |  182     if (setter) | 
 |  183       descriptor.set = Module.wrapCall(convertSetter(setter)); | 
 |  184     Object.defineProperty(cls.prototype, name, descriptor); | 
 |  185   }, | 
 |  186  | 
 |  187   defineStringProperty: function(cls, name, getter, setter) | 
 |  188   { | 
 |  189     Module.defineProperty(cls, name, Module.stringResult(getter), | 
 |  190         (setter ? Module.stringArg(1, setter) : null)); | 
 |  191   }, | 
 |  192  | 
 |  193   defineMethod: function(cls, name, method) | 
 |  194   { | 
 |  195     cls.prototype[name] = Module.wrapCall(convertMethod(method)); | 
 |  196   } | 
 |  197 }; | 
 |  198 var ENVIRONMENT_IS_WEB = false, ENVIRONMENT_IS_NODE = false, | 
 |  199     ENVIRONMENT_IS_WORKER = false, ENVIRONMENT_IS_SHELL = true; | 
 |  200  | 
 |  201 {{BODY}} | 
 |  202  | 
 |  203 Object.assign(exports, Module); | 
| OLD | NEW |