teo-parser 0.3.0

Parser for Teo schema language
Documentation
use maplit::btreemap;
use crate::ast::argument_declaration::{ArgumentDeclaration};
use crate::ast::argument_list_declaration::ArgumentListDeclaration;
use crate::availability::Availability;
use crate::ast::generics::{GenericsConstraint, GenericsDeclaration};
use crate::resolver::resolve_type_expr::resolve_type_expr;
use crate::resolver::resolver_context::ResolverContext;

pub(super) fn resolve_argument_list_declaration<'a>(
    argument_list_declaration: &'a ArgumentListDeclaration,
    generics_declaration: &Vec<&'a GenericsDeclaration>,
    generics_constraint: &Vec<&'a GenericsConstraint>,
    context: &'a ResolverContext<'a>,
    availability: Availability,
) {
    for partial_argument_declaration in argument_list_declaration.partial_argument_declarations() {
        context.insert_diagnostics_error(partial_argument_declaration.span, "partial argument declaration");
    }
    for argument_declaration in argument_list_declaration.argument_declarations() {
        resolve_argument_declaration(argument_declaration, generics_declaration, generics_constraint, context, availability)
    }
}

fn resolve_argument_declaration<'a>(
    argument_declaration: &'a ArgumentDeclaration,
    generics_declaration: &Vec<&'a GenericsDeclaration>,
    generics_constraint: &Vec<&'a GenericsConstraint>,
    context: &'a ResolverContext<'a>,
    availability: Availability,
) {
    let result = resolve_type_expr(argument_declaration.type_expr(), generics_declaration, generics_constraint, &btreemap! {}, context, availability);
}