LibJS: Move join_args() in Interpreter

It can be useful outside of Runtime/ConsoleObject.cpp.
join_args() => Interpreter::join_arguments()
This commit is contained in:
Emanuele Torre 2020-05-04 12:34:49 +02:00 committed by Andreas Kling
parent 046f9cf115
commit 73bead5ae9
Notes: sideshowbarker 2024-07-19 06:59:02 +09:00
3 changed files with 20 additions and 17 deletions

View file

@ -25,6 +25,7 @@
*/
#include <AK/Badge.h>
#include <AK/StringBuilder.h>
#include <LibJS/AST.h>
#include <LibJS/Interpreter.h>
#include <LibJS/Runtime/Error.h>
@ -261,4 +262,15 @@ const GlobalObject& Interpreter::global_object() const
return static_cast<const GlobalObject&>(*m_global_object);
}
String Interpreter::join_arguments()
{
StringBuilder joined_arguments;
for (size_t i = 0; i < argument_count(); ++i) {
joined_arguments.append(argument(i).to_string().characters());
if (i != argument_count() - 1)
joined_arguments.append(' ');
}
return joined_arguments.build();
}
}

View file

@ -166,6 +166,8 @@ public:
Console& console() { return m_console; }
String join_arguments();
private:
Interpreter();

View file

@ -36,17 +36,6 @@
namespace JS {
static String join_args(Interpreter& interpreter)
{
StringBuilder joined_arguments;
for (size_t i = 0; i < interpreter.argument_count(); ++i) {
joined_arguments.append(interpreter.argument(i).to_string().characters());
if (i != interpreter.argument_count() - 1)
joined_arguments.append(' ');
}
return joined_arguments.build();
}
ConsoleObject::ConsoleObject()
: Object(interpreter().global_object().object_prototype())
{
@ -67,37 +56,37 @@ ConsoleObject::~ConsoleObject()
Value ConsoleObject::log(Interpreter& interpreter)
{
interpreter.console().log(join_args(interpreter));
interpreter.console().log(interpreter.join_arguments());
return js_undefined();
}
Value ConsoleObject::debug(Interpreter& interpreter)
{
interpreter.console().debug(join_args(interpreter));
interpreter.console().debug(interpreter.join_arguments());
return js_undefined();
}
Value ConsoleObject::info(Interpreter& interpreter)
{
interpreter.console().info(join_args(interpreter));
interpreter.console().info(interpreter.join_arguments());
return js_undefined();
}
Value ConsoleObject::warn(Interpreter& interpreter)
{
interpreter.console().warn(join_args(interpreter));
interpreter.console().warn(interpreter.join_arguments());
return js_undefined();
}
Value ConsoleObject::error(Interpreter& interpreter)
{
interpreter.console().error(join_args(interpreter));
interpreter.console().error(interpreter.join_arguments());
return js_undefined();
}
Value ConsoleObject::trace(Interpreter& interpreter)
{
interpreter.console().trace(join_args(interpreter));
interpreter.console().trace(interpreter.join_arguments());
return js_undefined();
}