| 2286 | /// Resolves names in an AST node using the provided catalog. |
| 2287 | #[mz_ore::instrument(target = "compiler", level = "trace", name = "ast_resolve_names")] |
| 2288 | pub fn resolve<N>( |
| 2289 | catalog: &dyn SessionCatalog, |
| 2290 | node: N, |
| 2291 | ) -> Result<(N::Folded, ResolvedIds), PlanError> |
| 2292 | where |
| 2293 | N: FoldNode<Raw, Aug>, |
| 2294 | { |
| 2295 | let mut resolver = NameResolver::new(catalog); |
| 2296 | let result = node.fold(&mut resolver); |
| 2297 | resolver.status?; |
| 2298 | Ok((result, ResolvedIds::new(resolver.ids))) |
| 2299 | } |
| 2300 | |
| 2301 | /// A set of items and their corresponding collections resolved by name resolution. |
| 2302 | /// |