teo_parser/resolver/
resolve_argument_list_declaration.rs1use maplit::btreemap;
2use crate::ast::argument_declaration::{ArgumentDeclaration};
3use crate::ast::argument_list_declaration::ArgumentListDeclaration;
4use crate::availability::Availability;
5use crate::ast::generics::{GenericsConstraint, GenericsDeclaration};
6use crate::resolver::resolve_type_expr::resolve_type_expr;
7use crate::resolver::resolver_context::ResolverContext;
8
9pub(super) fn resolve_argument_list_declaration<'a>(
10 argument_list_declaration: &'a ArgumentListDeclaration,
11 generics_declaration: &Vec<&'a GenericsDeclaration>,
12 generics_constraint: &Vec<&'a GenericsConstraint>,
13 context: &'a ResolverContext<'a>,
14 availability: Availability,
15) {
16 for partial_argument_declaration in argument_list_declaration.partial_argument_declarations() {
17 context.insert_diagnostics_error(partial_argument_declaration.span, "partial argument declaration");
18 }
19 for argument_declaration in argument_list_declaration.argument_declarations() {
20 resolve_argument_declaration(argument_declaration, generics_declaration, generics_constraint, context, availability)
21 }
22}
23
24fn resolve_argument_declaration<'a>(
25 argument_declaration: &'a ArgumentDeclaration,
26 generics_declaration: &Vec<&'a GenericsDeclaration>,
27 generics_constraint: &Vec<&'a GenericsConstraint>,
28 context: &'a ResolverContext<'a>,
29 availability: Availability,
30) {
31 let result = resolve_type_expr(argument_declaration.type_expr(), generics_declaration, generics_constraint, &btreemap! {}, context, availability);
32}