From 78627acc923443d3b3dd50698075ace6923e7ba3 Mon Sep 17 00:00:00 2001 From: Moulins Date: Mon, 3 May 2021 21:15:59 +0200 Subject: [PATCH] chore: Move core::property_map to core::avm1::property_map --- core/src/avm1.rs | 1 + core/src/avm1/object/script_object.rs | 2 +- core/src/avm1/object/stage_object.rs | 2 +- core/src/{ => avm1}/property_map.rs | 4 ---- core/src/lib.rs | 1 - core/src/library.rs | 15 +++++++-------- 6 files changed, 10 insertions(+), 15 deletions(-) rename core/src/{ => avm1}/property_map.rs (98%) diff --git a/core/src/avm1.rs b/core/src/avm1.rs index c68e127d4..d6c5e4ed7 100644 --- a/core/src/avm1.rs +++ b/core/src/avm1.rs @@ -23,6 +23,7 @@ pub mod function; pub mod globals; pub mod object; pub mod property; +pub mod property_map; mod scope; mod string; mod timer; diff --git a/core/src/avm1/object/script_object.rs b/core/src/avm1/object/script_object.rs index 46c0235dc..b592e1598 100644 --- a/core/src/avm1/object/script_object.rs +++ b/core/src/avm1/object/script_object.rs @@ -2,8 +2,8 @@ use crate::avm1::activation::Activation; use crate::avm1::error::Error; use crate::avm1::function::{Executable, ExecutionReason, FunctionObject, NativeFunction}; use crate::avm1::property::{Attribute, Property}; +use crate::avm1::property_map::{Entry, PropertyMap}; use crate::avm1::{AvmString, Object, ObjectPtr, TObject, Value}; -use crate::property_map::{Entry, PropertyMap}; use core::fmt; use gc_arena::{Collect, GcCell, MutationContext}; use std::borrow::Cow; diff --git a/core/src/avm1/object/stage_object.rs b/core/src/avm1/object/stage_object.rs index 107808d8e..9708fd24d 100644 --- a/core/src/avm1/object/stage_object.rs +++ b/core/src/avm1/object/stage_object.rs @@ -5,11 +5,11 @@ use crate::avm1::error::Error; use crate::avm1::function::Executable; use crate::avm1::object::search_prototype; use crate::avm1::property::Attribute; +use crate::avm1::property_map::PropertyMap; use crate::avm1::{AvmString, Object, ObjectPtr, ScriptObject, TDisplayObject, TObject, Value}; use crate::avm_warn; use crate::context::UpdateContext; use crate::display_object::{DisplayObject, EditText, MovieClip, TDisplayObjectContainer}; -use crate::property_map::PropertyMap; use crate::string_utils::swf_string_eq; use crate::types::Percent; use gc_arena::{Collect, GcCell, MutationContext}; diff --git a/core/src/property_map.rs b/core/src/avm1/property_map.rs similarity index 98% rename from core/src/property_map.rs rename to core/src/avm1/property_map.rs index a6dd68ae2..97db34af1 100644 --- a/core/src/property_map.rs +++ b/core/src/avm1/property_map.rs @@ -107,10 +107,6 @@ impl PropertyMap { self.0.shift_remove(&CaseInsensitiveStr(key)) } } - - pub fn is_empty(&self) -> bool { - self.0.is_empty() - } } unsafe impl Collect for PropertyMap { diff --git a/core/src/lib.rs b/core/src/lib.rs index 9e41d5528..ca31eace4 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -38,7 +38,6 @@ mod library; pub mod loader; mod player; mod prelude; -pub mod property_map; pub mod shape_utils; pub mod string_utils; pub mod tag_utils; diff --git a/core/src/library.rs b/core/src/library.rs index cbeb2979b..d4e623acf 100644 --- a/core/src/library.rs +++ b/core/src/library.rs @@ -1,14 +1,13 @@ +use crate::avm1::function::FunctionObject; +use crate::avm1::property_map::PropertyMap as Avm1PropertyMap; +use crate::avm2::{Domain as Avm2Domain, Object as Avm2Object}; use crate::backend::audio::SoundHandle; use crate::character::Character; use crate::display_object::{Bitmap, TDisplayObject}; use crate::font::{Font, FontDescriptor}; use crate::prelude::*; -use crate::property_map::PropertyMap; use crate::tag_utils::{SwfMovie, SwfSlice}; use crate::vminterface::AvmType; -use crate::{ - avm1::function::FunctionObject, avm2::Domain as Avm2Domain, avm2::Object as Avm2Object, -}; use gc_arena::{Collect, Gc, GcCell, MutationContext}; use std::collections::HashMap; use std::sync::{Arc, Weak}; @@ -23,14 +22,14 @@ type Error = Box; #[derive(Collect)] #[collect(no_drop)] pub struct Avm1ConstructorRegistry<'gc> { - symbol_map: GcCell<'gc, PropertyMap>>, + symbol_map: GcCell<'gc, Avm1PropertyMap>>, is_case_sensitive: bool, } impl<'gc> Avm1ConstructorRegistry<'gc> { pub fn new(is_case_sensitive: bool, gc_context: MutationContext<'gc, '_>) -> Self { Self { - symbol_map: GcCell::allocate(gc_context, PropertyMap::new()), + symbol_map: GcCell::allocate(gc_context, Avm1PropertyMap::new()), is_case_sensitive, } } @@ -135,7 +134,7 @@ impl<'gc> Avm2ConstructorRegistry<'gc> { #[collect(no_drop)] pub struct MovieLibrary<'gc> { characters: HashMap>, - export_characters: PropertyMap>, + export_characters: Avm1PropertyMap>, jpeg_tables: Option>, fonts: HashMap>, avm_type: AvmType, @@ -150,7 +149,7 @@ impl<'gc> MovieLibrary<'gc> { pub fn new(avm_type: AvmType) -> Self { MovieLibrary { characters: HashMap::new(), - export_characters: PropertyMap::new(), + export_characters: Avm1PropertyMap::new(), jpeg_tables: None, fonts: HashMap::new(), avm_type,