Lines Matching refs:Expr
24 typedef Expr::Classification Cl;
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()
89 const Expr *E, in ClassifyExprValueKind()
102 static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) { in ClassifyInternal()
109 #define STMT(Kind, Base) case Expr::Kind##Class: in ClassifyInternal()
115 case Expr::ObjCIsaExprClass: in ClassifyInternal()
117 case Expr::StringLiteralClass: in ClassifyInternal()
119 case Expr::ObjCEncodeExprClass: in ClassifyInternal()
121 case Expr::PredefinedExprClass: in ClassifyInternal()
123 case Expr::ObjCSubscriptRefExprClass: in ClassifyInternal()
124 case Expr::ObjCPropertyRefExprClass: in ClassifyInternal()
126 case Expr::CXXTypeidExprClass: in ClassifyInternal()
129 case Expr::UnresolvedLookupExprClass: in ClassifyInternal()
130 case Expr::UnresolvedMemberExprClass: in ClassifyInternal()
131 case Expr::TypoExprClass: in ClassifyInternal()
132 case Expr::CXXDependentScopeMemberExprClass: in ClassifyInternal()
133 case Expr::DependentScopeDeclRefExprClass: in ClassifyInternal()
136 case Expr::ObjCIvarRefExprClass: in ClassifyInternal()
137 case Expr::FunctionParmPackExprClass: in ClassifyInternal()
138 case Expr::MSPropertyRefExprClass: in ClassifyInternal()
143 case Expr::CompoundLiteralExprClass: in ClassifyInternal()
148 case Expr::CXXBoolLiteralExprClass: in ClassifyInternal()
149 case Expr::CXXPseudoDestructorExprClass: in ClassifyInternal()
150 case Expr::UnaryExprOrTypeTraitExprClass: in ClassifyInternal()
151 case Expr::CXXNewExprClass: in ClassifyInternal()
152 case Expr::CXXThisExprClass: in ClassifyInternal()
153 case Expr::CXXNullPtrLiteralExprClass: in ClassifyInternal()
154 case Expr::ImaginaryLiteralClass: in ClassifyInternal()
155 case Expr::GNUNullExprClass: in ClassifyInternal()
156 case Expr::OffsetOfExprClass: in ClassifyInternal()
157 case Expr::CXXThrowExprClass: in ClassifyInternal()
158 case Expr::ShuffleVectorExprClass: in ClassifyInternal()
159 case Expr::ConvertVectorExprClass: in ClassifyInternal()
160 case Expr::IntegerLiteralClass: in ClassifyInternal()
161 case Expr::CharacterLiteralClass: in ClassifyInternal()
162 case Expr::AddrLabelExprClass: in ClassifyInternal()
163 case Expr::CXXDeleteExprClass: in ClassifyInternal()
164 case Expr::ImplicitValueInitExprClass: in ClassifyInternal()
165 case Expr::BlockExprClass: in ClassifyInternal()
166 case Expr::FloatingLiteralClass: in ClassifyInternal()
167 case Expr::CXXNoexceptExprClass: in ClassifyInternal()
168 case Expr::CXXScalarValueInitExprClass: in ClassifyInternal()
169 case Expr::TypeTraitExprClass: in ClassifyInternal()
170 case Expr::ArrayTypeTraitExprClass: in ClassifyInternal()
171 case Expr::ExpressionTraitExprClass: in ClassifyInternal()
172 case Expr::ObjCSelectorExprClass: in ClassifyInternal()
173 case Expr::ObjCProtocolExprClass: in ClassifyInternal()
174 case Expr::ObjCStringLiteralClass: in ClassifyInternal()
175 case Expr::ObjCBoxedExprClass: in ClassifyInternal()
176 case Expr::ObjCArrayLiteralClass: in ClassifyInternal()
177 case Expr::ObjCDictionaryLiteralClass: in ClassifyInternal()
178 case Expr::ObjCBoolLiteralExprClass: in ClassifyInternal()
179 case Expr::ParenListExprClass: in ClassifyInternal()
180 case Expr::SizeOfPackExprClass: in ClassifyInternal()
181 case Expr::SubstNonTypeTemplateParmPackExprClass: in ClassifyInternal()
182 case Expr::AsTypeExprClass: in ClassifyInternal()
183 case Expr::ObjCIndirectCopyRestoreExprClass: in ClassifyInternal()
184 case Expr::AtomicExprClass: in ClassifyInternal()
185 case Expr::CXXFoldExprClass: in ClassifyInternal()
189 case Expr::SubstNonTypeTemplateParmExprClass: in ClassifyInternal()
195 case Expr::ArraySubscriptExprClass: in ClassifyInternal()
202 case Expr::DeclRefExprClass: in ClassifyInternal()
209 case Expr::MemberExprClass: in ClassifyInternal()
212 case Expr::UnaryOperatorClass: in ClassifyInternal()
228 const Expr *Op = cast<UnaryOperator>(E)->getSubExpr()->IgnoreParens(); in ClassifyInternal()
248 case Expr::OpaqueValueExprClass: in ClassifyInternal()
252 case Expr::PseudoObjectExprClass: in ClassifyInternal()
258 case Expr::ImplicitCastExprClass: in ClassifyInternal()
263 case Expr::ParenExprClass: in ClassifyInternal()
269 case Expr::GenericSelectionExprClass: in ClassifyInternal()
274 case Expr::BinaryOperatorClass: in ClassifyInternal()
275 case Expr::CompoundAssignOperatorClass: in ClassifyInternal()
281 case Expr::CallExprClass: in ClassifyInternal()
282 case Expr::CXXOperatorCallExprClass: in ClassifyInternal()
283 case Expr::CXXMemberCallExprClass: in ClassifyInternal()
284 case Expr::UserDefinedLiteralClass: in ClassifyInternal()
285 case Expr::CUDAKernelCallExprClass: in ClassifyInternal()
289 case Expr::ChooseExprClass: in ClassifyInternal()
294 case Expr::ExtVectorElementExprClass: in ClassifyInternal()
302 case Expr::CXXDefaultArgExprClass: in ClassifyInternal()
306 case Expr::CXXDefaultInitExprClass: in ClassifyInternal()
310 case Expr::CXXBindTemporaryExprClass: in ClassifyInternal()
314 case Expr::ExprWithCleanupsClass: in ClassifyInternal()
318 case Expr::CStyleCastExprClass: in ClassifyInternal()
319 case Expr::CXXFunctionalCastExprClass: in ClassifyInternal()
320 case Expr::CXXStaticCastExprClass: in ClassifyInternal()
321 case Expr::CXXDynamicCastExprClass: in ClassifyInternal()
322 case Expr::CXXReinterpretCastExprClass: in ClassifyInternal()
323 case Expr::CXXConstCastExprClass: in ClassifyInternal()
324 case Expr::ObjCBridgedCastExprClass: in ClassifyInternal()
329 case Expr::CXXUnresolvedConstructExprClass: in ClassifyInternal()
333 case Expr::BinaryConditionalOperatorClass: { in ClassifyInternal()
339 case Expr::ConditionalOperatorClass: { in ClassifyInternal()
348 case Expr::ObjCMessageExprClass: in ClassifyInternal()
357 case Expr::CXXConstructExprClass: in ClassifyInternal()
358 case Expr::CXXTemporaryObjectExprClass: in ClassifyInternal()
359 case Expr::LambdaExprClass: in ClassifyInternal()
360 case Expr::CXXStdInitializerListExprClass: in ClassifyInternal()
363 case Expr::VAArgExprClass: in ClassifyInternal()
366 case Expr::DesignatedInitExprClass: in ClassifyInternal()
369 case Expr::StmtExprClass: { in ClassifyInternal()
371 if (const Expr *LastExpr = dyn_cast_or_null<Expr>(S->body_back())) in ClassifyInternal()
376 case Expr::CXXUuidofExprClass: in ClassifyInternal()
379 case Expr::PackExpansionExprClass: in ClassifyInternal()
382 case Expr::MaterializeTemporaryExprClass: in ClassifyInternal()
387 case Expr::InitListExprClass: in ClassifyInternal()
462 Expr *Base = E->getBase()->IgnoreParens(); in ClassifyMemberExpr()
488 Expr *Base = E->getBase()->IgnoreParenImpCasts(); in ClassifyMemberExpr()
541 static Cl::Kinds ClassifyConditional(ASTContext &Ctx, const Expr *True, in ClassifyConditional()
542 const Expr *False) { in ClassifyConditional()
555 if (const Expr *NonThrow = TrueIsThrow ? (FalseIsThrow ? nullptr : False) in ClassifyConditional()
573 static Cl::ModifiableType IsModifiable(ASTContext &Ctx, const Expr *E, in IsModifiable()
598 if (const ObjCPropertyRefExpr *Expr = dyn_cast<ObjCPropertyRefExpr>(E)) { in IsModifiable() local
599 if (Expr->isImplicitProperty() && in IsModifiable()
600 Expr->getImplicitPropertySetter() == nullptr) in IsModifiable()
626 Expr::LValueClassification Expr::ClassifyLValue(ASTContext &Ctx) const { in ClassifyLValue()
645 Expr::isModifiableLvalueResult
646 Expr::isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc) const { in isModifiableLvalue()