sun::semantic_analysis::ClassAnalyzer

sun::semantic_analysis::ClassAnalyzer

class · Source (opens in a new tab)

class sun::semantic_analysis::ClassAnalyzer

Checks class definitions, partial classes, and packed layout restrictions.

Public Functions

ClassAnalyzer

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

sun::semantic_analysis::ClassAnalyzer::ClassAnalyzer(SemanticContext &context, SemanticAnalyzer &analyzer)

Borrows the session context and the cooperating analysis services.

Related: SemanticContext, SemanticAnalyzer

analyzeClassDefinition

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

void sun::semantic_analysis::ClassAnalyzer::analyzeClassDefinition(sun::ast::ClassDefinitionAST &classDef)

Checks a class definition, its members, and its method bodies.

Related: sun::ast::ClassDefinitionAST

analyzePartialClass

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

void sun::semantic_analysis::ClassAnalyzer::analyzePartialClass(sun::ast::ClassDefinitionAST &classDef, sun::ast::ExprAST &expr)

Analyze a partial class definition.

Partial classes add methods to an existing primary class. If the primary has been analyzed, merges now; otherwise stashes for later merging.

Related: sun::ast::ClassDefinitionAST, sun::ast::ExprAST

Private Fields

ctx_

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

SemanticContext& sun::semantic_analysis::ClassAnalyzer::ctx_

No documentation comment.

Related: SemanticContext

sema_

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

SemanticAnalyzer& sun::semantic_analysis::ClassAnalyzer::sema_

No documentation comment.

Related: SemanticAnalyzer