Searched refs:SemaRef (Results 1 - 23 of 23) sorted by relevance

/external/clang/lib/Sema/
H A DSemaTemplateInstantiateDecl.cpp34 = SemaRef.SubstNestedNameSpecifierLoc(OldDecl->getQualifierLoc(),
50 = SemaRef.SubstNestedNameSpecifierLoc(OldDecl->getQualifierLoc(),
117 LabelDecl *Inst = LabelDecl::Create(SemaRef.Context, Owner, D->getLocation(),
131 = NamespaceAliasDecl::Create(SemaRef.Context, Owner,
148 DI = SemaRef.SubstType(DI, TemplateArgs,
152 DI = SemaRef.Context.getTrivialTypeSourceInfo(SemaRef.Context.IntTy);
155 SemaRef.MarkDeclarationsReferencedInType(D->getLocation(), DI->getType());
161 Typedef = TypeAliasDecl::Create(SemaRef.Context, Owner, D->getLocStart(),
164 Typedef = TypedefDecl::Create(SemaRef
2251 InstantiateExceptionSpec(Sema &SemaRef, FunctionDecl *New, const FunctionProtoType *Proto, const MultiLevelTemplateArgumentList &TemplateArgs) argument
[all...]
H A DSemaTemplateInstantiate.cpp172 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, argument
175 : SemaRef(SemaRef),
177 SemaRef.InNonInstantiationSFINAEContext)
189 SemaRef.InNonInstantiationSFINAEContext = false;
190 SemaRef.ActiveTemplateInstantiations.push_back(Inst);
195 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, argument
198 : SemaRef(SemaRef),
200 SemaRef
217 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, SourceRange InstantiationRange) argument
243 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, FunctionTemplateDecl *FunctionTemplate, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, ActiveTemplateInstantiation::InstantiationKind Kind, sema::TemplateDeductionInfo &DeductionInfo, SourceRange InstantiationRange) argument
274 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, ClassTemplatePartialSpecializationDecl *PartialSpec, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, sema::TemplateDeductionInfo &DeductionInfo, SourceRange InstantiationRange) argument
302 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, ParmVarDecl *Param, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, SourceRange InstantiationRange) argument
329 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template, NonTypeTemplateParmDecl *Param, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, SourceRange InstantiationRange) argument
357 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template, TemplateTemplateParmDecl *Param, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, SourceRange InstantiationRange) argument
384 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template, NamedDecl *Param, const TemplateArgument *TemplateArgs, unsigned NumTemplateArgs, SourceRange InstantiationRange) argument
692 TemplateInstantiator(Sema &SemaRef, const MultiLevelTemplateArgumentList &TemplateArgs, SourceLocation Loc, DeclarationName Entity) argument
[all...]
H A DTreeTransform.h113 Sema &SemaRef; member in class:clang::TreeTransform
122 TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { } argument
137 Sema &getSema() const { return SemaRef; }
516 return SemaRef.Context.getTrivialTypeSourceInfo(T,
719 return SemaRef.Context.getTypeDeclType(Typedef);
724 return SemaRef.Context.getTypeDeclType(Record);
729 return SemaRef.Context.getTypeDeclType(Enum);
758 return SemaRef
[all...]
H A DSemaInit.cpp172 Sema &SemaRef; member in class:__anon3312::InitListChecker
283 InitializationSequence InitSeq(SemaRef, Entity, Kind, 0, 0);
305 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized)
308 SemaRef.Diag(Field->getLocation(),
316 InitializationSequence InitSeq(SemaRef, MemberEntity, Kind, 0, 0);
318 InitSeq.Diagnose(SemaRef, MemberEntity, Kind, 0, 0);
324 = InitSeq.Perform(SemaRef, MemberEntity, Kind, MultiExprArg());
339 ILE->updateInit(SemaRef.Context, Init, MemberInit.takeAs<Expr>());
355 assert((ILE->getType() != SemaRef.Context.VoidTy) &&
398 if (const ArrayType *AType = SemaRef
1482 ExpandAnonymousFieldDesignator(Sema &SemaRef, DesignatedInitExpr *DIE, unsigned DesigIdx, IndirectFieldDecl *IndirectField) argument
1525 CloneDesignatedInitExpr(Sema &SemaRef, DesignatedInitExpr *DIE) argument
[all...]
H A DSemaExprMember.cpp28 static bool IsProvablyNotDerivedFrom(Sema &SemaRef, argument
40 CanQualType BaseT = SemaRef.Context.getCanonicalType((*I).getType());
45 if (!IsProvablyNotDerivedFrom(SemaRef, BaseRecord, Bases))
97 static IMAKind ClassifyImplicitMemberAccess(Sema &SemaRef, argument
102 DeclContext *DC = SemaRef.getFunctionLevelDeclContext();
104 bool isStaticContext = SemaRef.CXXThisTypeOverride.isNull() &&
134 if (SemaRef.getLangOpts().CPlusPlus0x && isField) {
142 = SemaRef.ExprEvalContexts.back();
180 if (IsProvablyNotDerivedFrom(SemaRef, contextClass, Classes))
189 static void diagnoseInstanceReference(Sema &SemaRef, argument
481 DiagnoseQualifiedMemberReference(Sema &SemaRef, Expr *BaseExpr, QualType BaseType, const CXXScopeSpec &SS, NamedDecl *rep, const DeclarationNameInfo &nameInfo) argument
563 LookupMemberExprInRecord(Sema &SemaRef, LookupResult &R, SourceRange BaseRange, const RecordType *RTy, SourceLocation OpLoc, CXXScopeSpec &SS, bool HasTemplateArgs) argument
809 BuildMemberExpr(Sema &SemaRef, ASTContext &C, Expr *Base, bool isArrow, const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl, const DeclarationNameInfo &MemberNameInfo, QualType Ty, ExprValueKind VK, ExprObjectKind OK, const TemplateArgumentListInfo *TemplateArgs = 0) argument
[all...]
H A DSemaCodeComplete.cpp122 Sema &SemaRef; member in class:__anon3280::ResultBuilder
170 explicit ResultBuilder(Sema &SemaRef, CodeCompletionAllocator &Allocator, argument
174 : SemaRef(SemaRef), Allocator(Allocator), CCTUInfo(CCTUInfo),
188 if (ObjCMethodDecl *Method = SemaRef.getCurMethodDecl())
202 return SemaRef.CodeCompleter &&
203 SemaRef.CodeCompleter->includeCodePatterns();
217 PreferredType = SemaRef.Context.getCanonicalType(T);
254 Sema &getSema() const { return SemaRef; }
518 SemaRef
1456 AddOrdinaryNameResults(Sema::ParserCompletionContext CCC, Scope *S, Sema &SemaRef, ResultBuilder &Results) argument
5238 AddClassMessageCompletions(Sema &SemaRef, Scope *S, ParsedType Receiver, IdentifierInfo **SelIdents, unsigned NumSelIdents, bool AtArgumentExpression, bool IsSuper, ResultBuilder &Results) argument
[all...]
H A DCodeCompleteConsumer.cpp461 PrintingCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &SemaRef, argument
476 = Results[I].CreateCodeCompletionString(SemaRef, getAllocator(),
491 = Results[I].CreateCodeCompletionString(SemaRef, getAllocator(),
509 PrintingCodeCompleteConsumer::ProcessOverloadCandidates(Sema &SemaRef, argument
515 = Candidates[I].CreateSignatureString(CurrentArg, SemaRef,
H A DSemaDeclCXX.cpp660 static bool CheckConstexprParameterTypes(Sema &SemaRef, argument
669 SemaRef.RequireLiteralType(ParamLoc, *i,
670 SemaRef.PDiag(diag::err_constexpr_non_literal_param)
743 static bool CheckConstexprDeclStmt(Sema &SemaRef, const FunctionDecl *Dcl, argument
769 SemaRef.Diag(TL.getBeginLoc(), diag::err_constexpr_vla)
783 SemaRef.Diag(DS->getLocStart(), diag::err_constexpr_type_definition)
790 SemaRef.Diag(DS->getLocStart(), diag::err_constexpr_var_declaration)
795 SemaRef.Diag(DS->getLocStart(), diag::err_constexpr_body_invalid_stmt)
812 static void CheckConstexprCtorInitializer(Sema &SemaRef, argument
826 SemaRef
1693 FindBaseInitializer(Sema &SemaRef, CXXRecordDecl *ClassDecl, QualType BaseType, const CXXBaseSpecifier *&DirectBaseSpec, const CXXBaseSpecifier *&VirtualBaseSpec) argument
2381 CastForMoving(Sema &SemaRef, Expr *E) argument
2402 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, ImplicitInitializerKind ImplicitInitKind, CXXBaseSpecifier *BaseSpec, bool IsInheritedVirtualBase, CXXCtorInitializer *&CXXBaseInit) argument
2487 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, ImplicitInitializerKind ImplicitInitKind, FieldDecl *Field, IndirectFieldDecl *Indirect, CXXCtorInitializer *&CXXMemberInit) argument
2776 CollectFieldInitializer(Sema &SemaRef, BaseAndFieldInfo &Info, FieldDecl *Field, IndirectFieldDecl *Indirect = 0) argument
3043 DiagnoseBaseOrMemInitializerOrder(Sema &SemaRef, const CXXConstructorDecl *Constructor, CXXCtorInitializer **Inits, unsigned NumInits) argument
9240 CheckOperatorNewDeleteDeclarationScope(Sema &SemaRef, const FunctionDecl *FnDecl) argument
9260 CheckOperatorNewDeleteTypes(Sema &SemaRef, const FunctionDecl *FnDecl, CanQualType ExpectedResultType, CanQualType ExpectedFirstParamType, unsigned DependentParamTypeDiag, unsigned InvalidParamTypeDiag) argument
9308 CheckOperatorNewDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) argument
9339 CheckOperatorDeleteDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) argument
[all...]
H A DSemaStmt.cpp1223 static VarDecl *BuildForRangeVarDecl(Sema &SemaRef, SourceLocation Loc, argument
1225 DeclContext *DC = SemaRef.CurContext;
1226 IdentifierInfo *II = &SemaRef.PP.getIdentifierTable().get(Name);
1227 TypeSourceInfo *TInfo = SemaRef.Context.getTrivialTypeSourceInfo(Type, Loc);
1228 VarDecl *Decl = VarDecl::Create(SemaRef.Context, DC, Loc, Loc, II, Type,
1236 static bool FinishForRangeVarDecl(Sema &SemaRef, VarDecl *Decl, Expr *Init, argument
1242 SemaRef.DeduceAutoType(Decl->getTypeSourceInfo(), Init, InitTSI) ==
1244 SemaRef.Diag(Loc, diag) << Init->getType();
1255 if (SemaRef.getLangOpts().ObjCAutoRefCount &&
1256 SemaRef
1270 NoteForRangeBeginEndFunction(Sema &SemaRef, Expr *E, BeginEndFunction BEF) argument
1296 BuildForRangeBeginEndCall(Sema &SemaRef, Scope *S, SourceLocation Loc, VarDecl *Decl, BeginEndFunction BEF, const DeclarationNameInfo &NameInfo, LookupResult &MemberLookup, Expr *Range) argument
[all...]
H A DSemaLookup.cpp287 IDNS = getIDNS(LookupKind, SemaRef.getLangOpts().CPlusPlus,
299 SemaRef.DeclareGlobalNewDelete();
380 QualType T = SemaRef.Context.getTypeDeclType(TD);
381 if (!UniqueTypes.insert(SemaRef.Context.getCanonicalType(T))) {
3183 Sema &SemaRef; member in class:__anon3317::TypoCorrectionConsumer
3186 explicit TypoCorrectionConsumer(Sema &SemaRef, IdentifierInfo *Typo) argument
3188 SemaRef(SemaRef) { }
3264 TypoCorrection TC(&SemaRef.Context.Idents.get(Name), ND, NNS, Distance);
3278 Correction.getAsString(SemaRef
3482 LookupPotentialTypoResult(Sema &SemaRef, LookupResult &Res, IdentifierInfo *Name, Scope *S, CXXScopeSpec *SS, DeclContext *MemberContext, bool EnteringContext, bool isObjCIvarLookup) argument
3533 AddKeywordsToConsumer(Sema &SemaRef, TypoCorrectionConsumer &Consumer, Scope *S, CorrectionCandidateCallback &CCC) argument
[all...]
H A DSemaDecl.cpp2562 static bool CheckAnonMemberRedeclaration(Sema &SemaRef, argument
2568 LookupResult R(SemaRef, Name, NameLoc, Sema::LookupMemberName,
2570 if (!SemaRef.LookupName(R, S)) return false;
2579 if (!SemaRef.isDeclInScope(PrevDecl, Owner, S))
2582 SemaRef.Diag(NameLoc, diagnostic) << Name;
2583 SemaRef.Diag(PrevDecl->getLocation(), diag::note_previous_declaration);
2604 static bool InjectAnonymousStructOrUnionMembers(Sema &SemaRef, Scope *S, argument
2623 if (CheckAnonMemberRedeclaration(SemaRef, S, Owner, VD->getDeclName(),
2646 new (SemaRef.Context)NamedDecl*[Chaining.size()];
2651 IndirectFieldDecl::Create(SemaRef
4553 DiagnoseInvalidRedeclaration( Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, ActOnFDArgs &ExtraArgs) argument
4683 getFunctionStorageClass(Sema &SemaRef, Declarator &D) argument
4716 CreateNewFunctionDecl(Sema &SemaRef, Declarator &D, DeclContext *DC, QualType &R, TypeSourceInfo *TInfo, FunctionDecl::StorageClass SC, bool &IsVirtualOkay) argument
[all...]
H A DSema.cpp313 static bool ShouldRemoveFromUnused(Sema *SemaRef, const DeclaratorDecl *D) { argument
322 return !SemaRef->ShouldWarnIfUnusedFileScopedDecl(DeclToCheck);
328 return !SemaRef->ShouldWarnIfUnusedFileScopedDecl(DeclToCheck);
336 return !SemaRef->ShouldWarnIfUnusedFileScopedDecl(DeclToCheck);
342 return !SemaRef->ShouldWarnIfUnusedFileScopedDecl(DeclToCheck);
H A DSemaType.cpp1774 Sema &SemaRef = state.getSema(); local
1802 T = SemaRef.Context.VoidTy;
1808 T = SemaRef.GetTypeFromParser(D.getName().ConversionFunctionId,
1821 (!SemaRef.getLangOpts().CPlusPlus0x || !D.isFunctionDeclarator())) {
1837 switch (cast<TagDecl>(SemaRef.CurContext)->getTagKind()) {
1886 if (SemaRef.getLangOpts().CPlusPlus0x && Error != -1) {
1902 SemaRef.Diag(D.getDeclSpec().getTypeSpecTypeLoc(),
1905 T = SemaRef.Context.IntTy;
1908 SemaRef.Diag(D.getDeclSpec().getTypeSpecTypeLoc(),
1912 if (SemaRef
[all...]
H A DSemaTemplate.cpp489 static TemplateArgumentLoc translateTemplateArgument(Sema &SemaRef, argument
495 QualType T = SemaRef.GetTypeFromParser(Arg.getAsType(), &DI);
497 DI = SemaRef.Context.getTrivialTypeSourceInfo(T, Arg.getLocation());
515 SemaRef.Context),
2458 /// \param SemaRef the semantic analysis object for which we are performing
2477 SubstDefaultTemplateArgument(Sema &SemaRef, argument
2492 = SemaRef.getTemplateInstantiationArgs(Template, &TemplateArgs);
2494 Sema::InstantiatingTemplate Inst(SemaRef, TemplateLoc,
2499 ArgType = SemaRef.SubstType(ArgType, AllTemplateArgs,
2510 /// \param SemaRef th
2530 SubstDefaultTemplateArgument(Sema &SemaRef, TemplateDecl *Template, SourceLocation TemplateLoc, SourceLocation RAngleLoc, NonTypeTemplateParmDecl *Param, SmallVectorImpl<TemplateArgument> &Converted) argument
2576 SubstDefaultTemplateArgument(Sema &SemaRef, TemplateDecl *Template, SourceLocation TemplateLoc, SourceLocation RAngleLoc, TemplateTemplateParmDecl *Param, SmallVectorImpl<TemplateArgument> &Converted, NestedNameSpecifierLoc &QualifierLoc) argument
6995 CurrentInstantiationRebuilder(Sema &SemaRef, SourceLocation Loc, DeclarationName Entity) argument
[all...]
H A DSemaOverload.cpp6028 Sema &SemaRef; member in class:clang::BuiltinCandidateTypeSet
6041 BuiltinCandidateTypeSet(Sema &SemaRef) argument
6045 SemaRef(SemaRef),
6046 Context(SemaRef.Context) { }
6206 Ty = SemaRef.Context.getArrayDecayedType(Ty);
6242 if (SemaRef.RequireCompleteType(Loc, Ty, 0))
9325 DiagnoseTwoPhaseLookup(Sema &SemaRef, SourceLocation FnLoc, argument
9329 if (SemaRef.ActiveTemplateInstantiations.empty() || !SS.isEmpty())
9332 for (DeclContext *DC = SemaRef
9418 DiagnoseTwoPhaseOperatorLookup(Sema &SemaRef, OverloadedOperatorKind Op, SourceLocation OpLoc, llvm::ArrayRef<Expr *> Args) argument
9434 RecoveryCallCCC(Sema &SemaRef, unsigned NumArgs, bool HasExplicitTemplateArgs) argument
9495 BuildRecoveryCallExpr(Sema &SemaRef, Scope *S, Expr *Fn, UnresolvedLookupExpr *ULE, SourceLocation LParenLoc, llvm::MutableArrayRef<Expr *> Args, SourceLocation RParenLoc, bool EmptyLookup, bool AllowTypoCorrection) argument
[all...]
H A DSemaExpr.cpp9244 static void MakeObjCStringLiteralFixItHint(Sema& SemaRef, QualType DstType, argument
9246 if (!SemaRef.getLangOpts().ObjC1)
9550 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { } argument
9572 SemaRef.ExprEvalContexts.back().Context != Sema::Unevaluated)
9573 return SemaRef.Diag(E->getLocation(),
9681 static bool IsPotentiallyEvaluatedContext(Sema &SemaRef) { argument
9684 if (SemaRef.CurContext->isDependentContext())
9687 switch (SemaRef.ExprEvalContexts.back().Context) {
10317 static void MarkVarDeclODRUsed(Sema &SemaRef, VarDec argument
10378 DoMarkVarDeclReferenced(Sema &SemaRef, SourceLocation Loc, VarDecl *Var, Expr *E) argument
10434 MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, Decl *D, Expr *E) argument
[all...]
H A DSemaTemplateDeduction.cpp3439 SubstituteAutoTransform(Sema &SemaRef, QualType Replacement) : argument
3440 TreeTransform<SubstituteAutoTransform>(SemaRef), Replacement(Replacement) {
/external/clang/include/clang/Sema/
H A DTemplate.h186 Sema &SemaRef;
245 LocalInstantiationScope(Sema &SemaRef, bool CombineWithOuterScope = false)
246 : SemaRef(SemaRef), Outer(SemaRef.CurrentInstantiationScope),
250 SemaRef.CurrentInstantiationScope = this;
257 const Sema &getSema() const { return SemaRef; }
267 SemaRef.CurrentInstantiationScope = Outer;
276 new LocalInstantiationScope(SemaRef, CombineWithOuterScope);
357 Sema &SemaRef;
[all...]
H A DLookup.h129 LookupResult(Sema &SemaRef, const DeclarationNameInfo &NameInfo, argument
135 SemaRef(SemaRef),
149 LookupResult(Sema &SemaRef, DeclarationName Name, argument
155 SemaRef(SemaRef),
173 SemaRef(Other.SemaRef),
522 Sema &getSema() const { return SemaRef; }
594 SemaRef
634 Sema &SemaRef; member in class:clang::LookupResult
[all...]
H A DSema.h800 Sema &SemaRef; member in class:clang::Sema::SemaDiagnosticBuilder
804 SemaDiagnosticBuilder(DiagnosticBuilder &DB, Sema &SemaRef, unsigned DiagID) argument
805 : DiagnosticBuilder(DB), SemaRef(SemaRef), DiagID(DiagID) { }
824 SemaRef.EmitCurrentDiagnostic(DiagID);
5385 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation,
5392 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation,
5398 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation,
5406 InstantiatingTemplate(Sema &SemaRef, SourceLocation PointOfInstantiation,
5417 InstantiatingTemplate(Sema &SemaRef, SourceLocatio
5466 Sema &SemaRef; member in struct:clang::Sema::InstantiatingTemplate
5494 Sema &SemaRef; member in class:clang::Sema::SFINAETrap
5500 SFINAETrap(Sema &SemaRef, bool AccessCheckingSFINAE = false) argument
[all...]
/external/clang/lib/ARCMigrate/
H A DInternals.h144 Sema &SemaRef; member in class:clang::arcmt::MigrationPass
152 SemaRef(sema), TA(TA),
/external/clang/lib/Serialization/
H A DASTWriter.cpp2334 void ASTWriter::WriteSelectors(Sema &SemaRef) { argument
2338 if (SemaRef.MethodPool.empty() && SelectorIDs.empty())
2353 Sema::GlobalMethodPool::iterator F = SemaRef.MethodPool.find(S);
2359 if (F != SemaRef.MethodPool.end()) {
2432 void ASTWriter::WriteReferencedSelectorsPool(Sema &SemaRef) { argument
2434 if (SemaRef.ReferencedSelectors.empty())
2443 SemaRef.ReferencedSelectors.begin(),
2444 E = SemaRef.ReferencedSelectors.end(); S != E; ++S) {
2914 void ASTWriter::WriteOpenCLExtensions(Sema &SemaRef) { argument
2915 if (!SemaRef
3148 WriteAST(Sema &SemaRef, MemorizeStatCalls *StatCalls, const std::string &OutputFile, Module *WritingModule, StringRef isysroot, bool hasErrors) argument
3184 WriteASTCore(Sema &SemaRef, MemorizeStatCalls *StatCalls, StringRef isysroot, const std::string &OutputFile, Module *WritingModule) argument
[all...]
/external/clang/include/clang/Serialization/
H A DASTWriter.h417 void WriteSelectors(Sema &SemaRef);
418 void WriteReferencedSelectorsPool(Sema &SemaRef);
427 void WriteOpenCLExtensions(Sema &SemaRef);
449 void WriteASTCore(Sema &SemaRef, MemorizeStatCalls *StatCalls,
461 /// \param SemaRef a reference to the semantic analysis object that processed
472 void WriteAST(Sema &SemaRef, MemorizeStatCalls *StatCalls,

Completed in 295 milliseconds