sun::semantic_analysis::MethodSignatureSet

sun::semantic_analysis::MethodSignatureSet

class · Source (opens in a new tab)

class sun::semantic_analysis::MethodSignatureSet

Detect duplicate method signatures, comparing generic binders by position.

Public Functions

MethodSignatureSet

public · function · Source (opens in a new tab)

sun::semantic_analysis::MethodSignatureSet::MethodSignatureSet(SemanticContext &context, type_analysis::TypeResolver &types)

Use the declaration's context to substitute generic parameter bindings.

Related: SemanticContext, type_analysis::TypeResolver

insert

public · function · Source (opens in a new tab)

bool sun::semantic_analysis::MethodSignatureSet::insert(const sun::ast::PrototypeAST &prototype, const std::vector< sun::types::TypePtr > &parameters)

Return false when an equivalent source method has already been recorded.

Related: sun::ast::PrototypeAST, sun::types::TypePtr

Private Fields

binders_

private · variable · Source (opens in a new tab)

std::vector<sun::semantic_analysis::DeclarationId> sun::semantic_analysis::MethodSignatureSet::binders_

No documentation comment.

Related: sun::semantic_analysis::DeclarationId

context_

private · variable · Source (opens in a new tab)

SemanticContext& sun::semantic_analysis::MethodSignatureSet::context_

No documentation comment.

Related: SemanticContext

resolver_

private · variable · Source (opens in a new tab)

type_analysis::TypeResolver& sun::semantic_analysis::MethodSignatureSet::resolver_

No documentation comment.

Related: type_analysis::TypeResolver

signatures_

private · variable · Source (opens in a new tab)

std::unordered_set<sun::semantic_analysis::CallableSignature, sun::semantic_analysis::CallableSignatureHash> sun::semantic_analysis::MethodSignatureSet::signatures_

No documentation comment.

Related: sun::semantic_analysis::CallableSignature, sun::semantic_analysis::CallableSignatureHash