i_slint_compiler/passes/
collect_libraries.rs

1// Copyright © SixtyFPS GmbH <info@slint.dev>
2// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
3
4//! This pass fills the root component library_imports
5use crate::object_tree::Document;
6
7pub fn collect_libraries(doc: &mut Document) {
8    doc.imports.iter().for_each(|import| {
9        if let Some(library_info) = &import.library_info {
10            library_info.exports.iter().for_each(|export_name| {
11                doc.library_exports.insert(export_name.to_string(), library_info.clone());
12            });
13        }
14    });
15}