sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard
class · Source (opens in a new tab)
class sun::semantic_analysis::SemanticContext::DeclarationCollectionGuardTrack nested declaration collection independently of specialization jobs.
Public Functions
DeclarationCollectionGuard
DeclarationCollectionGuard(const DeclarationCollectionGuard &)=delete
public · function · Source (opens in a new tab)
sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard::DeclarationCollectionGuard(const DeclarationCollectionGuard &)=deleteKeep each collection interval owned by one guard.
DeclarationCollectionGuard(SemanticContext &context)
public · function · Source (opens in a new tab)
sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard::DeclarationCollectionGuard(SemanticContext &context)Enter declaration collection for this context.
Related: SemanticContext
operator=
public · function · Source (opens in a new tab)
DeclarationCollectionGuard & sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard::operator=(const DeclarationCollectionGuard &)=deletePrevent duplicate collection interval ownership.
Related: DeclarationCollectionGuard
~DeclarationCollectionGuard
public · function · Source (opens in a new tab)
sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard::~DeclarationCollectionGuard()Restore collection depth on success or failure.
Private Fields
context_
private · variable · Source (opens in a new tab)
SemanticContext& sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard::context_No documentation comment.
Related: SemanticContext