Преглед изворни кода

LibJS: Use reference in MemberExpression::execute()

This was basically duplicated code.
Linus Groh пре 4 година
родитељ
комит
73a92c79b8
1 измењених фајлова са 2 додато и 8 уклоњено
  1. 2 8
      Userland/Libraries/LibJS/AST.cpp

+ 2 - 8
Userland/Libraries/LibJS/AST.cpp

@@ -1734,16 +1734,10 @@ Value MemberExpression::execute(Interpreter& interpreter, GlobalObject& global_o
 {
 {
     InterpreterNodeScope node_scope { interpreter, *this };
     InterpreterNodeScope node_scope { interpreter, *this };
 
 
-    auto object_value = m_object->execute(interpreter, global_object);
-    if (interpreter.exception())
-        return {};
-    auto* object_result = object_value.to_object(global_object);
+    auto reference = to_reference(interpreter, global_object);
     if (interpreter.exception())
     if (interpreter.exception())
         return {};
         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
 void MetaProperty::dump(int indent) const