Home | History | Annotate | Download | only in Sema

Lines Matching full:sema

24 #include "clang/Sema/DeclSpec.h"
25 #include "clang/Sema/Lookup.h"
26 #include "clang/Sema/ParsedTemplate.h"
27 #include "clang/Sema/Scope.h"
28 #include "clang/Sema/SemaInternal.h"
29 #include "clang/Sema/Template.h"
30 #include "clang/Sema/TemplateDeduction.h"
35 using namespace sema;
88 void Sema::FilterAcceptableTemplateNames(LookupResult &R,
126 bool Sema::hasAnyAcceptableTemplateNames(LookupResult &R,
135 TemplateNameKind Sema::isTemplateName(Scope *S,
221 bool Sema::DiagnoseUnknownTemplateName(const IdentifierInfo &II,
246 void Sema::LookupTemplateName(LookupResult &Found,
408 Sema::ActOnDependentIdExpression(const CXXScopeSpec &SS,
434 Sema::BuildDependentDeclRefExpr(const CXXScopeSpec &SS,
447 void Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) {
466 TemplateDecl *Sema::AdjustDeclIfTemplate(Decl *&D) {
485 static TemplateArgumentLoc translateTemplateArgument(Sema &SemaRef,
522 void Sema::translateTemplateArguments(const ASTTemplateArgsPtr &TemplateArgsIn,
529 static void maybeDiagnoseTemplateParameterShadow(Sema &SemaRef, Scope *S,
533 S, Name, Loc, Sema::LookupOrdinaryName, Sema::ForRedeclaration);
547 Decl *Sema::ActOnTypeParameter(Scope *S, bool Typename,
618 Sema::CheckNonTypeTemplateParameterType(QualType T, SourceLocation Loc) {
668 Decl *Sema::ActOnNonTypeTemplateParameter(Scope *S, Declarator &D,
739 Decl *Sema::ActOnTemplateTemplateParameter(Scope* S,
815 Sema::ActOnTemplateParameterList(unsigned Depth,
835 Sema::CheckClassTemplate(Scope *S, unsigned TagSpec, TagUseKind TUK,
1148 static bool DiagnoseDefaultTemplateArgument(Sema &S,
1149 Sema::TemplateParamListContext TPC,
1153 case Sema::TPC_ClassTemplate:
1154 case Sema::TPC_VarTemplate:
1155 case Sema::TPC_TypeAliasTemplate:
1158 case Sema::TPC_FunctionTemplate:
1159 case Sema::TPC_FriendFunctionTemplateDefinition:
1174 case Sema::TPC_ClassTemplateMember:
1183 case Sema::TPC_FriendClassTemplate:
1184 case Sema::TPC_FriendFunctionTemplate:
1202 static bool DiagnoseUnexpandedParameterPacks(Sema &S,
1216 Sema::UPPC_NonTypeTemplateParameterType))
1253 bool Sema::CheckTemplateParameterList(TemplateParameterList *NewParams,
1611 TemplateParameterList *Sema::MatchTemplateParametersToScopeSpecifier(
1967 void Sema::NoteAllFoundTemplates(TemplateName Name) {
1992 QualType Sema::CheckTemplateIdType(TemplateName Name,
2155 Sema::ActOnTemplateIdType(CXXScopeSpec &SS, SourceLocation TemplateKWLoc,
2221 TypeResult Sema::ActOnTagTemplateIdType(TagUseKind TUK,
2314 Sema &S, SourceLocation NameLoc, TemplateParameterList *TemplateParams,
2317 static bool CheckTemplateSpecializationScope(Sema &S, NamedDecl *Specialized,
2389 makeTemplateArgumentListInfo(Sema &S, TemplateIdAnnotation &TemplateId) {
2398 DeclResult Sema::ActOnVarTemplateSpecialization(
2652 Sema::CheckVarTemplateId(VarTemplateDecl *Template, SourceLocation TemplateLoc,
2803 Sema::CheckVarTemplateId(const CXXScopeSpec &SS,
2823 ExprResult Sema::BuildTemplateIdExpr(const CXXScopeSpec &SS,
2868 Sema::BuildQualifiedTemplateIdExpr(CXXScopeSpec &SS,
2912 TemplateNameKind Sema::ActOnDependentTemplateName(Scope *S,
2998 bool Sema::CheckTemplateTypeArgument(TemplateTypeParmDecl *Param,
3137 SubstDefaultTemplateArgument(Sema &SemaRef,
3148 Sema::InstantiatingTemplate Inst(SemaRef, TemplateLoc,
3163 Sema
3195 SubstDefaultTemplateArgument(Sema &SemaRef,
3201 Sema::InstantiatingTemplate Inst(SemaRef, TemplateLoc,
3216 Sema::ContextRAII SavedContext(SemaRef, Template->getDeclContext());
3217 EnterExpressionEvaluationContext Unevaluated(SemaRef, Sema::Unevaluated);
3247 SubstDefaultTemplateArgument(Sema &SemaRef,
3254 Sema::InstantiatingTemplate Inst(SemaRef, TemplateLoc, Template, Converted,
3268 Sema::ContextRAII SavedContext(SemaRef, Template->getDeclContext());
3289 Sema::SubstDefaultTemplateArgumentIfAvailable(TemplateDecl *Template,
3379 bool Sema::CheckTemplateArgument(NamedDecl *Param,
3588 static bool diagnoseArityMismatch(Sema &S, TemplateDecl *Template,
3639 bool Sema::CheckTemplateArgumentList(TemplateDecl *Template,
3903 Sema &S;
3909 UnnamedLocalNoLinkageFinder(Sema &S, SourceRange SR) : S(S), SR(SR) { }
4142 bool Sema::CheckTemplateArgument(TemplateTypeParmDecl *Param,
4188 isNullPointerValueTemplateArgument(Sema &S, NonTypeTemplateParmDecl *Param,
4274 Sema &S, NonTypeTemplateParmDecl *Param, QualType ParamType, Expr *ArgIn,
4331 CheckTemplateArgumentAddressOfObjectOrFunction(Sema &S,
4623 static bool CheckTemplateArgumentPointerToMember(Sema &S,
4760 ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param,
4874 void diagnoseNotICE(Sema &S, SourceLocation Loc,
5113 bool Sema::CheckTemplateArgument(TemplateTemplateParmDecl *Param,
5162 Sema::BuildExpressionFromDeclTemplateArgument(const TemplateArgument &Arg,
5287 Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument &Arg,
5338 static bool MatchTemplateParameterKind(Sema &S, NamedDecl *New, NamedDecl *Old,
5340 Sema::TemplateParameterListEqualKind Kind,
5351 << (Kind != Sema::TPL_TemplateMatch);
5353 << (Kind != Sema::TPL_TemplateMatch);
5364 !(Kind == Sema::TPL_TemplateTemplateArgumentMatch &&
5395 if (Kind == Sema::TPL_TemplateTemplateArgumentMatch &&
5410 << (Kind != Sema::TPL_TemplateMatch);
5431 (Kind == Sema::TPL_TemplateMatch
5432 ? Sema::TPL_TemplateTemplateParmMatch
5443 void DiagnoseTemplateParameterListArityMismatch(Sema &S,
5446 Sema::TemplateParameterListEqualKind Kind,
5455 << (Kind != Sema::TPL_TemplateMatch)
5458 << (Kind != Sema::TPL_TemplateMatch)
5486 Sema::TemplateParameterListsAreEqual(TemplateParameterList *New,
5559 Sema::CheckTemplateDeclScope(Scope *S, TemplateParameterList *TemplateParams) {
5641 static bool CheckTemplateSpecializationScope(Sema &S,
5808 /// \brief Subroutine of Sema::CheckTemplatePartialSpecializationArgs
5811 Sema &S, SourceLocation TemplateNameLoc, NonTypeTemplateParmDecl *Param,
5911 Sema &S, SourceLocation TemplateNameLoc,
5931 Sema::ActOnClassTemplateSpecialization(Scope *S, unsigned TagSpec,
6317 Decl *Sema::ActOnTemplateDeclarator(Scope *S,
6325 Decl *Sema::ActOnStartOfFunctionTemplateDef(Scope *FnBodyScope,
6396 Sema::CheckSpecializationInstantiationRedecl(SourceLocation NewLoc,
6578 Sema::CheckDependentFunctionTemplateSpecialization(FunctionDecl *FD,
6620 bool Sema::CheckFunctionTemplateSpecialization(
6784 Sema::CheckMemberSpecialization(NamedDecl *Member, LookupResult &Previous) {
6960 static bool CheckExplicitInstantiationScope(Sema &S, NamedDecl *D,
7034 Sema::ActOnExplicitInstantiation(Scope *S,
7232 Sema::ActOnExplicitInstantiation(Scope *S,
7244 Decl *TagD = ActOnTag(S, TagSpec, Sema::TUK_Reference,
7354 DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
7690 Sema::ActOnDependentTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
7722 Sema::ActOnTypenameType(Scope *S, SourceLocation TypenameLoc,
7758 Sema::ActOnTypenameType(Scope *S,
7867 Sema::CheckTypenameType(ElaboratedTypeKeyword Keyword,
7971 // See Sema::RebuildTypeInCurrentInstantiation
7980 CurrentInstantiationRebuilder(Sema &SemaRef,
8042 TypeSourceInfo *Sema::RebuildTypeInCurrentInstantiation(TypeSourceInfo *T,
8052 ExprResult Sema::RebuildExprInCurrentInstantiation(Expr *E) {
8058 bool Sema::RebuildNestedNameSpecifierInCurrentInstantiation(CXXScopeSpec &SS) {
8076 bool Sema::RebuildTemplateParamsInCurrentInstantiation(
8116 Sema::getTemplateArgumentBindingsText(const TemplateParameterList *Params,
8122 Sema::getTemplateArgumentBindingsText(const TemplateParameterList *Params,
8154 void Sema::MarkAsLateParsedTemplate(FunctionDecl *FD, Decl *FnD,
8169 void Sema::UnmarkAsLateParsedTemplate(FunctionDecl *FD) {
8175 bool Sema::IsInsideALocalClassWithinATemplateFunction() {