Lines Matching refs:Self
4837 Sema &Self, SourceLocation KeyLoc, ASTContext &C, in HasNoThrowOperator() argument
4848 LookupResult Res(Self, NameInfo, Sema::LookupOrdinaryName); in HasNoThrowOperator()
4849 if (Self.LookupQualifiedName(Res, RD)) { in HasNoThrowOperator()
4861 CPT = Self.ResolveExceptionSpec(KeyLoc, CPT); in HasNoThrowOperator()
4871 static bool EvaluateUnaryTypeTrait(Sema &Self, TypeTrait UTT, in EvaluateUnaryTypeTrait() argument
4875 ASTContext &C = Self.Context; in EvaluateUnaryTypeTrait()
5100 CXXDestructorDecl *Destructor = Self.LookupDestructor(RD); in EvaluateUnaryTypeTrait()
5112 CPT = Self.ResolveExceptionSpec(KeyLoc, CPT); in EvaluateUnaryTypeTrait()
5154 return HasNoThrowOperator(RT, OO_Equal, Self, KeyLoc, C, in EvaluateUnaryTypeTrait()
5167 return HasNoThrowOperator(RT, OO_Equal, Self, KeyLoc, C, in EvaluateUnaryTypeTrait()
5187 for (const auto *ND : Self.LookupConstructors(RD)) { in EvaluateUnaryTypeTrait()
5200 CPT = Self.ResolveExceptionSpec(KeyLoc, CPT); in EvaluateUnaryTypeTrait()
5227 for (const auto *ND : Self.LookupConstructors(RD)) { in EvaluateUnaryTypeTrait()
5238 CPT = Self.ResolveExceptionSpec(KeyLoc, CPT); in EvaluateUnaryTypeTrait()
5255 if (CXXDestructorDecl *Destructor = Self.LookupDestructor(RD)) in EvaluateUnaryTypeTrait()
5274 static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT,
5477 static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT, in EvaluateBinaryTypeTrait() argument
5502 if (Self.RequireCompleteType( in EvaluateBinaryTypeTrait()
5509 assert(Self.Context.hasSameUnqualifiedType(LhsT, RhsT) in EvaluateBinaryTypeTrait()
5526 if (Self.RequireCompleteType(KeyLoc, RhsT, in EvaluateBinaryTypeTrait()
5534 return Self.Context.hasSameType(LhsT, RhsT); in EvaluateBinaryTypeTrait()
5538 QualType Lhs = Self.getASTContext().getUnqualifiedArrayType(LhsT, LhsQuals); in EvaluateBinaryTypeTrait()
5539 QualType Rhs = Self.getASTContext().getUnqualifiedArrayType(RhsT, RhsQuals); in EvaluateBinaryTypeTrait()
5540 return Self.Context.typesAreCompatible(Lhs, Rhs); in EvaluateBinaryTypeTrait()
5578 if (!Self.isCompleteType(KeyLoc, RhsT) || Self.isAbstractType(KeyLoc, RhsT)) in EvaluateBinaryTypeTrait()
5583 LhsT = Self.Context.getRValueReferenceType(LhsT); in EvaluateBinaryTypeTrait()
5587 OpaqueValueExpr From(KeyLoc, LhsT.getNonLValueExprType(Self.Context), in EvaluateBinaryTypeTrait()
5596 Self, Sema::ExpressionEvaluationContext::Unevaluated); in EvaluateBinaryTypeTrait()
5597 Sema::SFINAETrap SFINAE(Self, /*AccessCheckingSFINAE=*/true); in EvaluateBinaryTypeTrait()
5598 Sema::ContextRAII TUContext(Self, Self.Context.getTranslationUnitDecl()); in EvaluateBinaryTypeTrait()
5599 InitializationSequence Init(Self, To, Kind, FromPtr); in EvaluateBinaryTypeTrait()
5603 ExprResult Result = Init.Perform(Self, To, Kind, FromPtr); in EvaluateBinaryTypeTrait()
5622 Self.RequireCompleteType(KeyLoc, LhsT, in EvaluateBinaryTypeTrait()
5626 Self.RequireCompleteType(KeyLoc, RhsT, in EvaluateBinaryTypeTrait()
5637 LhsT = Self.Context.getRValueReferenceType(LhsT); in EvaluateBinaryTypeTrait()
5639 RhsT = Self.Context.getRValueReferenceType(RhsT); in EvaluateBinaryTypeTrait()
5640 OpaqueValueExpr Lhs(KeyLoc, LhsT.getNonLValueExprType(Self.Context), in EvaluateBinaryTypeTrait()
5642 OpaqueValueExpr Rhs(KeyLoc, RhsT.getNonLValueExprType(Self.Context), in EvaluateBinaryTypeTrait()
5648 Self, Sema::ExpressionEvaluationContext::Unevaluated); in EvaluateBinaryTypeTrait()
5649 Sema::SFINAETrap SFINAE(Self, /*AccessCheckingSFINAE=*/true); in EvaluateBinaryTypeTrait()
5650 Sema::ContextRAII TUContext(Self, Self.Context.getTranslationUnitDecl()); in EvaluateBinaryTypeTrait()
5651 ExprResult Result = Self.BuildBinOp(/*S=*/nullptr, KeyLoc, BO_Assign, &Lhs, in EvaluateBinaryTypeTrait()
5657 Self.CheckUnusedVolatileAssignment(Result.get()); in EvaluateBinaryTypeTrait()
5666 return Self.canThrow(Result.get()) == CT_Cannot; in EvaluateBinaryTypeTrait()
5674 return !Result.get()->hasNonTrivialCall(Self.Context); in EvaluateBinaryTypeTrait()
5698 static uint64_t EvaluateArrayTypeTrait(Sema &Self, ArrayTypeTrait ATT, in EvaluateArrayTypeTrait() argument
5707 while (const ArrayType *AT = Self.Context.getAsArrayType(T)) { in EvaluateArrayTypeTrait()
5718 if (Self.VerifyIntegerConstantExpression( in EvaluateArrayTypeTrait()
5723 Self.Diag(KeyLoc, diag::err_dimension_expr_not_constant_integer) in EvaluateArrayTypeTrait()
5732 while (const ArrayType *AT = Self.Context.getAsArrayType(T)) { in EvaluateArrayTypeTrait()
5742 if (const ConstantArrayType *CAT = Self.Context.getAsConstantArrayType(T)) in EvaluateArrayTypeTrait()
5975 static bool TryClassUnification(Sema &Self, Expr *From, Expr *To, in TryClassUnification() argument
5996 QualType T = Self.Context.getReferenceQualifiedType(To); in TryClassUnification()
5999 InitializationSequence InitSeq(Self, Entity, Kind, From); in TryClassUnification()
6007 return InitSeq.Diagnose(Self, Entity, Kind, From); in TryClassUnification()
6018 Self.IsDerivedFrom(QuestionLoc, FTy, TTy); in TryClassUnification()
6020 Self.IsDerivedFrom(QuestionLoc, TTy, FTy))) { in TryClassUnification()
6027 InitializationSequence InitSeq(Self, Entity, Kind, From); in TryClassUnification()
6034 return InitSeq.Diagnose(Self, Entity, Kind, From); in TryClassUnification()
6048 TTy = TTy.getNonLValueExprType(Self.Context); in TryClassUnification()
6051 InitializationSequence InitSeq(Self, Entity, Kind, From); in TryClassUnification()
6055 return InitSeq.Diagnose(Self, Entity, Kind, From); in TryClassUnification()
6065 static bool FindConditionalOverload(Sema &Self, ExprResult &LHS, ExprResult &RHS, in FindConditionalOverload() argument
6070 Self.AddBuiltinOperatorCandidates(OO_Conditional, QuestionLoc, Args, in FindConditionalOverload()
6074 switch (CandidateSet.BestViableFunction(Self, QuestionLoc, Best)) { in FindConditionalOverload()
6077 ExprResult LHSRes = Self.PerformImplicitConversion( in FindConditionalOverload()
6084 ExprResult RHSRes = Self.PerformImplicitConversion( in FindConditionalOverload()
6091 Self.MarkFunctionReferenced(QuestionLoc, Best->Function); in FindConditionalOverload()
6100 if (Self.DiagnoseConditionalForNull(LHS.get(), RHS.get(), QuestionLoc)) in FindConditionalOverload()
6103 Self.Diag(QuestionLoc, diag::err_typecheck_cond_incompatible_operands) in FindConditionalOverload()
6109 Self.Diag(QuestionLoc, diag::err_conditional_ambiguous_ovl) in FindConditionalOverload()
6124 static bool ConvertForConditional(Sema &Self, ExprResult &E, QualType T) { in ConvertForConditional() argument
6129 InitializationSequence InitSeq(Self, Entity, Kind, Arg); in ConvertForConditional()
6130 ExprResult Result = InitSeq.Perform(Self, Entity, Kind, Arg); in ConvertForConditional()