Home | History | Annotate | Download | only in Sema

Lines Matching refs:sema

14 #include "clang/Sema/SemaInternal.h"
30 #include "clang/Lex/HeaderSearch.h" // FIXME: Sema shouldn't depend on Lex
31 #include "clang/Lex/ModuleLoader.h" // FIXME: Sema shouldn't depend on Lex
32 #include "clang/Lex/Preprocessor.h" // FIXME: Sema shouldn't depend on Lex
34 #include "clang/Sema/CXXFieldCollector.h"
35 #include "clang/Sema/DeclSpec.h"
36 #include "clang/Sema/DelayedDiagnostic.h"
37 #include "clang/Sema/Initialization.h"
38 #include "clang/Sema/Lookup.h"
39 #include "clang/Sema/ParsedTemplate.h"
40 #include "clang/Sema/Scope.h"
41 #include "clang/Sema/ScopeInfo.h"
48 using namespace sema;
50 Sema::DeclGroupPtrTy Sema::ConvertDeclToDeclGroup(Decl *Ptr, Decl *OwnedType) {
86 bool Sema::isSimpleTypeSpecifier(tok::TokenKind Kind) const {
132 ParsedType Sema::getTypeName(IdentifierInfo &II, SourceLocation NameLoc,
354 DeclSpec::TST Sema::isTagName(IdentifierInfo &II, Scope *S) {
387 bool Sema::isMicrosoftMissingTypename(const CXXScopeSpec *SS, Scope *S) {
401 bool Sema::DiagnoseUnknownTypeName(IdentifierInfo *&II,
517 static bool isTagTypeWithMissingTag(Sema &SemaRef, LookupResult &Result,
521 LookupResult R(SemaRef, Name, NameLoc, Sema::LookupTagName);
563 Result.clear(Sema::LookupTagName);
572 static ParsedType buildNestedType(Sema &S, CXXScopeSpec &SS,
586 Sema::NameClassification Sema::ClassifyName(Scope *S,
885 DeclContext *Sema::getContainingDC(DeclContext *DC) {
912 void Sema::PushDeclContext(Scope *S, DeclContext *DC) {
919 void Sema::PopDeclContext() {
929 void Sema::EnterDeclaratorContext(Scope *S, DeclContext *DC) {
958 void Sema::ExitDeclaratorContext(Scope *S) {
972 void Sema::ActOnReenterFunctionContext(Scope* S, Decl *D) {
1000 void Sema::ActOnExitFunctionContext() {
1031 void Sema::PushOnScopeChains(NamedDecl *D, Scope *S, bool AddToContext) {
1092 void Sema::pushExternalDeclIntoScope(NamedDecl *D, DeclarationName Name) {
1097 bool Sema::isDeclInScope(NamedDecl *&D, DeclContext *Ctx, Scope *S,
1103 Scope *Sema::getScopeForDeclContext(Scope *S, DeclContext *DC) {
1120 void Sema::FilterLookupForScope(LookupResult &R,
1189 bool Sema::mightHaveNonExternalLinkage(const DeclaratorDecl *D) {
1202 bool Sema::ShouldWarnIfUnusedFileScopedDecl(const DeclaratorDecl *D) const {
1254 void Sema::MarkUnusedFileScopedDecl(const DeclaratorDecl *D) {
1350 void Sema::DiagnoseUnusedDecl(const NamedDecl *D) {
1368 static void CheckPoppedLabel(LabelDecl *L, Sema &S) {
1376 void Sema::ActOnPopScope(SourceLocation Loc, Scope *S) {
1404 void Sema::ActOnStartFunctionDeclarator() {
1408 void Sema::ActOnEndFunctionDeclarator() {
1426 ObjCInterfaceDecl *Sema::getObjCInterfaceDecl(IdentifierInfo *&Id,
1480 Scope *Sema::getNonFieldDeclScope(Scope *S) {
1493 static void LookupPredefedObjCSuperType(Sema &ThisSema, Scope *S,
1500 SourceLocation(), Sema::LookupTagName);
1511 NamedDecl *Sema::LazilyCreateBuiltin(IdentifierInfo *II, unsigned bid,
1627 bool Sema::isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New) {
1666 void Sema::MergeTypedefNameDecl(TypedefNameDecl *New, LookupResult &OldDecls) {
1859 static bool mergeAlignedAttrs(Sema &S, NamedDecl *New, Decl *Old) {
1970 static bool mergeDeclAttribute(Sema &S, NamedDecl *D, InheritableAttr *Attr,
2040 static void checkNewAttributesAfterDef(Sema &S, Decl *New, const Decl *Old) {
2089 void Sema::mergeDeclAttributes(NamedDecl *New, Decl *Old,
2142 Sema &S) {
2198 Sema::CXXSpecialMember Sema::getSpecialMember(const CXXMethodDecl *MD) {
2201 return Sema::CXXDefaultConstructor;
2204 return Sema::CXXCopyConstructor;
2207 return Sema::CXXMoveConstructor;
2209 return Sema::CXXDestructor;
2211 return Sema::CXXCopyAssignment;
2213 return Sema::CXXMoveAssignment;
2216 return Sema::CXXInvalid;
2232 static bool isABIDefaultCC(Sema &S, CallingConv CC, FunctionDecl *D) {
2270 bool Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD, Scope *S) {
2714 bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
2752 void Sema::mergeObjCMethodDecls(ObjCMethodDecl *newMethod,
2776 void Sema::MergeVarDeclTypes(VarDecl *New, VarDecl *Old) {
2834 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) {
2981 Decl *Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS,
2989 Decl *Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS,
3210 static bool CheckAnonMemberRedeclaration(Sema &SemaRef,
3216 LookupResult R(SemaRef, Name, NameLoc, Sema::LookupMemberName,
3217 Sema::ForRedeclaration);
3252 static bool InjectAnonymousStructOrUnionMembers(Sema &SemaRef, Scope *S,
3360 Decl *Sema::BuildAnonymousStructOrUnion(Scope *S, DeclSpec &DS,
3607 Decl *Sema::BuildMicrosoftCAnonymousStruct(Scope *S, DeclSpec &DS,
3651 DeclarationNameInfo Sema::GetNameForDeclarator(Declarator &D) {
3657 Sema::GetNameFromUnqualifiedId(const UnqualifiedId &Name) {
3809 static bool RebuildDeclaratorInCurrentInstantiation(Sema &S, Declarator &D,
3878 Decl *Sema::ActOnDeclarator(Scope *S, Declarator &D) {
3896 bool Sema::DiagnoseClassNameShadow(DeclContext *DC,
3922 bool Sema::diagnoseQualifiedDeclaration(CXXScopeSpec &SS, DeclContext *DC,
4003 NamedDecl *Sema::HandleDeclarator(Scope *S, Declarator &D,
4323 Sema::RegisterLocallyScopedExternCDecl(NamedDecl *ND,
4361 Sema::findLocallyScopedExternCDecl(DeclarationName Name) {
4379 void Sema::DiagnoseFunctionSpecifiers(const DeclSpec &DS) {
4400 Sema::ActOnTypedefDeclarator(Scope* S, Declarator& D, DeclContext* DC,
4441 Sema::CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *NewTD) {
4482 Sema::ActOnTypedefNameDecl(Scope *S, DeclContext *DC, TypedefNameDecl *NewTD,
4575 bool Sema::inferObjCARCLifetime(ValueDecl *decl) {
4619 static void checkAttributesAfterMerging(Sema &S, NamedDecl &ND) {
4656 Sema::ActOnVariableDeclarator(Scope *S, Declarator &D, DeclContext *DC,
4988 void Sema::CheckShadow(Scope *S, VarDecl *D, const LookupResult& R) {
5063 void Sema::CheckShadow(Scope *S, VarDecl *D) {
5069 Sema::LookupOrdinaryName, Sema::ForRedeclaration);
5112 bool Sema::CheckVariableDeclaration(VarDecl *NewVD,
5249 Sema *S;
5297 static void ReportOverrides(Sema& S, unsigned DiagID, const CXXMethodDecl *MD,
5315 bool Sema::AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD) {
5353 // DiagnoseInvalidRedeclaration to call Sema::ActOnFunctionDeclarator.
5416 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD,
5422 Sema::LookupOrdinaryName, Sema::ForRedeclaration);
5456 Sema::SFINAETrap Trap(SemaRef);
5554 static FunctionDecl::StorageClass getFunctionStorageClass(Sema &SemaRef,
5587 static FunctionDecl* CreateNewFunctionDecl(Sema &SemaRef, Declarator &D,
5746 void Sema::checkVoidParamDecl(ParmVarDecl *Param) {
5763 Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC,
6123 // We let through "const void" here because Sema::GetTypeForDeclarator
6590 bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD,
6854 void Sema::CheckMain(FunctionDecl* FD, const DeclSpec& DS) {
6985 bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
7006 Sema &S;
7015 SelfReferenceChecker(Sema &S, Decl *OrigDecl) : Inherited(S.Context),
7134 static void CheckSelfReference(Sema &S, Decl* OrigDecl, Expr *E,
7159 void Sema::AddInitializerToDecl(Decl *RealDecl, Expr *Init,
7590 void Sema::ActOnInitializerError(Decl *D) {
7627 void Sema::ActOnUninitializedDecl(Decl *RealDecl,
7829 void Sema::ActOnCXXForRangeDecl(Decl *D) {
7871 void Sema::CheckCompleteVariableDeclaration(VarDecl *var) {
7979 Sema::FinalizeDeclaration(Decl *ThisDecl) {
8032 Sema::DeclGroupPtrTy
8033 Sema::FinalizeDeclaratorGroup(Scope *S, const DeclSpec &DS,
8054 Sema::DeclGroupPtrTy
8055 Sema::BuildDeclaratorGroup(Decl **Group, unsigned NumDecls,
8101 void Sema::ActOnDocumentableDecl(Decl *D) {
8105 void Sema::ActOnDocumentableDecls(Decl **Group, unsigned NumDecls) {
8148 Decl *Sema::ActOnParamDeclarator(Scope *S, Declarator &D) {
8265 ParmVarDecl *Sema::BuildParmVarDeclForTypedef(DeclContext *DC,
8278 void Sema::DiagnoseUnusedParameters(ParmVarDecl * const *Param,
8294 void Sema::DiagnoseSizeOfParametersAndReturnValue(ParmVarDecl * const *Param,
8323 ParmVarDecl *Sema::CheckParameter(DeclContext *DC, SourceLocation StartLoc,
8341 sema::DelayedDiagnostic::makeForbiddenType(
8388 void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,
8425 Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Declarator &D) {
8486 void Sema::CheckForFunctionRedefinition(FunctionDecl *FD) {
8503 Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D) {
8671 void Sema::computeNRVO(Stmt *Body, FunctionScopeInfo *Scope) {
8689 bool Sema::canSkipFunctionBody(Decl *D) {
8708 Decl *Sema::ActOnSkippedFunctionBody(Decl *Decl) {
8716 Decl *Sema::ActOnFinishFunctionBody(Decl *D, Stmt *BodyArg) {
8720 Decl *Sema::ActOnFinishFunctionBody(Decl *dcl, Stmt *Body,
8729 sema::AnalysisBasedWarnings::Policy WP = AnalysisWarnings.getDefaultPolicy();
8730 sema::AnalysisBasedWarnings::Policy *ActivePolicy = 0;
8866 void Sema::ActOnFinishDelayedAttribute(Scope *S, Decl *D,
8881 NamedDecl *Sema::ImplicitlyDefineFunction(SourceLocation Loc,
8984 void Sema::AddKnownFunctionAttributes(FunctionDecl *FD) {
9062 TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
9135 bool Sema::CheckEnumUnderlyingType(TypeSourceInfo *TI) {
9152 bool Sema::CheckEnumRedeclaration(SourceLocation EnumLoc, bool IsScoped,
9211 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous,
9306 Decl *Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
9489 // in Sema::LookupName; is there a better way to deal with this?
10022 void Sema::ActOnTagStartDefinition(Scope *S, Decl *TagD) {
10036 Decl *Sema::ActOnObjCContainerStartDefinition(Decl *IDecl) {
10046 void Sema::ActOnStartCXXMemberDeclarations(Scope *S, Decl *TagD,
10081 void Sema::ActOnTagFinishDefinition(Scope *S, Decl *TagD,
10108 void Sema::ActOnObjCContainerFinishDefinition() {
10113 void Sema::ActOnObjCTemporaryExitContainerContext(DeclContext *DC) {
10119 void Sema::ActOnObjCReenterContainerContext(DeclContext *DC) {
10124 void Sema::ActOnTagDefinitionError(Scope *S, Decl *TagD) {
10143 ExprResult Sema::VerifyBitField(SourceLocation FieldLoc,
10220 Decl *Sema::ActOnField(Scope *S, Decl *TagD, SourceLocation DeclStart,
10230 FieldDecl *Sema::HandleField(Scope *S, RecordDecl *Record,
10335 FieldDecl *Sema::CheckFieldDecl(DeclarationName Name, QualType T,
10495 bool Sema::CheckNontrivialField(FieldDecl *FD) {
10570 Decl *Sema::ActOnIvar(Scope *S,
10684 void Sema::ActOnLastBitfield(SourceLocation DeclLoc,
10718 void Sema::ActOnFields(Scope* S,
11111 EnumConstantDecl *Sema::CheckEnumConstant(EnumDecl *Enum,
11283 Decl *Sema::ActOnEnumConstant(Scope *S, Decl *theEnumDecl, Decl *lastEnumConst,
11416 static void CheckForDuplicateEnumValues(Sema &S, Decl **Elements,
11526 void Sema::ActOnEnumBody(SourceLocation EnumLoc, SourceLocation LBraceLoc,
11756 Decl *Sema::ActOnFileScopeAsmDecl(Expr *expr,
11768 DeclResult Sema::ActOnModuleImport(SourceLocation AtLoc,
11797 void Sema::createImplicitModuleImport(SourceLocation Loc, Module *Mod) {
11809 void Sema::ActOnPragmaRedefineExtname(IdentifierInfo* Name,
11826 void Sema::ActOnPragmaWeakID(IdentifierInfo* Name,
11840 void Sema::ActOnPragmaWeakAlias(IdentifierInfo* Name,
11859 Decl *Sema::getObjCDeclContext() const {
11863 AvailabilityResult Sema::getCurContextAvailability() const {