| 145 | } |
| 146 | |
| 147 | bool VisitMemberExpr(clang::MemberExpr *e) { |
| 148 | auto range = e->getMemberNameInfo().getSourceRange(); |
| 149 | if (range.getBegin().isInvalid()) { |
| 150 | // implicit conversion operator; |
| 151 | range = {e->getLocStart(), clang::SourceLocation{}}; |
| 152 | } |
| 153 | annotator.registerUse(e->getMemberDecl(), range, |
| 154 | isMember(e->getMemberDecl()) ? Annotator::Member : Annotator::Ref, |
| 155 | currentContext, classify()); |
| 156 | return true; |
| 157 | } |
| 158 | bool VisitDeclRefExpr(clang::DeclRefExpr *e) { |
| 159 | clang::ValueDecl* decl = e->getDecl(); |
| 160 | annotator.registerUse(decl, e->getNameInfo().getSourceRange(), |
nothing calls this directly
no test coverage detected