1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-07-08 12:57:57 +02:00
uBlock/platform
Raymond Hill 85c68116bd
Group all compiling-related code into FilterCompiler() class
In the static network filtering engine (snfe), the
compiling-related code was spread across two classes.
This commit makes it so that all the compiling-related
code is in FilterCompiler class, which clear purpose is
to compile raw filters into a form which can be persisted
and later fed to the snfe with no parsing overhead.

To compile raw static network filter, the new approach is:

    snfe.createCompiler(parser);

Then for each single raw filter to compile:

    compiler.compile(parser, writer);

The caller is responsible to keep a reference to the
compiler instance for as long as it is needed. This removes
the need for the clunky code used to keep an instance of
compiler alive in the snfe.

Additionally, snfe.tokenHistograms() has been moved to
benchmarks.js, as it has no dependency on the snfe, it's
just a utility function.
2021-08-04 15:14:48 -04:00
..
browser Group all compiling-related code into FilterCompiler() class 2021-08-04 15:14:48 -04:00
chromium Modularize codebase with export/import 2021-07-27 17:26:04 -04:00
common Fix jshint warnings 2021-08-03 12:08:59 -04:00
firefox Modularize codebase with export/import 2021-07-27 17:26:04 -04:00
nodejs Group all compiling-related code into FilterCompiler() class 2021-08-04 15:14:48 -04:00
opera Modularize codebase with export/import 2021-07-27 17:26:04 -04:00
safari Clarify that the code base was really old and obsolete 2019-09-22 09:57:38 -04:00
thunderbird Modularize codebase with export/import 2021-07-27 17:26:04 -04:00