sun::semantic_analysis::AccessContext

sun::semantic_analysis::AccessContext

struct · Source (opens in a new tab)

struct sun::semantic_analysis::AccessContext

Access 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 =0

The 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() const

The 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 =0

Declaration 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 =0

Reports 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()=default

Destroys this object and releases its owned members.