| 1745 | } |
| 1746 | |
| 1747 | void Geocoder::TraceResult(Tracer & tracer, BaseContext const & ctx, MwmSet::MwmId const & mwmId, uint32_t ftId, |
| 1748 | Model::Type type, TokenRange const & tokenRange) |
| 1749 | { |
| 1750 | SCOPE_GUARD(emitParse, [&]() { tracer.EmitParse(ctx.m_tokens); }); |
| 1751 | |
| 1752 | if (!Model::IsPoiOrBuilding(type)) |
| 1753 | return; |
| 1754 | |
| 1755 | if (mwmId != m_context->GetId()) |
| 1756 | return; |
| 1757 | |
| 1758 | auto ft = m_context->GetFeature(ftId); |
| 1759 | if (!ft) |
| 1760 | return; |
| 1761 | |
| 1762 | feature::TypesHolder holder(*ft); |
| 1763 | CategoriesInfo catInfo(holder, TokenSlice(m_params, tokenRange), m_params.m_categoryLocales, m_categories); |
| 1764 | |
| 1765 | emitParse.release(); |
| 1766 | tracer.EmitParse(ctx.m_tokens, catInfo.IsPureCategories()); |
| 1767 | } |
| 1768 | |
| 1769 | void Geocoder::EmitResult(BaseContext & ctx, FeatureID const & id, Model::Type type, TokenRange const & tokenRange, |
| 1770 | IntersectionResult const * geoParts, bool allTokensUsed, bool exactMatch) |
nothing calls this directly
no test coverage detected