MCPcopy Create free account
hub / github.com/dylan-sutton-chavez/edge-python / read_module_spec

Method read_module_spec

compiler/src/modules/parser/imports.rs:62–80  ·  view source on GitHub ↗

Reads a quoted or dotted spec; returns (spec, span) for diagnostics. */

(&mut self)

Source from the content-addressed store, hash-verified

60
61 /* Reads a quoted or dotted spec; returns (spec, span) for diagnostics. */
62 fn read_module_spec(&mut self) -> (String, (usize, usize)) {
63 if matches!(self.peek(), Some(TokenType::String)) {
64 let t = self.advance();
65 let raw = self.lexeme(&t).to_string();
66 let unquoted = parse_string(&raw);
67 (unquoted, (t.start, t.end))
68 } else {
69 let first = self.advance();
70 let mut name = self.lexeme(&first).to_string();
71 let mut span = (first.start, first.end);
72 while self.eat_if(TokenType::Dot) {
73 let next = self.advance();
74 name.push('.');
75 name.push_str(self.lexeme(&next));
76 span.1 = next.end;
77 }
78 (name, span)
79 }
80 }
81
82 /* Verifies #sha256 fragment then resolves; parser re-hashes bytes as defence-in-depth. Returns clean URL. */
83 fn resolve_with_integrity(&mut self, spec: &str) -> Result<(String, Resolved), String> {

Callers 2

do_import_stmtMethod · 0.80
do_from_stmtMethod · 0.80

Calls 5

parse_stringFunction · 0.85
advanceMethod · 0.80
lexemeMethod · 0.80
eat_ifMethod · 0.80
pushMethod · 0.80

Tested by

no test coverage detected