From 5feb7e8d2883e8a1400bfb5d0911bcb9cae5ae63 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Wed, 7 Oct 2020 19:54:36 +0100 Subject: [PATCH] LibJS: Use PropertyName::from_value() in MemberExpression::computed_property_name() No need for duplicating this logic. --- Libraries/LibJS/AST.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/Libraries/LibJS/AST.cpp b/Libraries/LibJS/AST.cpp index 784d254332..60de3d9383 100644 --- a/Libraries/LibJS/AST.cpp +++ b/Libraries/LibJS/AST.cpp @@ -1549,8 +1549,6 @@ Value ObjectExpression::execute(Interpreter& interpreter, GlobalObject& global_o continue; } - if (interpreter.exception()) - return {}; auto value = property.value().execute(interpreter, global_object); if (interpreter.exception()) return {}; @@ -1595,22 +1593,11 @@ PropertyName MemberExpression::computed_property_name(Interpreter& interpreter, ASSERT(m_property->is_identifier()); return static_cast(*m_property).string(); } - auto index = m_property->execute(interpreter, global_object); + auto value = m_property->execute(interpreter, global_object); if (interpreter.exception()) return {}; - - ASSERT(!index.is_empty()); - - if (index.is_integer() && index.as_i32() >= 0) - return index.as_i32(); - - if (index.is_symbol()) - return &index.as_symbol(); - - auto index_string = index.to_string(global_object); - if (interpreter.exception()) - return {}; - return index_string; + ASSERT(!value.is_empty()); + return PropertyName::from_value(global_object, value); } String MemberExpression::to_string_approximation() const