rue_compiler/compile/
binding.rs

1mod list_binding;
2mod named_binding;
3mod pair_binding;
4mod struct_binding;
5
6pub use list_binding::*;
7pub use named_binding::*;
8pub use pair_binding::*;
9pub use struct_binding::*;
10
11use rue_ast::AstBinding;
12use rue_hir::SymbolId;
13
14use crate::Compiler;
15
16pub fn create_binding(ctx: &mut Compiler, symbol: SymbolId, binding: &AstBinding) {
17    match binding {
18        AstBinding::NamedBinding(binding) => create_named_binding(ctx, symbol, binding),
19        AstBinding::PairBinding(binding) => create_pair_binding(ctx, symbol, binding),
20        AstBinding::ListBinding(binding) => create_list_binding(ctx, symbol, binding),
21        AstBinding::StructBinding(binding) => create_struct_binding(ctx, symbol, binding),
22    }
23}