sun::semantic_analysis::ClassAnalyzer
class · Source (opens in a new tab)
class sun::semantic_analysis::ClassAnalyzerChecks 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