| 252 | } |
| 253 | |
| 254 | bool DebugInfoMap::isArgsInMacro(const ASTDefNode &Node, Expr &E, |
| 255 | unsigned ArgNo, ASTUnit &U) const { |
| 256 | const auto *CurAssigned = Node.getAssigned(); |
| 257 | assert(CurAssigned && "Unexpected Program State"); |
| 258 | |
| 259 | const auto &CurLoc = CurAssigned->getIndex(); |
| 260 | if (ArgNo > 0 && !util::isDefaultArgument(E, ArgNo - 1) && |
| 261 | !util::isImplicitArgument(E, ArgNo - 1)) { |
| 262 | auto Prev = getArgumentNode(E, ArgNo - 1, U); |
| 263 | if (Prev && Prev->getAssigned() && |
| 264 | Prev->getAssigned()->getIndex() == CurLoc) |
| 265 | return true; |
| 266 | } |
| 267 | |
| 268 | auto ArgSize = util::getArgExprs(E).size(); |
| 269 | if (ArgSize > ArgNo + 1 && !util::isDefaultArgument(E, ArgNo + 1) && |
| 270 | !util::isImplicitArgument(E, ArgNo + 1)) { |
| 271 | auto Next = getArgumentNode(E, ArgNo + 1, U); |
| 272 | if (Next && Next->getAssigned() && |
| 273 | Next->getAssigned()->getIndex() == CurLoc) |
| 274 | return true; |
| 275 | } |
| 276 | return false; |
| 277 | } |
| 278 | |
| 279 | bool DebugInfoMap::isNullType(const ASTDefNode &Node) const { |
| 280 | QualType T; |
nothing calls this directly
no test coverage detected