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

Reusable top-level name lookup over bound module surfaces. More...

#include <string>
#include <string_view>
#include <Compiler_Module_Binder.H>
#include <Compiler_Module_Name_Table.H>
Include dependency graph for Compiler_Module_Name_Resolver.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_Name_Resolution
 Structured result returned by reusable module-name resolution. More...
 

Namespaces

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

Enumerations

enum class  Aleph::Compiler_Module_Name_Filter {
  Aleph::Any , Aleph::Value , Aleph::Function , Aleph::Global ,
  Aleph::Type
}
 Query filters supported by reusable module-name resolution. More...
 
enum class  Aleph::Compiler_Module_Name_Resolution_Status {
  Aleph::Resolved , Aleph::Missing_Module , Aleph::Missing_Name , Aleph::Wrong_Kind ,
  Aleph::Ambiguous_Name
}
 Result status for one module-name query. More...
 

Functions

const char * Aleph::compiler_module_name_filter_name (const Compiler_Module_Name_Filter filter) noexcept
 Returns the stable debug name for one module-name filter.
 
const char * Aleph::compiler_module_name_resolution_status_name (const Compiler_Module_Name_Resolution_Status status) noexcept
 Returns the stable debug name for one module-name resolution status.
 
bool Aleph::Compiler_Module_Name_Resolver_Detail::matches_filter (const Compiler_Module_Bound_Name &binding, const Compiler_Module_Name_Filter filter) noexcept
 
bool Aleph::Compiler_Module_Name_Resolver_Detail::issue_matches_query (const Compiler_Module_Binding_Issue &issue, const std::string_view module_name, const std::string_view symbol_name, const Compiler_Module_Name_Filter filter) noexcept
 
Compiler_Module_Name_Resolution Aleph::compiler_resolve_module_name (const Compiler_Module_Binding_Result &bindings, const std::string_view module_name, const std::string_view symbol_name, const Compiler_Module_Name_Filter filter=Compiler_Module_Name_Filter::Any)
 Resolves one top-level name through reusable per-module bindings.
 
Compiler_Module_Name_Resolution Aleph::compiler_resolve_module_name (const Compiler_Module_Name_Table &table, const std::string_view module_name, const std::string_view symbol_name, const Compiler_Module_Name_Filter filter=Compiler_Module_Name_Filter::Any)
 Resolves one top-level name through a cached per-module name table.
 

Detailed Description

Reusable top-level name lookup over bound module surfaces.

This header provides one small semantic query layer above Compiler_Module_Binder.H: given a module name and one symbol query, it answers whether that symbol resolves locally/imported, is missing, belongs to the wrong kind, or was omitted because the bound surface is ambiguous.

Definition in file Compiler_Module_Name_Resolver.H.