Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
LinkdefReader Class Reference

Definition at line 41 of file LinkdefReader.h.

Classes

struct  Options
 

Public Member Functions

 LinkdefReader (cling::Interpreter &interp, ROOT::TMetaUtils::RConstructorTypes &IOConstructorTypes)
 
bool LoadIncludes (std::string &extraInclude)
 
bool Parse (SelectionRules &sr, llvm::StringRef code, const std::vector< std::string > &parserArgs, const char *llvmdir)
 

Private Types

enum  ECppNames {
  kPragma , kIfdef , kEndif , kIf ,
  kElse , kUnrecognized
}
 
enum  EPragmaNames {
  kAll , kNestedclasses , kDefinedIn , kGlobal ,
  kFunction , kEnum , kClass , kTypeDef ,
  kNamespace , kUnion , kStruct , kOperators ,
  kIOCtorType , kIgnore , kUnknown
}
 

Private Member Functions

bool AddInclude (const std::string &include)
 
bool AddRule (const std::string &ruletype, const std::string &identifier, bool linkOn, bool requestOnlyTClass, Options *option=nullptr)
 
bool IsPatternRule (const std::string &rule_token)
 
bool ProcessFunctionPrototype (std::string &proto, bool &name)
 
bool ProcessOperators (std::string &pattern)
 

Static Private Member Functions

static void PopulateCppMap ()
 
static void PopulatePragmaMap ()
 

Private Attributes

long fCount
 
std::string fIncludes
 
cling::Interpreter & fInterp
 
ROOT::TMetaUtils::RConstructorTypesfIOConstructorTypesPtr
 
long fLine
 
SelectionRulesfSelectionRules
 

Static Private Attributes

static std::map< std::string, ECppNamesfgMapCppNames
 
static std::map< std::string, EPragmaNamesfgMapPragmaNames
 

Friends

class LinkdefReaderPragmaHandler
 
class PragmaCreateCollector
 
class PragmaExtraInclude
 
class PragmaLinkCollector
 

#include </github/home/ROOT-CI/src/core/dictgen/res/LinkdefReader.h>

Member Enumeration Documentation

◆ ECppNames

Enumerator
kPragma 
kIfdef 
kEndif 
kIf 
kElse 
kUnrecognized 

Definition at line 83 of file LinkdefReader.h.

◆ EPragmaNames

Enumerator
kAll 
kNestedclasses 
kDefinedIn 
kGlobal 
kFunction 
kEnum 
kClass 
kTypeDef 
kNamespace 
kUnion 
kStruct 
kOperators 
kIOCtorType 
kIgnore 
kUnknown 

Definition at line 65 of file LinkdefReader.h.

Constructor & Destructor Documentation

◆ LinkdefReader()

LinkdefReader::LinkdefReader ( cling::Interpreter & interp,
ROOT::TMetaUtils::RConstructorTypes & IOConstructorTypes )

Definition at line 101 of file LinkdefReader.cxx.

Member Function Documentation

◆ AddInclude()

bool LinkdefReader::AddInclude ( const std::string & include)
private

Definition at line 113 of file LinkdefReader.cxx.

◆ AddRule()

bool LinkdefReader::AddRule ( const std::string & ruletype,
const std::string & identifier,
bool linkOn,
bool requestOnlyTClass,
LinkdefReader::Options * options = nullptr )
private

Definition at line 127 of file LinkdefReader.cxx.

◆ IsPatternRule()

bool LinkdefReader::IsPatternRule ( const std::string & rule_token)
private

Definition at line 497 of file LinkdefReader.cxx.

◆ LoadIncludes()

bool LinkdefReader::LoadIncludes ( std::string & extraInclude)

Definition at line 508 of file LinkdefReader.cxx.

◆ Parse()

bool LinkdefReader::Parse ( SelectionRules & sr,
llvm::StringRef code,
const std::vector< std::string > & parserArgs,
const char * llvmdir )

Definition at line 1008 of file LinkdefReader.cxx.

◆ PopulateCppMap()

void LinkdefReader::PopulateCppMap ( )
staticprivate

Definition at line 90 of file LinkdefReader.cxx.

◆ PopulatePragmaMap()

void LinkdefReader::PopulatePragmaMap ( )
staticprivate

Definition at line 64 of file LinkdefReader.cxx.

◆ ProcessFunctionPrototype()

bool LinkdefReader::ProcessFunctionPrototype ( std::string & proto,
bool & name )
private

Definition at line 514 of file LinkdefReader.cxx.

◆ ProcessOperators()

bool LinkdefReader::ProcessOperators ( std::string & pattern)
private

Definition at line 569 of file LinkdefReader.cxx.

Friends And Related Symbol Documentation

◆ LinkdefReaderPragmaHandler

Definition at line 55 of file LinkdefReader.h.

◆ PragmaCreateCollector

Definition at line 53 of file LinkdefReader.h.

◆ PragmaExtraInclude

friend class PragmaExtraInclude
friend

Definition at line 56 of file LinkdefReader.h.

◆ PragmaLinkCollector

friend class PragmaLinkCollector
friend

Definition at line 54 of file LinkdefReader.h.

Member Data Documentation

◆ fCount

long LinkdefReader::fCount
private

Definition at line 59 of file LinkdefReader.h.

◆ fgMapCppNames

std::map< std::string, LinkdefReader::ECppNames > LinkdefReader::fgMapCppNames
staticprivate

Definition at line 94 of file LinkdefReader.h.

◆ fgMapPragmaNames

std::map< std::string, LinkdefReader::EPragmaNames > LinkdefReader::fgMapPragmaNames
staticprivate

Definition at line 93 of file LinkdefReader.h.

◆ fIncludes

std::string LinkdefReader::fIncludes
private

Definition at line 61 of file LinkdefReader.h.

◆ fInterp

cling::Interpreter& LinkdefReader::fInterp
private

Definition at line 63 of file LinkdefReader.h.

◆ fIOConstructorTypesPtr

ROOT::TMetaUtils::RConstructorTypes* LinkdefReader::fIOConstructorTypesPtr
private

Definition at line 62 of file LinkdefReader.h.

◆ fLine

long LinkdefReader::fLine
private

Definition at line 58 of file LinkdefReader.h.

◆ fSelectionRules

SelectionRules* LinkdefReader::fSelectionRules
private

Definition at line 60 of file LinkdefReader.h.

  • core/dictgen/res/LinkdefReader.h
  • core/dictgen/src/LinkdefReader.cxx