clang 22.0.0git
|
#include "TreeTransform.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTLambda.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DynamicRecursiveASTVisitor.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/PrettyDeclStackTrace.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/TypeVisitor.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/EnterExpressionEvaluationContext.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaConcept.h"
#include "clang/Sema/SemaInternal.h"
#include "clang/Sema/Template.h"
#include "clang/Sema/TemplateDeduction.h"
#include "clang/Sema/TemplateInstCallback.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/TimeProfiler.h"
#include <optional>
Go to the source code of this file.
Namespaces | |
namespace | TemplateInstArgsHelpers |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::sema |
|
static |
Definition at line 897 of file SemaTemplateInstantiate.cpp.
References clang::Sema::Context, clang::ASTContext::getPrintingPolicy(), and clang::Sema::OS.
Referenced by clang::Sema::PrintInstantiationStack().
|
static |
Definition at line 2770 of file SemaTemplateInstantiate.cpp.
References clang::C, clang::Sema::Context, clang::Sema::getDiagnostics(), clang::sema::TemplateDeductionInfo::getLocation(), clang::sema::TemplateDeductionInfo::hasSFINAEDiagnostic(), clang::Sema::OS, and clang::sema::TemplateDeductionInfo::takeSFINAEDiagnostic().
Definition at line 4640 of file SemaTemplateInstantiate.cpp.
Referenced by clang::LocalInstantiationScope::getInstantiationOfIfExists(), clang::LocalInstantiationScope::InstantiatedLocal(), clang::LocalInstantiationScope::InstantiatedLocalPackArg(), and clang::LocalInstantiationScope::MakeInstantiatedLocalArgPack().
|
static |
|
static |
Get the instantiation pattern to use to instantiate the definition of a given ClassTemplateSpecializationDecl (either the pattern of the primary template or of a partial specialization).
Definition at line 4076 of file SemaTemplateInstantiate.cpp.
References clang::TemplateSpecCandidateSet::addCandidate(), clang::Ambiguous, clang::AS_public, clang::TemplateArgumentList::asArray(), clang::Sema::InstantiatingTemplate::Clear(), clang::Sema::Context, clang::Sema::DeduceTemplateArguments(), clang::SemaBase::Diag(), clang::TemplateSpecCandidateSet::getLocation(), clang::Sema::getMoreSpecializedPartialSpecialization(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplate(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), clang::ClassTemplateSpecializationDecl::getTemplateArgs(), clang::Sema::getTemplateArgumentBindingsText(), clang::sema::TemplateDeductionInfo::hasStrictPackMatch(), clang::isa(), clang::Sema::InstantiatingTemplate::isAlreadyInstantiating(), clang::Sema::InstantiatingTemplate::isInvalid(), clang::DeclAccessPair::make(), clang::MakeDeductionFailureInfo(), clang::TemplateSpecCandidate::set(), clang::ClassTemplateSpecializationDecl::setInstantiationOf(), clang::Success, clang::sema::TemplateDeductionInfo::takeCanonical(), and clang::Template.
Referenced by clang::Sema::InstantiateClassTemplateSpecialization().
|
static |
Definition at line 3065 of file SemaTemplateInstantiate.cpp.
References clang::TypeLoc::castAs(), clang::TypeLoc::getAs(), clang::FunctionTypeLoc::getParams(), and clang::T.
Referenced by clang::Sema::SubstFunctionDeclType().
|
static |
Definition at line 3499 of file SemaTemplateInstantiate.cpp.
References clang::Sema::CheckParameterPacksForExpansion(), clang::Sema::collectUnexpandedParameterPacks(), clang::UnexpandedInfo::Ellipsis, clang::UnexpandedInfo::Expand, clang::UnexpandedInfo::ExpandUnderForgetSubstitions, clang::SourceRange::getBegin(), clang::UnexpandedInfo::NumExpansions, clang::UnexpandedInfo::RetainExpansion, and clang::Sema::SubstType().
Referenced by clang::Sema::SubstBaseSpecifiers(), and clang::TreeTransform< Derived >::TransformTemplateArguments().