Lines Matching defs:E

61   SymbolRoleSet getRolesForRef(const Expr *E,
64 assert(!StmtStack.empty() && E == StmtStack.back());
81 if (BO->getLHS()->IgnoreParenCasts() == E)
84 if (CA->getLHS()->IgnoreParenCasts() == E) {
98 if (CE->getCallee()->IgnoreParenCasts() == E) {
100 if (auto *ME = dyn_cast<MemberExpr>(E)) {
112 if (CXXOp->getNumArgs() > 0 && CXXOp->getArg(0)->IgnoreParenCasts() == E) {
140 bool VisitDeclRefExpr(DeclRefExpr *E) {
142 SymbolRoleSet Roles = getRolesForRef(E, Relations);
143 return IndexCtx.handleReference(E->getDecl(), E->getLocation(),
144 Parent, ParentDC, Roles, Relations, E);
158 bool VisitMemberExpr(MemberExpr *E) {
159 SourceLocation Loc = E->getMemberLoc();
161 Loc = E->getBeginLoc();
163 SymbolRoleSet Roles = getRolesForRef(E, Relations);
164 return IndexCtx.handleReference(E->getMemberDecl(), Loc,
165 Parent, ParentDC, Roles, Relations, E);
169 const Expr *E, const Type *T, const DeclarationNameInfo &NameInfo,
193 Loc = E->getBeginLoc();
195 SymbolRoleSet Roles = getRolesForRef(E, Relations);
197 Relations, E);
200 bool VisitCXXDependentScopeMemberExpr(CXXDependentScopeMemberExpr *E) {
201 const DeclarationNameInfo &Info = E->getMemberNameInfo();
203 E, E->getBaseType().getTypePtrOrNull(), Info,
207 bool VisitDependentScopeDeclRefExpr(DependentScopeDeclRefExpr *E) {
208 const DeclarationNameInfo &Info = E->getNameInfo();
209 const NestedNameSpecifier *NNS = E->getQualifier();
211 E, NNS->getAsType(), Info,
215 bool VisitDesignatedInitExpr(DesignatedInitExpr *E) {
216 for (DesignatedInitExpr::Designator &D : llvm::reverse(E->designators())) {
220 ParentDC, SymbolRoleSet(), {}, E);
227 bool VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) {
229 SymbolRoleSet Roles = getRolesForRef(E, Relations);
230 return IndexCtx.handleReference(E->getDecl(), E->getLocation(),
231 Parent, ParentDC, Roles, Relations, E);
234 bool VisitObjCMessageExpr(ObjCMessageExpr *E) {
246 if (ObjCMethodDecl *MD = E->getMethodDecl()) {
253 const auto *E = POE->getSyntacticForm();
254 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
255 E = BinOp->getLHS();
256 const auto *PRE = dyn_cast<ObjCPropertyRefExpr>(E);
273 if ((E->isImplicit() || IsPropCall) &&
278 if (isDynamic(E)) {
293 QualType recT = E->getReceiverType();
300 return IndexCtx.handleReference(MD, E->getSelectorStartLoc(),
301 Parent, ParentDC, Roles, Relations, E);
306 bool VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *E) {
307 if (E->isExplicitProperty()) {
309 SymbolRoleSet Roles = getRolesForRef(E, Relations);
310 return IndexCtx.handleReference(E->getExplicitProperty(), E->getLocation(),
311 Parent, ParentDC, Roles, Relations, E);
312 } else if (const ObjCMethodDecl *Getter = E->getImplicitPropertyGetter()) {
319 SymbolRoleSet Roles = getRolesForRef(E, Relations);
320 return IndexCtx.handleReference(PD, E->getLocation(), Parent,
321 ParentDC, Roles, Relations, E);
331 bool VisitMSPropertyRefExpr(MSPropertyRefExpr *E) {
332 return IndexCtx.handleReference(E->getPropertyDecl(), E->getMemberLoc(),
333 Parent, ParentDC, SymbolRoleSet(), {}, E);
336 bool VisitObjCProtocolExpr(ObjCProtocolExpr *E) {
337 return IndexCtx.handleReference(E->getProtocol(), E->getProtocolIdLoc(),
338 Parent, ParentDC, SymbolRoleSet(), {}, E);
341 bool passObjCLiteralMethodCall(const ObjCMethodDecl *MD, const Expr *E) {
346 return IndexCtx.handleReference(MD, E->getBeginLoc(), Parent, ParentDC,
347 Roles, Relations, E);
350 bool VisitObjCBoxedExpr(ObjCBoxedExpr *E) {
351 if (ObjCMethodDecl *MD = E->getBoxingMethod()) {
352 return passObjCLiteralMethodCall(MD, E);
357 bool VisitObjCDictionaryLiteral(ObjCDictionaryLiteral *E) {
358 if (ObjCMethodDecl *MD = E->getDictWithObjectsMethod()) {
359 return passObjCLiteralMethodCall(MD, E);
364 bool VisitObjCArrayLiteral(ObjCArrayLiteral *E) {
365 if (ObjCMethodDecl *MD = E->getArrayWithObjectsMethod()) {
366 return passObjCLiteralMethodCall(MD, E);
371 bool VisitCXXConstructExpr(CXXConstructExpr *E) {
375 return IndexCtx.handleReference(E->getConstructor(), E->getLocation(),
376 Parent, ParentDC, Roles, Relations, E);
379 bool TraverseCXXOperatorCallExpr(CXXOperatorCallExpr *E,
381 if (E->getOperatorLoc().isInvalid())
383 return base::TraverseCXXOperatorCallExpr(E, Q);
393 for (DeclGroupRef::iterator I = DG.begin(), E = DG.end(); I != E; ++I) {
432 auto visitSyntacticDesignatedInitExpr = [&](DesignatedInitExpr *E) -> bool {
433 for (DesignatedInitExpr::Designator &D : llvm::reverse(E->designators())) {
438 /*Relations=*/{}, E);
468 for (unsigned I = 0, E = S->getNumComponents(); I != E; ++I) {
488 bool VisitOverloadExpr(OverloadExpr *E) {
490 SymbolRoleSet Roles = getRolesForRef(E, Relations);
491 for (auto *D : E->decls())
492 IndexCtx.handleReference(D, E->getNameLoc(), Parent, ParentDC, Roles,
493 Relations, E);