clang 22.0.0git
clang::PragmaNamespace Class Reference

PragmaNamespace - This PragmaHandler subdivides the namespace of pragmas, allowing hierarchical pragmas to be defined. More...

#include "clang/Lex/Pragma.h"

Inheritance diagram for clang::PragmaNamespace:
[legend]

Public Member Functions

 PragmaNamespace (StringRef Name)
PragmaHandlerFindHandler (StringRef Name, bool IgnoreNull=true) const
 FindHandler - Check to see if there is already a handler for the specified name.
void AddPragma (PragmaHandler *Handler)
 AddPragma - Add a pragma to this namespace.
void RemovePragmaHandler (PragmaHandler *Handler)
 RemovePragmaHandler - Remove the given handler from the namespace.
bool IsEmpty () const
void HandlePragma (Preprocessor &PP, PragmaIntroducer Introducer, Token &Tok) override
PragmaNamespacegetIfNamespace () override
 getIfNamespace - If this is a namespace, return it.
Public Member Functions inherited from clang::PragmaHandler
 PragmaHandler ()=default
 PragmaHandler (StringRef name)
virtual ~PragmaHandler ()
StringRef getName () const

Detailed Description

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.

Definition at line 96 of file Pragma.h.

Constructor & Destructor Documentation

◆ PragmaNamespace()

clang::PragmaNamespace::PragmaNamespace ( StringRef Name)
inlineexplicit

Definition at line 102 of file Pragma.h.

References clang::PragmaHandler::PragmaHandler().

Referenced by getIfNamespace().

Member Function Documentation

◆ AddPragma()

void PragmaNamespace::AddPragma ( PragmaHandler * Handler)

AddPragma - Add a pragma to this namespace.

Definition at line 88 of file Pragma.cpp.

References clang::PragmaHandler::getName(), and clang::PragmaHandler::PragmaHandler().

Referenced by clang::Preprocessor::AddPragmaHandler().

◆ FindHandler()

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 75 of file Pragma.cpp.

References clang::PragmaHandler::PragmaHandler().

Referenced by clang::Preprocessor::AddPragmaHandler(), and HandlePragma().

◆ getIfNamespace()

PragmaNamespace * clang::PragmaNamespace::getIfNamespace ( )
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 123 of file Pragma.h.

References PragmaNamespace().

Referenced by clang::Preprocessor::AddPragmaHandler().

◆ HandlePragma()

void PragmaNamespace::HandlePragma ( Preprocessor & PP,
PragmaIntroducer Introducer,
Token & Tok )
overridevirtual

◆ IsEmpty()

bool clang::PragmaNamespace::IsEmpty ( ) const
inline

Definition at line 118 of file Pragma.h.

Referenced by clang::Preprocessor::RemovePragmaHandler().

◆ RemovePragmaHandler()

void PragmaNamespace::RemovePragmaHandler ( PragmaHandler * Handler)

RemovePragmaHandler - Remove the given handler from the namespace.

Definition at line 94 of file Pragma.cpp.

References clang::PragmaHandler::getName(), and clang::PragmaHandler::PragmaHandler().

Referenced by clang::Preprocessor::RemovePragmaHandler().


The documentation for this class was generated from the following files: