clang
3.9.0
|
PragmaNamespace - This PragmaHandler subdivides the namespace of pragmas, allowing hierarchical pragmas to be defined. More...
#include <Pragma.h>
Public Member Functions | |
PragmaNamespace (StringRef Name) | |
~PragmaNamespace () override | |
PragmaHandler * | FindHandler (StringRef Name, bool IgnoreNull=true) const |
FindHandler - Check to see if there is already a handler for the specified name. More... | |
void | AddPragma (PragmaHandler *Handler) |
AddPragma - Add a pragma to this namespace. More... | |
void | RemovePragmaHandler (PragmaHandler *Handler) |
RemovePragmaHandler - Remove the given handler from the namespace. More... | |
bool | IsEmpty () |
void | HandlePragma (Preprocessor &PP, PragmaIntroducerKind Introducer, Token &FirstToken) override |
PragmaNamespace * | getIfNamespace () override |
getIfNamespace - If this is a namespace, return it. More... | |
![]() | |
PragmaHandler (StringRef name) | |
PragmaHandler () | |
virtual | ~PragmaHandler () |
StringRef | getName () const |
PragmaNamespace - This PragmaHandler subdivides the namespace of pragmas, allowing hierarchical pragmas to be defined.
Common examples of namespaces are "\#pragma GCC", "\#pragma STDC", and "\#pragma omp", but any namespaces may be (potentially recursively) defined.
|
inlineexplicit |
|
override |
Definition at line 51 of file Pragma.cpp.
void PragmaNamespace::AddPragma | ( | PragmaHandler * | Handler | ) |
AddPragma - Add a pragma to this namespace.
Definition at line 66 of file Pragma.cpp.
References clang::PragmaHandler::getName().
Referenced by clang::Preprocessor::AddPragmaHandler().
PragmaHandler * PragmaNamespace::FindHandler | ( | StringRef | Name, |
bool | IgnoreNull = true |
||
) | const |
FindHandler - Check to see if there is already a handler for the specified name.
If not, return the handler for the null name if it exists, otherwise return null. If IgnoreNull is true (the default) then the null handler isn't returned on failure to match.
If not, return the handler for the null identifier if it exists, otherwise return null. If IgnoreNull is true (the default) then the null handler isn't returned on failure to match.
Definition at line 59 of file Pragma.cpp.
Referenced by clang::Preprocessor::AddPragmaHandler(), HandlePragma(), and clang::Preprocessor::IgnorePragmas().
|
inlineoverridevirtual |
getIfNamespace - If this is a namespace, return it.
This is equivalent to using a dynamic_cast, but doesn't require RTTI.
Reimplemented from clang::PragmaHandler.
Definition at line 120 of file Pragma.h.
Referenced by clang::Preprocessor::AddPragmaHandler(), and clang::Preprocessor::IgnorePragmas().
|
overridevirtual |
Implements clang::PragmaHandler.
Definition at line 78 of file Pragma.cpp.
References clang::Preprocessor::Diag(), FindHandler(), clang::Token::getIdentifierInfo(), clang::IdentifierInfo::getName(), clang::PragmaHandler::HandlePragma(), and clang::Preprocessor::LexUnexpandedToken().
|
inline |
Definition at line 113 of file Pragma.h.
Referenced by clang::Preprocessor::RemovePragmaHandler().
void PragmaNamespace::RemovePragmaHandler | ( | PragmaHandler * | Handler | ) |
RemovePragmaHandler - Remove the given handler from the namespace.
Definition at line 72 of file Pragma.cpp.
References clang::PragmaHandler::getName().
Referenced by clang::Preprocessor::RemovePragmaHandler().