12#ifndef R__LINKDEFREADER_H
13#define R__LINKDEFREADER_H
27#include "llvm/ADT/StringRef.h"
36class PragmaCreateCollector;
37class PragmaLinkCollector;
38class LinkdefReaderPragmaHandler;
39class PragmaExtraInclude;
48 bool Parse(
SelectionRules &
sr, llvm::StringRef code,
const std::vector<std::string> &parserArgs,
const char *llvmdir);
102 bool AddRule(
const std::string& ruletype,
103 const std::string& identifier,
105 bool requestOnlyTClass,
106 Options *option = 0);
bool ProcessOperators(std::string &pattern)
bool LoadIncludes(std::string &extraInclude)
SelectionRules * fSelectionRules
friend class PragmaLinkCollector
LinkdefReader(cling::Interpreter &interp, ROOT::TMetaUtils::RConstructorTypes &IOConstructorTypes)
bool ProcessFunctionPrototype(std::string &proto, bool &name)
static std::map< std::string, ECppNames > fgMapCppNames
friend class LinkdefReaderPragmaHandler
cling::Interpreter & fInterp
bool IsPatternRule(const std::string &rule_token)
bool AddInclude(const std::string &include)
friend class PragmaCreateCollector
bool Parse(SelectionRules &sr, llvm::StringRef code, const std::vector< std::string > &parserArgs, const char *llvmdir)
bool AddRule(const std::string &ruletype, const std::string &identifier, bool linkOn, bool requestOnlyTClass, Options *option=0)
friend class PragmaExtraInclude
static std::map< std::string, EPragmaNames > fgMapPragmaNames
static void PopulatePragmaMap()
static void PopulateCppMap()
ROOT::TMetaUtils::RConstructorTypes * fIOConstructorTypesPtr
The class representing the collection of selection rules.
static constexpr double sr