sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard

sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard

class · Source (opens in a new tab)

class sun::semantic_analysis::SemanticContext::DeclarationCollectionGuard

Track 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 &)=delete

Keep 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 &)=delete

Prevent 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