ROOT  6.06/08
Reference Guide
Namespaces | Typedefs | Functions | Variables
TMetaUtils.cxx File Reference
#include <algorithm>
#include <iostream>
#include <sstream>
#include <stdlib.h>
#include <stdio.h>
#include <unordered_set>
#include "RConfigure.h"
#include "RConfig.h"
#include "Rtypes.h"
#include "compiledata.h"
#include "RStl.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeVisitor.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/ModuleMap.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/Sema.h"
#include "cling/Interpreter/LookupHelper.h"
#include "cling/Interpreter/Transaction.h"
#include "cling/Interpreter/Interpreter.h"
#include "cling/Utils/AST.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/FileSystem.h"
#include "../../../interpreter/llvm/src/tools/clang/lib/Sema/HackForDefaultTemplateArg.h"
#include "TMetaUtils.h"
+ Include dependency graph for TMetaUtils.cxx:

Go to the source code of this file.

Namespaces

 ROOT
 Namespace for new ROOT classes and functions.
 
 ROOT::TMetaUtils
 

Typedefs

using TNCtxtFullQual = ROOT::TMetaUtils::TNormalizedCtxtImpl
 

Functions

unsigned int ROOT::TMetaUtils::GetNumberOfWarningsAndErrors ()
 
bool IsTemplate (const clang::Decl &cl)
 
const clang::CXXMethodDecl * GetMethodWithProto (const clang::Decl *cinfo, const char *method, const char *proto, const cling::Interpreter &interp, bool diagnose)
 
const clang::DeclContext * GetEnclosingSpace (const clang::RecordDecl &cl)
 
static clang::SourceLocation getFinalSpellingLoc (clang::SourceManager &sourceManager, clang::SourceLocation sourceLoc)
 
static bool areEqualTypes (const clang::TemplateArgument &tArg, llvm::SmallVectorImpl< clang::TemplateArgument > &preceedingTArgs, const clang::NamedDecl &tPar, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
 
static bool areEqualValues (const clang::TemplateArgument &tArg, const clang::NamedDecl &tPar)
 std::cout << "Are equal values?\n"; More...
 
static bool isTypeWithDefault (const clang::NamedDecl *nDecl)
 Check if this NamedDecl is a template parameter with a default argument. More...
 
static void KeepNParams (clang::QualType &normalizedType, const clang::QualType &vanillaType, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
 This function allows to manipulate the number of arguments in the type of a template specialisation. More...
 
int dumpDeclForAssert (const clang::Decl &D, const char *commentStart)
 
static bool hasSomeTypedefSomewhere (const clang::Type *T)
 
static void replaceEnvVars (const char *varname, std::string &txt)
 Reimplementation of TSystem::ExpandPathName() that cannot be used from TMetaUtils. More...
 
static int TreatSingleTemplateArg (const clang::TemplateArgument &arg, std::string &argFwdDecl, const cling::Interpreter &interpreter, bool acceptStl=false)
 

Variables

static unsigned int gNumberOfWarningsAndErrors = 0
 

Typedef Documentation

§ TNCtxtFullQual

using TNCtxtFullQual = ROOT::TMetaUtils::TNormalizedCtxtImpl

Definition at line 680 of file TMetaUtils.cxx.

Function Documentation

§ areEqualTypes()

static bool areEqualTypes ( const clang::TemplateArgument &  tArg,
llvm::SmallVectorImpl< clang::TemplateArgument > &  preceedingTArgs,
const clang::NamedDecl &  tPar,
const cling::Interpreter &  interp,
const ROOT::TMetaUtils::TNormalizedCtxt normCtxt 
)
static

Definition at line 3484 of file TMetaUtils.cxx.

Referenced by KeepNParams().

§ areEqualValues()

static bool areEqualValues ( const clang::TemplateArgument &  tArg,
const clang::NamedDecl &  tPar 
)
static

std::cout << "Are equal values?\n";

Definition at line 3585 of file TMetaUtils.cxx.

Referenced by KeepNParams().

§ dumpDeclForAssert()

int dumpDeclForAssert ( const clang::Decl &  D,
const char *  commentStart 
)

Definition at line 3995 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::GetComment().

§ GetEnclosingSpace()

const clang::DeclContext* GetEnclosingSpace ( const clang::RecordDecl &  cl)

Definition at line 2124 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::WriteNamespaceHeader().

§ getFinalSpellingLoc()

static clang::SourceLocation getFinalSpellingLoc ( clang::SourceManager &  sourceManager,
clang::SourceLocation  sourceLoc 
)
static

Definition at line 3233 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::GetFileName().

§ GetMethodWithProto()

const clang::CXXMethodDecl* GetMethodWithProto ( const clang::Decl *  cinfo,
const char *  method,
const char *  proto,
const cling::Interpreter &  interp,
bool  diagnose 
)

§ hasSomeTypedefSomewhere()

static bool hasSomeTypedefSomewhere ( const clang::Type *  T)
static

Definition at line 4312 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::ReSubstTemplateArg().

§ IsTemplate()

bool IsTemplate ( const clang::Decl &  cl)
inline

Definition at line 687 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::WriteClassInit().

§ isTypeWithDefault()

static bool isTypeWithDefault ( const clang::NamedDecl *  nDecl)
static

Check if this NamedDecl is a template parameter with a default argument.

This is a single interface to treat both integral and type parameters. Returns true if this is the case, false otherwise

Definition at line 3614 of file TMetaUtils.cxx.

Referenced by KeepNParams().

§ KeepNParams()

static void KeepNParams ( clang::QualType &  normalizedType,
const clang::QualType &  vanillaType,
const cling::Interpreter &  interp,
const ROOT::TMetaUtils::TNormalizedCtxt normCtxt 
)
static

This function allows to manipulate the number of arguments in the type of a template specialisation.

Definition at line 3630 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::GetNormalizedType().

§ replaceEnvVars()

static void replaceEnvVars ( const char *  varname,
std::string &  txt 
)
static

Reimplementation of TSystem::ExpandPathName() that cannot be used from TMetaUtils.

Definition at line 4781 of file TMetaUtils.cxx.

Referenced by ROOT::TMetaUtils::SetPathsForRelocatability().

§ TreatSingleTemplateArg()

static int TreatSingleTemplateArg ( const clang::TemplateArgument &  arg,
std::string &  argFwdDecl,
const cling::Interpreter &  interpreter,
bool  acceptStl = false 
)
static

Variable Documentation

§ gNumberOfWarningsAndErrors

unsigned int gNumberOfWarningsAndErrors = 0
static