teo_parser/resolver/
resolve_argument_list_declaration.rs

1use 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}