From 73a92c79b8d465d65a3cf7815cd007219cb185bc Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Wed, 14 Apr 2021 22:14:54 +0200 Subject: [PATCH] LibJS: Use reference in MemberExpression::execute() This was basically duplicated code. --- Userland/Libraries/LibJS/AST.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Userland/Libraries/LibJS/AST.cpp b/Userland/Libraries/LibJS/AST.cpp index a99af164ae..ca7c4a444a 100644 --- a/Userland/Libraries/LibJS/AST.cpp +++ b/Userland/Libraries/LibJS/AST.cpp @@ -1734,16 +1734,10 @@ Value MemberExpression::execute(Interpreter& interpreter, GlobalObject& global_o { InterpreterNodeScope node_scope { interpreter, *this }; - auto object_value = m_object->execute(interpreter, global_object); + auto reference = to_reference(interpreter, global_object); if (interpreter.exception()) return {}; - auto* object_result = object_value.to_object(global_object); - if (interpreter.exception()) - return {}; - auto property_name = computed_property_name(interpreter, global_object); - if (!property_name.is_valid()) - return {}; - return object_result->get(property_name).value_or(js_undefined()); + return reference.get(global_object); } void MetaProperty::dump(int indent) const