ROOT  6.06/09
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

using TNCtxtFullQual = ROOT::TMetaUtils::TNormalizedCtxtImpl

Definition at line 680 of file TMetaUtils.cxx.

Function Documentation

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 3518 of file TMetaUtils.cxx.

Referenced by KeepNParams().

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

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

Definition at line 3619 of file TMetaUtils.cxx.

Referenced by KeepNParams().

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

Definition at line 4052 of file TMetaUtils.cxx.

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

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

Definition at line 2124 of file TMetaUtils.cxx.

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

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

Definition at line 3233 of file TMetaUtils.cxx.

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

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

Definition at line 4369 of file TMetaUtils.cxx.

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

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

Definition at line 687 of file TMetaUtils.cxx.

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

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 3648 of file TMetaUtils.cxx.

Referenced by 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 3664 of file TMetaUtils.cxx.

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

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

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

Definition at line 4838 of file TMetaUtils.cxx.

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

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

Variable Documentation

unsigned int gNumberOfWarningsAndErrors = 0
static