From 83b7420a3ff450d8ff7671392bd49fc1c2c9f754 Mon Sep 17 00:00:00 2001 From: Adrian Wielgosik Date: Fri, 24 Sep 2021 18:39:24 +0200 Subject: [PATCH] avm2: Remove unneeded indirection from ClassObject methods --- core/src/avm2/object/class_object.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/core/src/avm2/object/class_object.rs b/core/src/avm2/object/class_object.rs index 0ca1d9b64..9b3b6391d 100644 --- a/core/src/avm2/object/class_object.rs +++ b/core/src/avm2/object/class_object.rs @@ -207,10 +207,8 @@ impl<'gc> ClassObject<'gc> { mut self, activation: &mut Activation<'_, 'gc, '_>, ) -> Result, Error> { - let class = self - .as_class_definition() - .ok_or("Cannot finish initialization of core class without a class definition!")?; - let class_class = self.0.read().base.instance_of().ok_or( + let class = self.inner_class_definition(); + let class_class = self.instance_of().ok_or( "Cannot finish initialization of core class without it being linked to a type!", )?; @@ -524,9 +522,7 @@ impl<'gc> TObject<'gc> for ClassObject<'gc> { activation: &mut Activation<'_, 'gc, '_>, nullable_params: &[Value<'gc>], ) -> Result, Error> { - let self_class = self - .as_class_definition() - .ok_or("Attempted to apply type arguments to non-class!")?; + let self_class = self.inner_class_definition(); if !self_class.read().is_generic() { return Err(format!("Class {:?} is not generic", self_class.read().name()).into());