MCPcopy Create free account
hub / github.com/borgo-lang/borgo / parse_interface_method

Method parse_interface_method

compiler/src/parser.rs:1864–1892  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

1862 }
1863
1864 fn parse_interface_method(&mut self) -> Expr {
1865 assert!(self.tok.kind == TokenKind::Fn_);
1866
1867 // consume 'fn'
1868 self.next();
1869
1870 let start = self.start();
1871
1872 let name = self.parse_one_ident();
1873 let args = self.parse_param_list(ParamsMode::Fn);
1874 let ann = self.parse_ret_type(FunctionKind::TopLevel);
1875
1876 let fun = Function {
1877 name,
1878 generics: vec![],
1879 args,
1880 ann,
1881 body: Expr::Noop.into(),
1882 ret: Type::dummy(),
1883 bounded_ty: Type::dummy().to_bounded(),
1884 };
1885
1886 Expr::Closure {
1887 fun,
1888 kind: FunctionKind::TopLevel,
1889 ty: Type::dummy(),
1890 span: self.make_span(start),
1891 }
1892 }
1893
1894 fn item_const(&mut self) -> Expr {
1895 assert!(self.tok.kind == TokenKind::Const);

Callers 1

item_interfaceMethod · 0.80

Calls 7

parse_one_identMethod · 0.80
parse_param_listMethod · 0.80
parse_ret_typeMethod · 0.80
to_boundedMethod · 0.80
make_spanMethod · 0.80
nextMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected