Lines Matching full:sema
1 //===--- Sema.cpp - AST Builder and Semantic Analysis Implementation ------===//
15 #include "clang/Sema/SemaInternal.h"
30 #include "clang/Sema/CXXFieldCollector.h"
31 #include "clang/Sema/DelayedDiagnostic.h"
32 #include "clang/Sema/ExternalSemaSource.h"
33 #include "clang/Sema/MultiplexExternalSemaSource.h"
34 #include "clang/Sema/ObjCMethodList.h"
35 #include "clang/Sema/PrettyDeclStackTrace.h"
36 #include "clang/Sema/Scope.h"
37 #include "clang/Sema/ScopeInfo.h"
38 #include "clang/Sema/SemaConsumer.h"
39 #include "clang/Sema/TemplateDeduction.h"
45 using namespace sema;
47 SourceLocation Sema::getLocForEndOfToken(SourceLocation Loc, unsigned Offset) {
51 ModuleLoader &Sema::getModuleLoader() const { return PP.getModuleLoader(); }
53 PrintingPolicy Sema::getPrintingPolicy(const ASTContext &Context,
69 void Sema::ActOnTranslationUnitScope(Scope *S) {
76 Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer,
135 void Sema::addImplicitTypedef(StringRef Name, QualType T) {
141 void Sema::Initialize() {
142 // Tell the AST consumer about this Sema object.
149 // Tell the external Sema source about this Sema object.
219 Sema::~Sema() {
233 // Detach from the external Sema source.
238 // If Sema's ExternalSource is the multiplexer - we own it.
250 bool Sema::makeUnavailableInSystemHeader(SourceLocation loc,
271 ASTMutationListener *Sema::getASTMutationListener() const {
278 ///\param[in] E - A non-null external sema source.
280 void Sema::addExternalSource(ExternalSemaSource *E) {
297 void Sema::PrintStats() const {
308 ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
359 CastKind Sema::ScalarTypeToBooleanCastKind(QualType ScalarTy) {
374 /// \brief Used to prune the decls of Sema's UnusedFileScopedDecls vector.
375 static bool ShouldRemoveFromUnused(Sema *SemaRef, const DeclaratorDecl *D) {
423 void Sema::getUndefinedButUsed(
471 static void checkUndefinedButUsed(Sema &S) {
503 void Sema::LoadExternalWeakUndeclaredIdentifiers() {
597 void Sema::ActOnEndOfTranslationUnit() {
854 DeclContext *Sema::getFunctionLevelDeclContext() {
874 FunctionDecl *Sema::getCurFunctionDecl() {
879 ObjCMethodDecl *Sema::getCurMethodDecl() {
886 NamedDecl *Sema::getCurFunctionOrMethodDecl() {
893 void Sema::EmitCurrentDiagnostic(unsigned DiagID) {
953 // The last diagnostic which Sema produced was ignored. Suppress any
995 Sema::SemaDiagnosticBuilder
996 Sema::Diag(SourceLocation Loc, const PartialDiagnostic& PD) {
1007 bool Sema::findMacroSpelling(SourceLocation &locref, StringRef name) {
1035 Scope *Sema::getScopeForContext(DeclContext *Ctx) {
1054 void Sema::PushFunctionScope() {
1066 void Sema::PushBlockScope(Scope *BlockScope, BlockDecl *Block) {
1071 LambdaScopeInfo *Sema::PushLambdaScope() {
1077 void Sema::RecordParsingTemplateParameterDepth(unsigned Depth) {
1086 void Sema::PopFunctionScopeInfo(const AnalysisBasedWarnings::Policy *WP,
1102 void Sema::PushCompoundScope() {
1106 void Sema::PopCompoundScope() {
1115 bool Sema::hasAnyUnrecoverableErrorsInThisFunction() const {
1119 BlockScopeInfo *Sema::getCurBlock() {
1134 LambdaScopeInfo *Sema::getCurLambda() {
1150 LambdaScopeInfo *Sema::getCurGenericLambda() {
1159 void Sema::ActOnComment(SourceRange Comment) {
1228 bool Sema::tryExprAsCall(Expr &E, QualType &ZeroArgCallReturnTy,
1331 static void noteOverloads(Sema &S, const UnresolvedSetImpl &Overloads,
1354 static void notePlausibleOverloads(Sema &S, SourceLocation Loc,
1383 bool Sema::tryToRecoverWithCall(ExprResult &E, const PartialDiagnostic &PD,
1421 IdentifierInfo *Sema::getSuperIdentifier() const {
1427 IdentifierInfo *Sema::getFloat128Identifier() const {
1433 void Sema::PushCapturedRegionScope(Scope *S, CapturedDecl *CD, RecordDecl *RD,
1441 CapturedRegionScopeInfo *Sema::getCurCapturedRegion() {