30 operator uint64_t()
const {
35 return (
static_cast<uint64_t
>(
line) << 32) |
column;
73 std::shared_ptr<bpp::bpp_entity>
find(uint32_t line, uint32_t column) {
A map of file positions to Bash++ container entities.
Definition EntityMap.h:54
void insert(FilePosition start, FilePosition end, const std::shared_ptr< bpp::bpp_entity > &entity)
Add an entity to the entity map.
Definition EntityMap.h:62
std::shared_ptr< bpp::bpp_entity > find(uint32_t line, uint32_t column)
Find the active code entity at a specific line and column.
Definition EntityMap.h:73
FlatIntervalTree< std::shared_ptr< bpp::bpp_entity > > tree
Definition EntityMap.h:56
std::shared_ptr< bpp::bpp_entity > find(FilePosition point)
Definition EntityMap.h:66
A specialized implementation of an Interval Tree optimized for Bash++'s particular use case.
Definition IntervalTree.h:38
void insert(uint64_t low, uint64_t high, T payload)
Definition IntervalTree.h:63
T find_innermost_overlap(uint64_t point)
Find the innermost interval that overlaps a given point.
Definition IntervalTree.h:78
Definition bash_case.cpp:8
Represents a position in a source file by line and column.
Definition EntityMap.h:26
uint32_t line
Definition EntityMap.h:27
FilePosition(uint32_t line, uint32_t column)
Definition EntityMap.h:38
uint32_t column
Definition EntityMap.h:28