Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Compiler_Module_Linker.H File Reference

Reusable linking helpers for module surfaces and direct imports. More...

#include <sstream>
#include <string>
#include <tpl_dynMapTree.H>
#include <Compiler_Module_Metadata.H>
#include <Compiler_Module_Resolver.H>
Include dependency graph for Compiler_Module_Linker.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::Compiler_Module_Visible_Export
 One visible top-level declaration in a linked module surface. More...
 
struct  Aleph::Compiler_Module_Linkage
 One linked module view under direct-import surface rules. More...
 
struct  Aleph::Compiler_Module_Linkage_Issue
 One structural issue reported by the reusable module linker. More...
 
struct  Aleph::Compiler_Module_Link_Result
 Link result over module descriptors and module metadata. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 
namespace  Aleph::Compiler_Module_Linker_Detail
 

Enumerations

enum class  Aleph::Compiler_Module_Linkage_Issue_Kind { Aleph::Missing_Metadata , Aleph::Duplicate_Value_Export , Aleph::Duplicate_Type_Export }
 Structural issues emitted while linking module surfaces. More...
 

Functions

const char * Aleph::compiler_module_linkage_issue_name (const Compiler_Module_Linkage_Issue_Kind kind) noexcept
 Returns the stable debug name for one linkage issue kind.
 
size_t Aleph::Compiler_Module_Linker_Detail::find_metadata_index (const DynArray< Compiler_Module_Metadata > &metadata, const std::string &name) noexcept
 
int Aleph::Compiler_Module_Linker_Detail::export_namespace_bucket (const Compiler_Module_Export_Kind kind) noexcept
 
Compiler_Module_Link_Result Aleph::compiler_link_module_surfaces (const DynArray< Compiler_Module_Descriptor > &descriptors, const DynArray< Compiler_Module_Metadata > &metadata, const DynArray< size_t > &order)
 Links direct-import module surfaces into visible top-level views.
 
std::string Aleph::compiler_render_module_linkage (const Compiler_Module_Link_Result &result)
 Renders one deterministic text artifact for linked module surfaces.
 

Detailed Description

Reusable linking helpers for module surfaces and direct imports.

This header links Compiler_Module_Descriptor and Compiler_Module_Metadata into a direct-import view showing which top-level declarations are visible to each module from itself and its immediate imports. It also reports duplicate visible names across the current value or type namespace.

Definition in file Compiler_Module_Linker.H.