avm2: Remove install_trait_late

This commit is contained in:
Aaron Hill 2023-02-21 14:26:37 -06:00
parent c52f1082c4
commit f1b0247de7
3 changed files with 1 additions and 15 deletions

View File

@ -16,8 +16,6 @@ use gc_arena::{Collect, GcCell, MutationContext};
use std::sync::Arc; use std::sync::Arc;
use swf::TagCode; use swf::TagCode;
use super::traits::Trait;
mod array; mod array;
mod boolean; mod boolean;
mod class; mod class;
@ -294,7 +292,6 @@ fn class<'gc>(
); );
domain.export_definition(class_name, script, activation.context.gc_context)?; domain.export_definition(class_name, script, activation.context.gc_context)?;
domain.export_class(class_name, class_def, activation.context.gc_context)?; domain.export_class(class_name, class_def, activation.context.gc_context)?;
script.install_trait_late(Trait::from_class(class_def), activation);
Ok(class_object) Ok(class_object)
} }

View File

@ -11,10 +11,10 @@ use crate::avm2::property::Property;
use crate::avm2::scope::{Scope, ScopeChain}; use crate::avm2::scope::{Scope, ScopeChain};
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::vtable::{ClassBoundMethod, VTable}; use crate::avm2::vtable::{ClassBoundMethod, VTable};
use crate::avm2::Error;
use crate::avm2::Multiname; use crate::avm2::Multiname;
use crate::avm2::QName; use crate::avm2::QName;
use crate::avm2::TranslationUnit; use crate::avm2::TranslationUnit;
use crate::avm2::{Domain, Error};
use crate::string::AvmString; use crate::string::AvmString;
use fnv::FnvHashMap; use fnv::FnvHashMap;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};

View File

@ -481,17 +481,6 @@ impl<'gc> Script<'gc> {
Ok(()) Ok(())
} }
/// Install a trait on this `Script` object
/// This should only ever be called on the `global` script, during Rust-side initialization.
pub fn install_trait_late(
&self,
loaded_trait: Trait<'gc>,
activation: &mut Activation<'_, 'gc>,
) {
let mut write = self.0.write(activation.context.gc_context);
write.traits.push(loaded_trait);
}
/// Return the entrypoint for the script and the scope it should run in. /// Return the entrypoint for the script and the scope it should run in.
pub fn init(self) -> (Method<'gc>, Object<'gc>, Domain<'gc>) { pub fn init(self) -> (Method<'gc>, Object<'gc>, Domain<'gc>) {
let read = self.0.read(); let read = self.0.read();