From f6e2ca1fe591bc837445313c99fdca0a015db1b8 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Sat, 22 Feb 2020 19:12:33 -0500 Subject: [PATCH] Clean up the current set of builtins to accurately reflect the namespace hierarchy. --- core/src/avm2/globals.rs | 11 +++++------ core/src/avm2/globals/flash.rs | 3 +++ core/src/avm2/globals/flash/display.rs | 4 ++++ .../src/avm2/globals/{ => flash/display}/movieclip.rs | 4 +--- core/src/avm2/globals/{ => flash/display}/sprite.rs | 4 +--- 5 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 core/src/avm2/globals/flash.rs create mode 100644 core/src/avm2/globals/flash/display.rs rename core/src/avm2/globals/{ => flash/display}/movieclip.rs (90%) rename core/src/avm2/globals/{ => flash/display}/sprite.rs (90%) diff --git a/core/src/avm2/globals.rs b/core/src/avm2/globals.rs index ea8ed62d8..bcd4d4922 100644 --- a/core/src/avm2/globals.rs +++ b/core/src/avm2/globals.rs @@ -6,10 +6,9 @@ use crate::avm2::object::{Object, TObject}; use crate::avm2::script_object::ScriptObject; use gc_arena::{Collect, MutationContext}; +mod flash; mod function; -mod movieclip; mod object; -mod sprite; /// This structure represents all system builtins' prototypes. #[derive(Clone, Collect)] @@ -30,8 +29,8 @@ pub fn construct_global_scope<'gc>( let object_proto = ScriptObject::bare_object(mc); let function_proto = function::create_proto(mc, object_proto); - let sprite_proto = sprite::create_proto(mc, object_proto, function_proto); - let movieclip_proto = movieclip::create_proto(mc, sprite_proto, function_proto); + let sprite_proto = flash::display::sprite::create_proto(mc, object_proto, function_proto); + let movieclip_proto = flash::display::movieclip::create_proto(mc, sprite_proto, function_proto); object::fill_proto(mc, object_proto, function_proto); @@ -74,7 +73,7 @@ pub fn construct_global_scope<'gc>( QName::new(Namespace::package("flash.display"), "Sprite"), FunctionObject::from_builtin_constr( mc, - sprite::constructor, + flash::display::sprite::constructor, sprite_proto, function_proto, ) @@ -88,7 +87,7 @@ pub fn construct_global_scope<'gc>( QName::new(Namespace::package("flash.display"), "MovieClip"), FunctionObject::from_builtin_constr( mc, - movieclip::constructor, + flash::display::movieclip::constructor, movieclip_proto, function_proto, ) diff --git a/core/src/avm2/globals/flash.rs b/core/src/avm2/globals/flash.rs new file mode 100644 index 000000000..ba16b1402 --- /dev/null +++ b/core/src/avm2/globals/flash.rs @@ -0,0 +1,3 @@ +//! `flash` namespace + +pub mod display; diff --git a/core/src/avm2/globals/flash/display.rs b/core/src/avm2/globals/flash/display.rs new file mode 100644 index 000000000..40c0fbc01 --- /dev/null +++ b/core/src/avm2/globals/flash/display.rs @@ -0,0 +1,4 @@ +//! `flash.display` namespace + +pub mod movieclip; +pub mod sprite; diff --git a/core/src/avm2/globals/movieclip.rs b/core/src/avm2/globals/flash/display/movieclip.rs similarity index 90% rename from core/src/avm2/globals/movieclip.rs rename to core/src/avm2/globals/flash/display/movieclip.rs index b1e9a2900..f718717e5 100644 --- a/core/src/avm2/globals/movieclip.rs +++ b/core/src/avm2/globals/flash/display/movieclip.rs @@ -25,7 +25,5 @@ pub fn create_proto<'gc>( _fn_proto: Object<'gc>, ) -> Object<'gc> { // TODO: Use `StageObject` here. - let movieclip_proto = ScriptObject::object(mc, super_proto); - - movieclip_proto + ScriptObject::object(mc, super_proto) } diff --git a/core/src/avm2/globals/sprite.rs b/core/src/avm2/globals/flash/display/sprite.rs similarity index 90% rename from core/src/avm2/globals/sprite.rs rename to core/src/avm2/globals/flash/display/sprite.rs index 29e522f11..a94194ec0 100644 --- a/core/src/avm2/globals/sprite.rs +++ b/core/src/avm2/globals/flash/display/sprite.rs @@ -25,7 +25,5 @@ pub fn create_proto<'gc>( _fn_proto: Object<'gc>, ) -> Object<'gc> { // TODO: Use `StageObject` here. - let sprite_proto = ScriptObject::object(mc, super_proto); - - sprite_proto + ScriptObject::object(mc, super_proto) }