[clang-format] Add a MacroExpander.
Summary: The MacroExpander allows to expand simple (non-resursive) macro definitions from a macro identifier token and macro arguments. It annotates the tokens with a newly introduced MacroContext that keeps track of the role a token played in expanding the macro in order to be able to reconstruct the macro expansion from an expanded (formatted) token stream. Made Token explicitly copy-able to enable copying tokens from the parsed macro definition. Reviewers: sammccall Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83296
Loading
Please sign in to comment