Lines Matching refs:Expr
24 using Cl = Expr::Classification;
26 static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E);
32 const Expr *trueExpr,
33 const Expr *falseExpr);
34 static Cl::ModifiableType IsModifiable(ASTContext &Ctx, const Expr *E,
37 Cl Expr::ClassifyImpl(ASTContext &Ctx, SourceLocation *Loc) const { in ClassifyImpl()
95 const Expr *E, in ClassifyExprValueKind()
108 static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) { in ClassifyInternal()
115 #define STMT(Kind, Base) case Expr::Kind##Class: in ClassifyInternal()
121 case Expr::ObjCIsaExprClass: in ClassifyInternal()
123 case Expr::StringLiteralClass: in ClassifyInternal()
125 case Expr::ObjCEncodeExprClass: in ClassifyInternal()
127 case Expr::PredefinedExprClass: in ClassifyInternal()
129 case Expr::ObjCSubscriptRefExprClass: in ClassifyInternal()
130 case Expr::ObjCPropertyRefExprClass: in ClassifyInternal()
132 case Expr::CXXTypeidExprClass: in ClassifyInternal()
133 case Expr::CXXUuidofExprClass: in ClassifyInternal()
136 case Expr::UnresolvedLookupExprClass: in ClassifyInternal()
137 case Expr::UnresolvedMemberExprClass: in ClassifyInternal()
138 case Expr::TypoExprClass: in ClassifyInternal()
139 case Expr::DependentCoawaitExprClass: in ClassifyInternal()
140 case Expr::CXXDependentScopeMemberExprClass: in ClassifyInternal()
141 case Expr::DependentScopeDeclRefExprClass: in ClassifyInternal()
144 case Expr::ObjCIvarRefExprClass: in ClassifyInternal()
145 case Expr::FunctionParmPackExprClass: in ClassifyInternal()
146 case Expr::MSPropertyRefExprClass: in ClassifyInternal()
147 case Expr::MSPropertySubscriptExprClass: in ClassifyInternal()
148 case Expr::ArraySectionExprClass: in ClassifyInternal()
149 case Expr::OMPArrayShapingExprClass: in ClassifyInternal()
150 case Expr::OMPIteratorExprClass: in ClassifyInternal()
155 case Expr::CompoundLiteralExprClass: in ClassifyInternal()
159 case Expr::CXXBoolLiteralExprClass: in ClassifyInternal()
160 case Expr::CXXPseudoDestructorExprClass: in ClassifyInternal()
161 case Expr::UnaryExprOrTypeTraitExprClass: in ClassifyInternal()
162 case Expr::CXXNewExprClass: in ClassifyInternal()
163 case Expr::CXXNullPtrLiteralExprClass: in ClassifyInternal()
164 case Expr::ImaginaryLiteralClass: in ClassifyInternal()
165 case Expr::GNUNullExprClass: in ClassifyInternal()
166 case Expr::OffsetOfExprClass: in ClassifyInternal()
167 case Expr::CXXThrowExprClass: in ClassifyInternal()
168 case Expr::ShuffleVectorExprClass: in ClassifyInternal()
169 case Expr::ConvertVectorExprClass: in ClassifyInternal()
170 case Expr::IntegerLiteralClass: in ClassifyInternal()
171 case Expr::FixedPointLiteralClass: in ClassifyInternal()
172 case Expr::CharacterLiteralClass: in ClassifyInternal()
173 case Expr::AddrLabelExprClass: in ClassifyInternal()
174 case Expr::CXXDeleteExprClass: in ClassifyInternal()
175 case Expr::ImplicitValueInitExprClass: in ClassifyInternal()
176 case Expr::BlockExprClass: in ClassifyInternal()
177 case Expr::FloatingLiteralClass: in ClassifyInternal()
178 case Expr::CXXNoexceptExprClass: in ClassifyInternal()
179 case Expr::CXXScalarValueInitExprClass: in ClassifyInternal()
180 case Expr::TypeTraitExprClass: in ClassifyInternal()
181 case Expr::ArrayTypeTraitExprClass: in ClassifyInternal()
182 case Expr::ExpressionTraitExprClass: in ClassifyInternal()
183 case Expr::ObjCSelectorExprClass: in ClassifyInternal()
184 case Expr::ObjCProtocolExprClass: in ClassifyInternal()
185 case Expr::ObjCStringLiteralClass: in ClassifyInternal()
186 case Expr::ObjCBoxedExprClass: in ClassifyInternal()
187 case Expr::ObjCArrayLiteralClass: in ClassifyInternal()
188 case Expr::ObjCDictionaryLiteralClass: in ClassifyInternal()
189 case Expr::ObjCBoolLiteralExprClass: in ClassifyInternal()
190 case Expr::ObjCAvailabilityCheckExprClass: in ClassifyInternal()
191 case Expr::ParenListExprClass: in ClassifyInternal()
192 case Expr::SizeOfPackExprClass: in ClassifyInternal()
193 case Expr::SubstNonTypeTemplateParmPackExprClass: in ClassifyInternal()
194 case Expr::AsTypeExprClass: in ClassifyInternal()
195 case Expr::ObjCIndirectCopyRestoreExprClass: in ClassifyInternal()
196 case Expr::AtomicExprClass: in ClassifyInternal()
197 case Expr::CXXFoldExprClass: in ClassifyInternal()
198 case Expr::ArrayInitLoopExprClass: in ClassifyInternal()
199 case Expr::ArrayInitIndexExprClass: in ClassifyInternal()
200 case Expr::NoInitExprClass: in ClassifyInternal()
201 case Expr::DesignatedInitUpdateExprClass: in ClassifyInternal()
202 case Expr::SourceLocExprClass: in ClassifyInternal()
203 case Expr::ConceptSpecializationExprClass: in ClassifyInternal()
204 case Expr::RequiresExprClass: in ClassifyInternal()
207 case Expr::EmbedExprClass: in ClassifyInternal()
213 case Expr::CXXThisExprClass: in ClassifyInternal()
216 case Expr::ConstantExprClass: in ClassifyInternal()
220 case Expr::SubstNonTypeTemplateParmExprClass: in ClassifyInternal()
224 case Expr::PackIndexingExprClass: { in ClassifyInternal()
236 case Expr::ArraySubscriptExprClass: in ClassifyInternal()
249 case Expr::MatrixSubscriptExprClass: in ClassifyInternal()
254 case Expr::DeclRefExprClass: in ClassifyInternal()
261 case Expr::MemberExprClass: in ClassifyInternal()
264 case Expr::UnaryOperatorClass: in ClassifyInternal()
280 const Expr *Op = cast<UnaryOperator>(E)->getSubExpr()->IgnoreParens(); in ClassifyInternal()
300 case Expr::RecoveryExprClass: in ClassifyInternal()
301 case Expr::OpaqueValueExprClass: in ClassifyInternal()
305 case Expr::PseudoObjectExprClass: in ClassifyInternal()
311 case Expr::ImplicitCastExprClass: in ClassifyInternal()
316 case Expr::ParenExprClass: in ClassifyInternal()
322 case Expr::GenericSelectionExprClass: in ClassifyInternal()
327 case Expr::BinaryOperatorClass: in ClassifyInternal()
328 case Expr::CompoundAssignOperatorClass: in ClassifyInternal()
334 case Expr::CallExprClass: in ClassifyInternal()
335 case Expr::CXXOperatorCallExprClass: in ClassifyInternal()
336 case Expr::CXXMemberCallExprClass: in ClassifyInternal()
337 case Expr::UserDefinedLiteralClass: in ClassifyInternal()
338 case Expr::CUDAKernelCallExprClass: in ClassifyInternal()
341 case Expr::CXXRewrittenBinaryOperatorClass: in ClassifyInternal()
346 case Expr::ChooseExprClass: in ClassifyInternal()
351 case Expr::ExtVectorElementExprClass: in ClassifyInternal()
359 case Expr::CXXDefaultArgExprClass: in ClassifyInternal()
363 case Expr::CXXDefaultInitExprClass: in ClassifyInternal()
367 case Expr::CXXBindTemporaryExprClass: in ClassifyInternal()
371 case Expr::ExprWithCleanupsClass: in ClassifyInternal()
375 case Expr::CStyleCastExprClass: in ClassifyInternal()
376 case Expr::CXXFunctionalCastExprClass: in ClassifyInternal()
377 case Expr::CXXStaticCastExprClass: in ClassifyInternal()
378 case Expr::CXXDynamicCastExprClass: in ClassifyInternal()
379 case Expr::CXXReinterpretCastExprClass: in ClassifyInternal()
380 case Expr::CXXConstCastExprClass: in ClassifyInternal()
381 case Expr::CXXAddrspaceCastExprClass: in ClassifyInternal()
382 case Expr::ObjCBridgedCastExprClass: in ClassifyInternal()
383 case Expr::BuiltinBitCastExprClass: in ClassifyInternal()
388 case Expr::CXXUnresolvedConstructExprClass: in ClassifyInternal()
392 case Expr::BinaryConditionalOperatorClass: { in ClassifyInternal()
398 case Expr::ConditionalOperatorClass: { in ClassifyInternal()
407 case Expr::ObjCMessageExprClass: in ClassifyInternal()
416 case Expr::CXXConstructExprClass: in ClassifyInternal()
417 case Expr::CXXInheritedCtorInitExprClass: in ClassifyInternal()
418 case Expr::CXXTemporaryObjectExprClass: in ClassifyInternal()
419 case Expr::LambdaExprClass: in ClassifyInternal()
420 case Expr::CXXStdInitializerListExprClass: in ClassifyInternal()
423 case Expr::VAArgExprClass: in ClassifyInternal()
426 case Expr::DesignatedInitExprClass: in ClassifyInternal()
429 case Expr::StmtExprClass: { in ClassifyInternal()
431 if (const auto *LastExpr = dyn_cast_or_null<Expr>(S->body_back())) in ClassifyInternal()
436 case Expr::PackExpansionExprClass: in ClassifyInternal()
439 case Expr::MaterializeTemporaryExprClass: in ClassifyInternal()
444 case Expr::InitListExprClass: in ClassifyInternal()
455 case Expr::CoawaitExprClass: in ClassifyInternal()
456 case Expr::CoyieldExprClass: in ClassifyInternal()
458 case Expr::SYCLUniqueStableNameExprClass: in ClassifyInternal()
462 case Expr::CXXParenListInitExprClass: in ClassifyInternal()
536 Expr *Base = E->getBase()->IgnoreParens(); in ClassifyMemberExpr()
562 Expr *Base = E->getBase()->IgnoreParenImpCasts(); in ClassifyMemberExpr()
620 static Cl::Kinds ClassifyConditional(ASTContext &Ctx, const Expr *True, in ClassifyConditional()
621 const Expr *False) { in ClassifyConditional()
634 if (const Expr *NonThrow = TrueIsThrow ? (FalseIsThrow ? nullptr : False) in ClassifyConditional()
652 static Cl::ModifiableType IsModifiable(ASTContext &Ctx, const Expr *E, in IsModifiable()
676 if (const auto *Expr = dyn_cast<ObjCPropertyRefExpr>(E)) { in IsModifiable() local
677 if (Expr->isImplicitProperty() && in IsModifiable()
678 Expr->getImplicitPropertySetter() == nullptr) in IsModifiable()
705 Expr::LValueClassification Expr::ClassifyLValue(ASTContext &Ctx) const { in ClassifyLValue()
724 Expr::isModifiableLvalueResult
725 Expr::isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc) const { in isModifiableLvalue()