Lines Matching defs:piece
393 auto piece = std::move(path.front());
396 switch (piece->getKind()) {
398 removeRedundantMsgs(cast<PathDiagnosticCallPiece>(*piece).path);
401 removeRedundantMsgs(cast<PathDiagnosticMacroPiece>(*piece).subPieces);
409 auto *event = cast<PathDiagnosticEventPiece>(piece.get());
411 // come up with a preference, record which piece to keep, and consume
412 // another piece from the path.
415 piece = std::move(pieceToKeep == event ? piece : path.front());
427 path.push_back(std::move(piece));
442 // Remove the front piece from the path. If it is still something we
444 auto piece = std::move(pieces.front());
447 switch (piece->getKind()) {
449 auto &call = cast<PathDiagnosticCallPiece>(*piece);
460 auto ¯o = cast<PathDiagnosticMacroPiece>(*piece);
467 auto &event = cast<PathDiagnosticEventPiece>(*piece);
480 pieces.push_back(std::move(piece));
724 /// If the piece contains a special message, add it to all the call pieces on
1166 // call piece to encapsulate the rest of the path pieces.
1172 // Since we just transferred the path over to the call piece, reset the
1206 // a new call piece to contain the path pieces for that call.
1208 // Record the mapping from call piece to LocationContext.
1633 // Pattern match the current piece and its successor.
1765 // Erase the second piece if it has the same exact message text.
1794 // Pattern match the current piece and its successor.
2726 const auto &piece = *I;
2729 if (auto *call = dyn_cast<PathDiagnosticCallPiece>(&*piece)) {
2734 const FullSourceLoc Loc = piece->getLocation().asLocation();
2744 Pieces.push_back(piece);
2752 MacroStack.back().first->subPieces.push_back(piece);
2782 PathDiagnosticLocation::createSingleLocation(piece->getLocation()));
2796 MacroGroup->subPieces.push_back(piece);
2839 "There can only be one final piece in a diagnostic.");
2841 "The final piece must contain a message!");
3147 auto piece = std::make_unique<PathDiagnosticEventPiece>(
3150 piece->addRange(Range);
3151 PD->setEndOfPath(std::move(piece));
3289 "The call piece should not be in a header file.");
3299 // Check if the last piece in the callee path is a call to a function outside
3304 // Otherwise, the last piece is in the main file.
3316 // We only need to check if the report ends inside headers, if the last piece
3317 // is a call piece.
3321 // Mark the piece.
3373 // Examine the report and see if the last piece is in a header. Reset the
3374 // report location to the last piece in the main source file.