зеркало из https://github.com/mozilla/gecko-dev.git
21e7dce1a2
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 |
||
---|---|---|
.. | ||
tests | ||
CNavDTD.cpp | ||
CNavDTD.h | ||
CParserContext.cpp | ||
CParserContext.h | ||
moz.build | ||
nsElementTable.cpp | ||
nsElementTable.h | ||
nsExpatDriver.cpp | ||
nsExpatDriver.h | ||
nsHTMLTagList.h | ||
nsHTMLTags.cpp | ||
nsHTMLTags.h | ||
nsHTMLTokenizer.cpp | ||
nsHTMLTokenizer.h | ||
nsIContentSink.h | ||
nsIDTD.h | ||
nsIExpatSink.idl | ||
nsIExtendedExpatSink.idl | ||
nsIFragmentContentSink.h | ||
nsIHTMLContentSink.h | ||
nsIParser.h | ||
nsITokenizer.h | ||
nsParser.cpp | ||
nsParser.h | ||
nsParserBase.h | ||
nsParserCIID.h | ||
nsParserConstants.h | ||
nsParserModule.cpp | ||
nsParserMsgUtils.cpp | ||
nsParserMsgUtils.h | ||
nsScanner.cpp | ||
nsScanner.h | ||
nsScannerString.cpp | ||
nsScannerString.h |