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

JSSpecCompiler: Create FunctionDeclarations for all external functions

This commit is contained in:
Dan Klishch 2023-10-02 13:34:00 -04:00 committed by Andrew Kaster
parent 5338cdd153
commit 7f47340c82
8 changed files with 32 additions and 35 deletions

View file

@ -497,17 +497,12 @@ protected:
class FunctionPointer : public Expression {
public:
FunctionPointer(StringView function_name)
: m_function(function_name)
FunctionPointer(FunctionDeclarationRef declaration)
: m_declaration(declaration)
{
}
FunctionPointer(FunctionDefinitionRef function_definition)
: m_function(function_definition)
{
}
Variant<StringView, FunctionDefinitionRef> m_function;
FunctionDeclarationRef m_declaration;
protected:
void dump_tree(StringBuilder& builder) override;

View file

@ -162,13 +162,7 @@ void Variable::dump_tree(StringBuilder& builder)
void FunctionPointer::dump_tree(StringBuilder& builder)
{
m_function.visit(
[&](StringView name) {
dump_node(builder, "Func external \"{}\"", name);
},
[&](FunctionDefinitionRef function) {
dump_node(builder, "Func local \"{}\"", function->m_name);
});
dump_node(builder, "Func \"{}\"", m_declaration->m_name);
}
}