Look up a given \p Ptr in in the buffer, determining which line it came from.
| 108 | /// Look up a given \p Ptr in in the buffer, determining which line it came |
| 109 | /// from. |
| 110 | unsigned SourceMgr::SrcBuffer::getLineNumber(const char *Ptr) const { |
| 111 | size_t Sz = Buffer->getBufferSize(); |
| 112 | if (Sz <= std::numeric_limits<uint8_t>::max()) |
| 113 | return getLineNumberSpecialized<uint8_t>(Ptr); |
| 114 | else if (Sz <= std::numeric_limits<uint16_t>::max()) |
| 115 | return getLineNumberSpecialized<uint16_t>(Ptr); |
| 116 | else if (Sz <= std::numeric_limits<uint32_t>::max()) |
| 117 | return getLineNumberSpecialized<uint32_t>(Ptr); |
| 118 | else |
| 119 | return getLineNumberSpecialized<uint64_t>(Ptr); |
| 120 | } |
| 121 | |
| 122 | template <typename T> |
| 123 | const char *SourceMgr::SrcBuffer::getPointerForLineNumberSpecialized( |
no test coverage detected