gecko-dev/parser
Nicholas Nethercote 21e7dce1a2 Bug 1410294 (part 3) - Overhaul static atom macros. r=froydnj.
There are four things that must be provided for every static atom, two of which
have a macro:
- the atom pointer declaration (no macro);
- the atom pointer definition (no macro);
- the atom char buffer (NS_STATIC_ATOM_BUFFER);
- the StaticAtomSetup struct (NS_STATIC_ATOM_SETUP).

This patch introduces new macros for the first two things: NS_STATIC_ATOM_DECL
and NS_STATIC_ATOM_DEFN, and changes the arguments of the existing two macros
to make them easier to use (e.g. all the '##' concatenation now happens within
the macros).

One consequence of the change is that all static atoms must be within a class,
so the patch adds a couple of classes where necessary (DefaultAtoms, TSAtoms).

The patch also adds a big comment explaining how the macros are used, and what
their expansion looks like. This makes it a lot easier to understand how static
atoms work. Correspondingly, the patch removes some small comments scattered
around the macro use points.

MozReview-Commit-ID: wpRyrEOTHE

--HG--
extra : rebase_source : 9f85d477b4d06c9a9e710c757de1f1476edb6efe
2017-10-22 08:50:25 +11:00
..
expat Bug 1345542 - add BUG_COMPONENT to parser/* files. r=hsivonen 2017-03-10 12:31:45 -05:00
html Bug 1404198: Part 2j - Switch to NS_NewTimer* everywhere else. r=njn 2017-09-24 19:57:48 -07:00
htmlparser Bug 1410294 (part 3) - Overhaul static atom macros. r=froydnj. 2017-10-22 08:50:25 +11:00
xml Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
moz.build Bug 1345542 - add BUG_COMPONENT to parser/* files. r=hsivonen 2017-03-10 12:31:45 -05:00
nsCharsetSource.h Bug 741776 - Treat JSON, WebVTT and AppCache manifests as UTF-8 when loaded as plain text. r=Ehsan 2016-06-09 14:29:30 +03:00