Make methods be available in earlier stages of analysis. Add @adhoc attribute to allow types with ad hoc generic declarations.

This commit is contained in:
Christoffer Lerno
2024-09-25 14:26:49 +02:00
parent 6f7ffbeb3c
commit da47588502
14 changed files with 150 additions and 66 deletions

View File

@@ -158,15 +158,26 @@ void sema_analyze_stage(Module *module, AnalysisStage stage)
case ANALYSIS_REGISTER_GLOBAL_DECLARATIONS:
sema_analysis_pass_register_global_declarations(module);
break;
case ANALYSIS_METHODS_REGISTER:
sema_analysis_pass_process_methods(module);
break;
case ANALYSIS_INCLUDES:
sema_analysis_pass_process_includes(module);
break;
case ANALYSIS_METHODS_INCLUDES:
sema_analysis_pass_process_methods(module);
break;
case ANALYSIS_REGISTER_CONDITIONAL_UNITS:
sema_analysis_pass_register_conditional_units(module);
break;
case ANALYSIS_REGISTER_CONDITIONAL_DECLARATIONS:
sema_analysis_pass_register_conditional_declarations(module);
break;
case ANALYSIS_METHODS_CONDITIONAL:
sema_analysis_pass_process_methods(module);
break;
case ANALYSIS_POST_REGISTER:
break;
case ANALYSIS_DECLS:
sema_analysis_pass_decls(module);
break;