MCPcopy Create free account
hub / github.com/csskit/csskit / parse_value

Method parse_value

crates/csskit_transform/src/transformer.rs:105–122  ·  view source on GitHub ↗
(&self, source: &'a str)

Source from the content-addressed store, hash-verified

103 }
104
105 pub fn parse_value<T>(&self, source: &'a str) -> Vec<'a, SourceCursor<'a>>
106 where
107 T: Parse<'a> + ToCursors,
108 {
109 let lexer = Lexer::new(self.atoms, source);
110 let mut parser = Parser::new(self.bump, source, lexer);
111 let parsed = parser.parse_entirely::<T>();
112 debug_assert!(
113 parsed.output.is_some(),
114 "Transformer::parse_value failed to parse {:?}: {:?}",
115 source,
116 parsed.errors
117 );
118 let mut cursors = Vec::new_in(self.bump());
119 let mut sink = CursorToSourceCursorSink::new(source, &mut cursors);
120 parsed.to_cursors(&mut sink);
121 cursors
122 }
123
124 pub fn reset(&self) {
125 *self.changed.borrow_mut() = false;

Callers

nothing calls this directly

Calls 2

bumpMethod · 0.45
to_cursorsMethod · 0.45

Tested by

no test coverage detected