Lines Matching refs:Expr

25 using Cl = Expr::Classification;
27 static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E);
33 const Expr *trueExpr,
34 const Expr *falseExpr);
35 static Cl::ModifiableType IsModifiable(ASTContext &Ctx, const Expr *E,
38 Cl Expr::ClassifyImpl(ASTContext &Ctx, SourceLocation *Loc) const { in ClassifyImpl()
90 const Expr *E, in ClassifyExprValueKind()
103 static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) { in ClassifyInternal()
110 #define STMT(Kind, Base) case Expr::Kind##Class: in ClassifyInternal()
116 case Expr::ObjCIsaExprClass: in ClassifyInternal()
118 case Expr::StringLiteralClass: in ClassifyInternal()
120 case Expr::ObjCEncodeExprClass: in ClassifyInternal()
122 case Expr::PredefinedExprClass: in ClassifyInternal()
124 case Expr::ObjCSubscriptRefExprClass: in ClassifyInternal()
125 case Expr::ObjCPropertyRefExprClass: in ClassifyInternal()
127 case Expr::CXXTypeidExprClass: in ClassifyInternal()
130 case Expr::UnresolvedLookupExprClass: in ClassifyInternal()
131 case Expr::UnresolvedMemberExprClass: in ClassifyInternal()
132 case Expr::TypoExprClass: in ClassifyInternal()
133 case Expr::DependentCoawaitExprClass: in ClassifyInternal()
134 case Expr::CXXDependentScopeMemberExprClass: in ClassifyInternal()
135 case Expr::DependentScopeDeclRefExprClass: in ClassifyInternal()
138 case Expr::ObjCIvarRefExprClass: in ClassifyInternal()
139 case Expr::FunctionParmPackExprClass: in ClassifyInternal()
140 case Expr::MSPropertyRefExprClass: in ClassifyInternal()
141 case Expr::MSPropertySubscriptExprClass: in ClassifyInternal()
142 case Expr::OMPArraySectionExprClass: in ClassifyInternal()
147 case Expr::CompoundLiteralExprClass: in ClassifyInternal()
151 case Expr::CXXBoolLiteralExprClass: in ClassifyInternal()
152 case Expr::CXXPseudoDestructorExprClass: in ClassifyInternal()
153 case Expr::UnaryExprOrTypeTraitExprClass: in ClassifyInternal()
154 case Expr::CXXNewExprClass: in ClassifyInternal()
155 case Expr::CXXThisExprClass: in ClassifyInternal()
156 case Expr::CXXNullPtrLiteralExprClass: in ClassifyInternal()
157 case Expr::ImaginaryLiteralClass: in ClassifyInternal()
158 case Expr::GNUNullExprClass: in ClassifyInternal()
159 case Expr::OffsetOfExprClass: in ClassifyInternal()
160 case Expr::CXXThrowExprClass: in ClassifyInternal()
161 case Expr::ShuffleVectorExprClass: in ClassifyInternal()
162 case Expr::ConvertVectorExprClass: in ClassifyInternal()
163 case Expr::IntegerLiteralClass: in ClassifyInternal()
164 case Expr::FixedPointLiteralClass: in ClassifyInternal()
165 case Expr::CharacterLiteralClass: in ClassifyInternal()
166 case Expr::AddrLabelExprClass: in ClassifyInternal()
167 case Expr::CXXDeleteExprClass: in ClassifyInternal()
168 case Expr::ImplicitValueInitExprClass: in ClassifyInternal()
169 case Expr::BlockExprClass: in ClassifyInternal()
170 case Expr::FloatingLiteralClass: in ClassifyInternal()
171 case Expr::CXXNoexceptExprClass: in ClassifyInternal()
172 case Expr::CXXScalarValueInitExprClass: in ClassifyInternal()
173 case Expr::TypeTraitExprClass: in ClassifyInternal()
174 case Expr::ArrayTypeTraitExprClass: in ClassifyInternal()
175 case Expr::ExpressionTraitExprClass: in ClassifyInternal()
176 case Expr::ObjCSelectorExprClass: in ClassifyInternal()
177 case Expr::ObjCProtocolExprClass: in ClassifyInternal()
178 case Expr::ObjCStringLiteralClass: in ClassifyInternal()
179 case Expr::ObjCBoxedExprClass: in ClassifyInternal()
180 case Expr::ObjCArrayLiteralClass: in ClassifyInternal()
181 case Expr::ObjCDictionaryLiteralClass: in ClassifyInternal()
182 case Expr::ObjCBoolLiteralExprClass: in ClassifyInternal()
183 case Expr::ObjCAvailabilityCheckExprClass: in ClassifyInternal()
184 case Expr::ParenListExprClass: in ClassifyInternal()
185 case Expr::SizeOfPackExprClass: in ClassifyInternal()
186 case Expr::SubstNonTypeTemplateParmPackExprClass: in ClassifyInternal()
187 case Expr::AsTypeExprClass: in ClassifyInternal()
188 case Expr::ObjCIndirectCopyRestoreExprClass: in ClassifyInternal()
189 case Expr::AtomicExprClass: in ClassifyInternal()
190 case Expr::CXXFoldExprClass: in ClassifyInternal()
191 case Expr::ArrayInitLoopExprClass: in ClassifyInternal()
192 case Expr::ArrayInitIndexExprClass: in ClassifyInternal()
193 case Expr::NoInitExprClass: in ClassifyInternal()
194 case Expr::DesignatedInitUpdateExprClass: in ClassifyInternal()
197 case Expr::ConstantExprClass: in ClassifyInternal()
201 case Expr::SubstNonTypeTemplateParmExprClass: in ClassifyInternal()
209 case Expr::ArraySubscriptExprClass: in ClassifyInternal()
223 case Expr::DeclRefExprClass: in ClassifyInternal()
230 case Expr::MemberExprClass: in ClassifyInternal()
233 case Expr::UnaryOperatorClass: in ClassifyInternal()
249 const Expr *Op = cast<UnaryOperator>(E)->getSubExpr()->IgnoreParens(); in ClassifyInternal()
269 case Expr::OpaqueValueExprClass: in ClassifyInternal()
273 case Expr::PseudoObjectExprClass: in ClassifyInternal()
279 case Expr::ImplicitCastExprClass: in ClassifyInternal()
284 case Expr::ParenExprClass: in ClassifyInternal()
290 case Expr::GenericSelectionExprClass: in ClassifyInternal()
295 case Expr::BinaryOperatorClass: in ClassifyInternal()
296 case Expr::CompoundAssignOperatorClass: in ClassifyInternal()
302 case Expr::CallExprClass: in ClassifyInternal()
303 case Expr::CXXOperatorCallExprClass: in ClassifyInternal()
304 case Expr::CXXMemberCallExprClass: in ClassifyInternal()
305 case Expr::UserDefinedLiteralClass: in ClassifyInternal()
306 case Expr::CUDAKernelCallExprClass: in ClassifyInternal()
310 case Expr::ChooseExprClass: in ClassifyInternal()
315 case Expr::ExtVectorElementExprClass: in ClassifyInternal()
323 case Expr::CXXDefaultArgExprClass: in ClassifyInternal()
327 case Expr::CXXDefaultInitExprClass: in ClassifyInternal()
331 case Expr::CXXBindTemporaryExprClass: in ClassifyInternal()
335 case Expr::ExprWithCleanupsClass: in ClassifyInternal()
339 case Expr::CStyleCastExprClass: in ClassifyInternal()
340 case Expr::CXXFunctionalCastExprClass: in ClassifyInternal()
341 case Expr::CXXStaticCastExprClass: in ClassifyInternal()
342 case Expr::CXXDynamicCastExprClass: in ClassifyInternal()
343 case Expr::CXXReinterpretCastExprClass: in ClassifyInternal()
344 case Expr::CXXConstCastExprClass: in ClassifyInternal()
345 case Expr::ObjCBridgedCastExprClass: in ClassifyInternal()
350 case Expr::CXXUnresolvedConstructExprClass: in ClassifyInternal()
354 case Expr::BinaryConditionalOperatorClass: { in ClassifyInternal()
360 case Expr::ConditionalOperatorClass: { in ClassifyInternal()
369 case Expr::ObjCMessageExprClass: in ClassifyInternal()
378 case Expr::CXXConstructExprClass: in ClassifyInternal()
379 case Expr::CXXInheritedCtorInitExprClass: in ClassifyInternal()
380 case Expr::CXXTemporaryObjectExprClass: in ClassifyInternal()
381 case Expr::LambdaExprClass: in ClassifyInternal()
382 case Expr::CXXStdInitializerListExprClass: in ClassifyInternal()
385 case Expr::VAArgExprClass: in ClassifyInternal()
388 case Expr::DesignatedInitExprClass: in ClassifyInternal()
391 case Expr::StmtExprClass: { in ClassifyInternal()
393 if (const auto *LastExpr = dyn_cast_or_null<Expr>(S->body_back())) in ClassifyInternal()
398 case Expr::CXXUuidofExprClass: in ClassifyInternal()
401 case Expr::PackExpansionExprClass: in ClassifyInternal()
404 case Expr::MaterializeTemporaryExprClass: in ClassifyInternal()
409 case Expr::InitListExprClass: in ClassifyInternal()
420 case Expr::CoawaitExprClass: in ClassifyInternal()
421 case Expr::CoyieldExprClass: in ClassifyInternal()
488 Expr *Base = E->getBase()->IgnoreParens(); in ClassifyMemberExpr()
514 Expr *Base = E->getBase()->IgnoreParenImpCasts(); in ClassifyMemberExpr()
567 static Cl::Kinds ClassifyConditional(ASTContext &Ctx, const Expr *True, in ClassifyConditional()
568 const Expr *False) { in ClassifyConditional()
581 if (const Expr *NonThrow = TrueIsThrow ? (FalseIsThrow ? nullptr : False) in ClassifyConditional()
599 static Cl::ModifiableType IsModifiable(ASTContext &Ctx, const Expr *E, in IsModifiable()
623 if (const auto *Expr = dyn_cast<ObjCPropertyRefExpr>(E)) { in IsModifiable() local
624 if (Expr->isImplicitProperty() && in IsModifiable()
625 Expr->getImplicitPropertySetter() == nullptr) in IsModifiable()
652 Expr::LValueClassification Expr::ClassifyLValue(ASTContext &Ctx) const { in ClassifyLValue()
671 Expr::isModifiableLvalueResult
672 Expr::isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc) const { in isModifiableLvalue()