[PATCH] D62954: [Syntax] Add a helper to find expansion by its first spelled token
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 18 01:53:52 PDT 2019
sammccall added inline comments.
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:204
+ /// An expansion produced by the preprocessor, includes macro expansions and
+ /// macro directives. Preprocessor always maps a non-empty range of spelled
+ /// tokens to a (possibly empty) range of expanded tokens.
----------------
macro directives -> preprocessor directives?
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:207
+ /// Here is a few examples of expansions:
+ /// #pragme once // Expansion from "#pragma once" to an empty range.
+ /// #define FOO 1 2 3 // Expansion from "#define FOO 1" to an empty range.
----------------
nit: "pragma"
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:207
+ /// Here is a few examples of expansions:
+ /// #pragme once // Expansion from "#pragma once" to an empty range.
+ /// #define FOO 1 2 3 // Expansion from "#define FOO 1" to an empty range.
----------------
sammccall wrote:
> nit: "pragma"
these would be clearer without repeating the text, e.g. "Expands to an empty range"
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:209
+ /// #define FOO 1 2 3 // Expansion from "#define FOO 1" to an empty range.
+ /// FOO // Expansion from "FOO" to "1 2 3".
+ struct Expansion {
----------------
also mention #include?
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:214
+ };
+ /// If \p Spelled starts a mapping (e.g. if it's a macro name) return the
+ /// subrange of expanded tokens that the macro expands to.
----------------
maybe mention `#` as it's the other common case
================
Comment at: clang/include/clang/Tooling/Syntax/Tokens.h:216
+ /// subrange of expanded tokens that the macro expands to.
+ llvm::Optional<Expansion> findExpansion(const syntax::Token *Spelled) const;
+
----------------
I think expansionStartingAt would be a clearer name. Given the current name, I would expect to be able to pass any of the tokens within the spelled range
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62954/new/
https://reviews.llvm.org/D62954
More information about the cfe-commits
mailing list