clang 20.0.0git
Namespaces | Macros | Functions | Variables
Registry.cpp File Reference

Registry map populated at static initialization time. More...

#include "clang/ASTMatchers/Dynamic/Registry.h"
#include "Marshallers.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/ASTMatchers/Dynamic/Diagnostics.h"
#include "clang/ASTMatchers/Dynamic/VariantValue.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <iterator>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::ast_matchers
 
namespace  clang::ast_matchers::dynamic
 

Macros

#define REGISTER_MATCHER(name)
 
#define REGISTER_MATCHER_OVERLOAD(name)
 
#define SPECIFIC_MATCHER_OVERLOAD(name, Id)
 
#define MATCHER_OVERLOAD_ENTRY(name, Id)
 
#define REGISTER_OVERLOADED_2(name)
 
#define REGISTER_REGEX_MATCHER(name)    registerMatcher(#name, internal::makeMatcherRegexMarshall(name, name))
 

Functions

static llvm::raw_ostream & clang::ast_matchers::dynamic::operator<< (llvm::raw_ostream &OS, const std::set< ASTNodeKind > &KS)
 

Variables

static llvm::ManagedStatic< RegistryMaps > clang::ast_matchers::dynamic::RegistryData
 

Detailed Description

Registry map populated at static initialization time.

Definition in file Registry.cpp.

Macro Definition Documentation

◆ MATCHER_OVERLOAD_ENTRY

#define MATCHER_OVERLOAD_ENTRY (   name,
  Id 
)
Value:
internal::makeMatcherAutoMarshall(SPECIFIC_MATCHER_OVERLOAD(name, Id), \
#name)
#define SPECIFIC_MATCHER_OVERLOAD(name, Id)
Definition: Registry.cpp:75
uint32_t Id
Definition: SemaARM.cpp:1144

Definition at line 79 of file Registry.cpp.

◆ REGISTER_MATCHER

#define REGISTER_MATCHER (   name)
Value:
registerMatcher(#name, internal::makeMatcherAutoMarshall( \
::clang::ast_matchers::name, #name));

Definition at line 67 of file Registry.cpp.

◆ REGISTER_MATCHER_OVERLOAD

#define REGISTER_MATCHER_OVERLOAD (   name)
Value:
registerMatcher(#name, \
std::make_unique<internal::OverloadedMatcherDescriptor>(name##Callbacks))

Definition at line 71 of file Registry.cpp.

◆ REGISTER_OVERLOADED_2

#define REGISTER_OVERLOADED_2 (   name)
Value:
do { \
std::unique_ptr<MatcherDescriptor> name##Callbacks[] = { \
MATCHER_OVERLOAD_ENTRY(name, 0), \
MATCHER_OVERLOAD_ENTRY(name, 1)}; \
REGISTER_MATCHER_OVERLOAD(name); \
} while (false)

Definition at line 83 of file Registry.cpp.

◆ REGISTER_REGEX_MATCHER

#define REGISTER_REGEX_MATCHER (   name)     registerMatcher(#name, internal::makeMatcherRegexMarshall(name, name))

Definition at line 91 of file Registry.cpp.

◆ SPECIFIC_MATCHER_OVERLOAD

#define SPECIFIC_MATCHER_OVERLOAD (   name,
  Id 
)
Value:
static_cast<::clang::ast_matchers::name##_Type##Id>( \
::clang::ast_matchers::name)

Definition at line 75 of file Registry.cpp.