sun::semantic_analysis::AccessContext
struct · Source (opens in a new tab)
struct sun::semantic_analysis::AccessContextAccess control hooks for symbol lookup
Lookups filter out symbols the asking code may not see (see include/semantic_analysis/visibility.h). The analyzer installs an AccessContext on the root scope; it answers "which module is asking" and reports a denial. Without a context (no analyzer attached) lookups are
unfiltered.
Inherited by
Public Functions
currentModuleId
public · function · Source (opens in a new tab)
virtual sun::semantic_analysis::DeclarationId sun::semantic_analysis::AccessContext::currentModuleId() const =0The module whose source is being analyzed.
Related: sun::semantic_analysis::DeclarationId
currentSourceFileId
public · function · Source (opens in a new tab)
virtual SourceFileId sun::semantic_analysis::AccessContext::currentSourceFileId() constThe source unit performing name lookup.
Related: SourceFileId
declarationTable
public · function · Source (opens in a new tab)
virtual const sun::semantic_analysis::DeclarationTable & sun::semantic_analysis::AccessContext::declarationTable() const =0Declaration ownership for this analysis session.
Related: sun::semantic_analysis::DeclarationTable
denyAccess
public · function · Source (opens in a new tab)
virtual void sun::semantic_analysis::AccessContext::denyAccess(const sun::semantic_analysis::ItemRef &item) const =0Reports why the current scope cannot access the supplied declaration.
Related: sun::semantic_analysis::ItemRef
~AccessContext
public · function · Source (opens in a new tab)
virtual sun::semantic_analysis::AccessContext::~AccessContext()=defaultDestroys this object and releases its owned members.