MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / parse_def

Method parse_def

cranelift/isle/isle/src/parser.rs:179–200  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

177 }
178
179 fn parse_def(&mut self) -> Result<Def> {
180 self.expect_lparen()?;
181 let pos = self.pos();
182 let def = match &self.expect_symbol()?[..] {
183 "pragma" => Def::Pragma(self.parse_pragma()?),
184 "type" => Def::Type(self.parse_type()?),
185 "decl" => Def::Decl(self.parse_decl()?),
186 "spec" => Def::Spec(self.parse_spec()?),
187 "model" => Def::Model(self.parse_model()?),
188 "form" => Def::Form(self.parse_form()?),
189 "instantiate" => Def::Instantiation(self.parse_instantiation()?),
190 "rule" => Def::Rule(self.parse_rule()?),
191 "extractor" => Def::Extractor(self.parse_etor()?),
192 "extern" => Def::Extern(self.parse_extern()?),
193 "convert" => Def::Converter(self.parse_converter()?),
194 s => {
195 return Err(self.error(pos, format!("Unexpected identifier: {s}")));
196 }
197 };
198 self.expect_rparen()?;
199 Ok(def)
200 }
201
202 fn str_to_ident(&self, pos: Pos, s: &str) -> Result<Ident> {
203 let first = s

Callers 1

parse_defsMethod · 0.80

Calls 15

PragmaEnum · 0.85
DeclClass · 0.85
ModelClass · 0.85
FormClass · 0.85
InstantiationClass · 0.85
ExtractorClass · 0.85
ConverterClass · 0.85
OkFunction · 0.85
expect_lparenMethod · 0.80
expect_symbolMethod · 0.80
parse_pragmaMethod · 0.80
parse_typeMethod · 0.80

Tested by

no test coverage detected