| Index: lib/filterClasses.js | 
| =================================================================== | 
| --- a/lib/filterClasses.js | 
| +++ b/lib/filterClasses.js | 
| @@ -468,17 +468,17 @@ function RegExpFilter(text, regexpSource | 
| this.matchCase = matchCase; | 
| if (thirdParty != null) | 
| this.thirdParty = thirdParty; | 
|  | 
| if (regexpSource.length >= 2 && regexpSource[0] == "/" && regexpSource[regexpSource.length - 1] == "/") | 
| { | 
| // The filter is a regular expression - convert it immediately to catch syntax errors | 
| let regexp = new RegExp(regexpSource.substr(1, regexpSource.length - 2), this.matchCase ? "" : "i"); | 
| -    this.__defineGetter__("regexp", () => regexp); | 
| +    Object.defineProperty(this, "regexp", {value: regexp}); | 
| } | 
| else | 
| { | 
| // No need to convert this filter to regular expression yet, do it on demand | 
| this.regexpSource = regexpSource; | 
| } | 
| } | 
| exports.RegExpFilter = RegExpFilter; | 
| @@ -524,20 +524,18 @@ RegExpFilter.prototype = | 
| .replace(/\\\^/g, "(?:[\\x00-\\x24\\x26-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7F]|$)") | 
| .replace(/^\\\|\\\|/, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?") // process extended anchor at expression start | 
| .replace(/^\\\|/, "^")       // process anchor at expression start | 
| .replace(/\\\|$/, "$")       // process anchor at expression end | 
| .replace(/^(\.\*)/, "")      // remove leading wildcards | 
| .replace(/(\.\*)$/, "");     // remove trailing wildcards | 
|  | 
| let regexp = new RegExp(source, this.matchCase ? "" : "i"); | 
| - | 
| -    delete this.regexpSource; | 
| -    this.__defineGetter__("regexp", () => regexp); | 
| -    return this.regexp; | 
| +    Object.defineProperty(this, "regexp", {value: regexp}); | 
| +    return regexp; | 
| }, | 
| /** | 
| * Content types the filter applies to, combination of values from RegExpFilter.typeMap | 
| * @type Number | 
| */ | 
| contentType: 0x7FFFFFFF, | 
| /** | 
| * Defines whether the filter should distinguish between lower and upper case letters | 
| @@ -567,19 +565,20 @@ RegExpFilter.prototype = | 
| { | 
| return true; | 
| } | 
|  | 
| return false; | 
| } | 
| }; | 
|  | 
| -RegExpFilter.prototype.__defineGetter__("0", function() | 
| +// Required to optimize Matcher, see also RegExpFilter.prototype.length | 
| +Object.defineProperty(RegExpFilter.prototype, "0", | 
| { | 
| -  return this; | 
| +  get: function() { return this; } | 
| }); | 
|  | 
| /** | 
| * Creates a RegExp filter from its text representation | 
| * @param {String} text   same as in Filter() | 
| */ | 
| RegExpFilter.fromText = function(text) | 
| { | 
|  |