MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / find_block

Method find_block

atomic-core/src/apply/graph_batch.rs:199–220  ·  view source on GitHub ↗
(&self, pos: Position<NodeId>)

Source from the content-addressed store, hash-verified

197 }
198
199 fn find_block(&self, pos: Position<NodeId>) -> PristineResult<GraphNode<NodeId>> {
200 if pos.change.is_root() {
201 return Ok(GraphNode::ROOT);
202 }
203
204 let change_id = pos.change.get();
205 let target_pos = pos.pos.get();
206 self.ensure_loaded(change_id)?;
207
208 if let Some((s, e)) = self.index.borrow().find_block(change_id, target_pos) {
209 return Ok(GraphNode {
210 change: NodeId::new(change_id),
211 start: ChangePosition::new(s),
212 end: ChangePosition::new(e),
213 });
214 }
215
216 Err(PristineError::BlockNotFound {
217 change: change_id,
218 pos: target_pos,
219 })
220 }
221
222 fn find_block_end(&self, pos: Position<NodeId>) -> PristineResult<GraphNode<NodeId>> {
223 if pos.change.is_root() {

Callers 4

resolve_vertexFunction · 0.45
find_target_vertexFunction · 0.45
collect_zombie_contextFunction · 0.45
resolve_context_vertexFunction · 0.45

Calls 3

ensure_loadedMethod · 0.80
getMethod · 0.65
is_rootMethod · 0.45

Tested by

no test coverage detected