3 #include "llvm/ADT/StringSwitch.h"
11 if (Name.size() >= 4 && Name.startswith(
"__") && Name.endswith(
"__"))
12 Name = Name.substr(2, Name.size() - 4);
14 #include "clang/Basic/AttrHasAttributeImpl.inc"
One of these records is kept for each identifier that is lexed.
class LLVM_ALIGNAS(8) DependentTemplateSpecializationType const IdentifierInfo * Name
Represents a template specialization type whose template cannot be resolved, e.g. ...
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Scope - A scope is a transient data structure that is used while parsing the program.
int hasAttribute(AttrSyntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts)
Return the version number associated with the attribute if we recognize and implement the attribute s...
Exposes information about the current target.
StringRef getName() const
Return the actual identifier string.
Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.
Attr - This represents one attribute.