///|
fn record_wgsl_import_request_link_edges(
link_graph : WgslComposeLinkGraph,
importer_rel_path : String,
request : WgslImportRequest,
) -> Unit {
if request.import_full_module {
link_graph.record_import(
importer_rel_path,
request.rel_path,
request.module_path,
request.alias_name,
"",
if request.alias_name == "" {
FullModule
} else {
AliasModule
},
)
}
for item_name in request.requested_items {
let identity = WgslComposeSymbolIdentity(request.rel_path, item_name)
link_graph.mark_reachable(identity)
link_graph.record_import(
importer_rel_path,
request.rel_path,
request.module_path,
request.alias_name,
item_name,
ItemBinding,
)
}
}
///|
fn record_wgsl_import_request_batch_link_edges(
link_graph : WgslComposeLinkGraph,
importer_rel_path : String,
requests : Array[WgslImportRequest],
) -> Unit {
for request in requests {
record_wgsl_import_request_link_edges(
link_graph, importer_rel_path, request,
)
}
}