1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:37:37 +00:00

JSSpecCompiler: Refactor CompilerPass to accept TranslationUnitRef

This commit is contained in:
Dan Klishch 2023-09-29 19:43:19 -04:00 committed by Andrew Kaster
parent 24682f5dcf
commit 61fa00d46c
8 changed files with 48 additions and 13 deletions

View file

@ -15,8 +15,8 @@ namespace JSSpecCompiler {
class CompilerPass {
public:
CompilerPass(FunctionDefinitionRef function)
: m_function(function)
CompilerPass(TranslationUnitRef translation_unit)
: m_translation_unit(translation_unit)
{
}
@ -25,6 +25,21 @@ public:
virtual void run() = 0;
protected:
TranslationUnitRef m_translation_unit;
};
class IntraproceduralCompilerPass : public CompilerPass {
public:
IntraproceduralCompilerPass(TranslationUnitRef translation_unit)
: CompilerPass(translation_unit)
{
}
void run() override final;
protected:
virtual void process_function() = 0;
FunctionDefinitionRef m_function;
};