chore: move core::avm1::string::AvmString to core::string::AvmString

This commit is contained in:
Moulins 2021-09-12 12:20:51 +02:00 committed by Mike Welsh
parent 87e8b44fe9
commit 73bce495c2
85 changed files with 130 additions and 95 deletions

View File

@ -28,7 +28,6 @@ pub mod object;
pub mod property; pub mod property;
pub mod property_map; pub mod property_map;
mod scope; mod scope;
mod string;
mod timer; mod timer;
mod value; mod value;
@ -47,7 +46,6 @@ pub use object::stage_object::StageObject;
pub use object::{Object, ObjectPtr, TObject}; pub use object::{Object, ObjectPtr, TObject};
use scope::Scope; use scope::Scope;
use smallvec::alloc::borrow::Cow; use smallvec::alloc::borrow::Cow;
pub use string::AvmString;
pub use timer::Timers; pub use timer::Timers;
pub use value::Value; pub use value::Value;

View File

@ -5,13 +5,13 @@ use crate::avm1::object::{Object, TObject};
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::scope::Scope; use crate::avm1::scope::Scope;
use crate::avm1::{ use crate::avm1::{
fscommand, globals, scope, skip_actions, start_drag, ArrayObject, AvmString, ScriptObject, fscommand, globals, scope, skip_actions, start_drag, ArrayObject, ScriptObject, Value,
Value,
}; };
use crate::backend::navigator::{NavigationMethod, RequestOptions}; use crate::backend::navigator::{NavigationMethod, RequestOptions};
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::display_object::{DisplayObject, MovieClip, TDisplayObject, TDisplayObjectContainer}; use crate::display_object::{DisplayObject, MovieClip, TDisplayObject, TDisplayObjectContainer};
use crate::ecma_conversions::f64_to_wrapping_u32; use crate::ecma_conversions::f64_to_wrapping_u32;
use crate::string::AvmString;
use crate::tag_utils::SwfSlice; use crate::tag_utils::SwfSlice;
use crate::vminterface::Instantiator; use crate::vminterface::Instantiator;
use crate::{avm_error, avm_warn}; use crate::{avm_error, avm_warn};

View File

@ -3,7 +3,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::string::AvmString;
use gc_arena::Collect; use gc_arena::Collect;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use rand::Rng; use rand::Rng;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value}; use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::string::AvmString;
use bitflags::bitflags; use bitflags::bitflags;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use std::cmp::Ordering; use std::cmp::Ordering;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::bevel_filter::{BevelFilterObject, BevelFilterType}; use crate::avm1::object::bevel_filter::{BevelFilterObject, BevelFilterType};
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::value_object::ValueObject; use crate::avm1::object::value_object::ValueObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -3,7 +3,8 @@
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use crate::avm1::object::color_transform_object::ColorTransformObject; use crate::avm1::object::color_transform_object::ColorTransformObject;

View File

@ -2,8 +2,9 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::TObject; use crate::avm1::object::TObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object}; use crate::avm1::Object;
use crate::avm1::{ScriptObject, Value}; use crate::avm1::{ScriptObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -3,7 +3,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::date_object::DateObject; use crate::avm1::object::date_object::DateObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use chrono::{DateTime, Datelike, Duration, LocalResult, TimeZone, Timelike, Utc}; use chrono::{DateTime, Datelike, Duration, LocalResult, TimeZone, Timelike, Utc};
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};
use num_traits::ToPrimitive; use num_traits::ToPrimitive;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::displacement_map_filter::DisplacementMapFilterObject; use crate::avm1::object::displacement_map_filter::DisplacementMapFilterObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -4,8 +4,9 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::display_object::{DisplayObject, Lists, TDisplayObject, TDisplayObjectContainer}; use crate::display_object::{DisplayObject, Lists, TDisplayObject, TDisplayObjectContainer};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
/// Depths used/returned by ActionScript are offset by this amount from depths used inside the SWF/by the VM. /// Depths used/returned by ActionScript are offset by this amount from depths used inside the SWF/by the VM.

View File

@ -3,7 +3,8 @@
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::object::bevel_filter::BevelFilterType; use crate::avm1::object::bevel_filter::BevelFilterType;
use crate::avm1::object::gradient_bevel_filter::GradientBevelFilterObject; use crate::avm1::object::gradient_bevel_filter::GradientBevelFilterObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value}; use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::object::bevel_filter::BevelFilterType; use crate::avm1::object::bevel_filter::BevelFilterType;
use crate::avm1::object::gradient_glow_filter::GradientGlowFilterObject; use crate::avm1::object::gradient_glow_filter::GradientGlowFilterObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value}; use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -5,9 +5,10 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::avm_warn; use crate::avm_warn;
use crate::backend::navigator::{NavigationMethod, RequestOptions}; use crate::backend::navigator::{NavigationMethod, RequestOptions};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use std::borrow::Cow; use std::borrow::Cow;
@ -66,7 +67,7 @@ fn decode<'gc>(
for (k, v) in url::form_urlencoded::parse(data.as_bytes()) { for (k, v) in url::form_urlencoded::parse(data.as_bytes()) {
this.set( this.set(
&k, &k,
crate::avm1::AvmString::new(activation.context.gc_context, v.into_owned()).into(), crate::string::AvmString::new(activation.context.gc_context, v.into_owned()).into(),
activation, activation,
)?; )?;
} }
@ -239,7 +240,7 @@ fn to_string<'gc>(
.extend_pairs(form_values.iter()) .extend_pairs(form_values.iter())
.finish(); .finish();
Ok(crate::avm1::AvmString::new(activation.context.gc_context, query_string).into()) Ok(crate::string::AvmString::new(activation.context.gc_context, query_string).into())
} }
fn spawn_load_var_fetch<'gc>( fn spawn_load_var_fetch<'gc>(

View File

@ -5,8 +5,9 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::globals::point::{point_to_object, value_to_point}; use crate::avm1::globals::point::{point_to_object, value_to_point};
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::matrix::Matrix; use crate::matrix::Matrix;
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use swf::Twips; use swf::Twips;

View File

@ -5,7 +5,7 @@ use crate::avm1::error::Error;
use crate::avm1::globals::display_object::{self, AVM_DEPTH_BIAS, AVM_MAX_DEPTH}; use crate::avm1::globals::display_object::{self, AVM_DEPTH_BIAS, AVM_MAX_DEPTH};
use crate::avm1::globals::matrix::gradient_object_to_matrix; use crate::avm1::globals::matrix::gradient_object_to_matrix;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{self, AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{self, Object, ScriptObject, TObject, Value};
use crate::avm_error; use crate::avm_error;
use crate::avm_warn; use crate::avm_warn;
use crate::backend::{navigator::NavigationMethod, render}; use crate::backend::{navigator::NavigationMethod, render};
@ -15,6 +15,7 @@ use crate::display_object::{
use crate::ecma_conversions::f64_to_wrapping_i32; use crate::ecma_conversions::f64_to_wrapping_i32;
use crate::prelude::*; use crate::prelude::*;
use crate::shape_utils::DrawCommand; use crate::shape_utils::DrawCommand;
use crate::string::AvmString;
use crate::tag_utils::SwfSlice; use crate::tag_utils::SwfSlice;
use crate::vminterface::Instantiator; use crate::vminterface::Instantiator;
use gc_arena::MutationContext; use gc_arena::MutationContext;

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::value_object::ValueObject; use crate::avm1::object::value_object::ValueObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject}; use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::globals::point::{construct_new_point, point_to_object, value_to_point}; use crate::avm1::globals::point::{construct_new_point, point_to_object, value_to_point};
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -4,9 +4,10 @@ use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::shared_object::SharedObject; use crate::avm1::object::shared_object::SharedObject;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::avm_warn; use crate::avm_warn;
use crate::display_object::TDisplayObject; use crate::display_object::TDisplayObject;
use crate::string::AvmString;
use flash_lso::types::Value as AmfValue; use flash_lso::types::Value as AmfValue;
use flash_lso::types::{AMFVersion, Element, Lso}; use flash_lso::types::{AMFVersion, Element, Lso};
use gc_arena::MutationContext; use gc_arena::MutationContext;

View File

@ -5,7 +5,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::globals::as_broadcaster::BroadcasterFunctions; use crate::avm1::globals::as_broadcaster::BroadcasterFunctions;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, Value}; use crate::avm1::{Object, ScriptObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const OBJECT_DECLS: &[Declaration] = declare_properties! { const OBJECT_DECLS: &[Declaration] = declare_properties! {

View File

@ -6,8 +6,8 @@ use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::value_object::ValueObject; use crate::avm1::object::value_object::ValueObject;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value}; use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::string::utils as string_utils; use crate::string::{utils as string_utils, AvmString};
use gc_arena::MutationContext; use gc_arena::MutationContext;
const PROTO_DECLS: &[Declaration] = declare_properties! { const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -3,7 +3,8 @@ use crate::avm1::error::Error;
use crate::avm1::globals::system::SystemCapabilities; use crate::avm1::globals::system::SystemCapabilities;
use crate::avm1::object::Object; use crate::avm1::object::Object;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, ScriptObject, Value}; use crate::avm1::{ScriptObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
const OBJECT_DECLS: &[Declaration] = declare_properties! { const OBJECT_DECLS: &[Declaration] = declare_properties! {

View File

@ -2,8 +2,9 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::Object; use crate::avm1::object::Object;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, ScriptObject, Value}; use crate::avm1::{ScriptObject, Value};
use crate::avm_warn; use crate::avm_warn;
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
use std::convert::Into; use std::convert::Into;

View File

@ -2,11 +2,12 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::globals::display_object; use crate::avm1::globals::display_object;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::avm_error; use crate::avm_error;
use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection}; use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection};
use crate::font::round_down_to_pixel; use crate::font::round_down_to_pixel;
use crate::html::TextFormat; use crate::html::TextFormat;
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
macro_rules! tf_method { macro_rules! tf_method {

View File

@ -2,7 +2,8 @@
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::{AvmString, Object, ScriptObject, TObject, Value}; use crate::avm1::{Object, ScriptObject, TObject, Value};
use crate::string::AvmString;
use gc_arena::MutationContext; use gc_arena::MutationContext;
fn map_defined_to_string<'gc>( fn map_defined_to_string<'gc>(

View File

@ -4,9 +4,10 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::xml_object::XmlObject; use crate::avm1::object::xml_object::XmlObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value}; use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::avm_warn; use crate::avm_warn;
use crate::backend::navigator::RequestOptions; use crate::backend::navigator::RequestOptions;
use crate::string::AvmString;
use crate::xml; use crate::xml;
use crate::xml::{XmlDocument, XmlNode}; use crate::xml::{XmlDocument, XmlNode};
use gc_arena::MutationContext; use gc_arena::MutationContext;

View File

@ -3,7 +3,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::ExecutionReason; use crate::avm1::function::ExecutionReason;
use crate::avm1::property::{Attribute, Property}; use crate::avm1::property::{Attribute, Property};
use crate::avm1::property_map::{Entry, PropertyMap}; use crate::avm1::property_map::{Entry, PropertyMap};
use crate::avm1::{AvmString, Object, ObjectPtr, TObject, Value}; use crate::avm1::{Object, ObjectPtr, TObject, Value};
use crate::string::AvmString;
use core::fmt; use core::fmt;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::borrow::Cow; use std::borrow::Cow;

View File

@ -4,11 +4,12 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::property_map::PropertyMap; use crate::avm1::property_map::PropertyMap;
use crate::avm1::{AvmString, Object, ObjectPtr, ScriptObject, TDisplayObject, TObject, Value}; use crate::avm1::{Object, ObjectPtr, ScriptObject, TDisplayObject, TObject, Value};
use crate::avm_warn; use crate::avm_warn;
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::display_object::{DisplayObject, EditText, MovieClip, TDisplayObjectContainer}; use crate::display_object::{DisplayObject, EditText, MovieClip, TDisplayObjectContainer};
use crate::string::utils::swf_string_eq; use crate::string::utils::swf_string_eq;
use crate::string::AvmString;
use crate::types::Percent; use crate::types::Percent;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::borrow::Cow; use std::borrow::Cow;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::{ObjectPtr, TObject}; use crate::avm1::object::{ObjectPtr, TObject};
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::{AvmString, Object, ScriptObject, Value}; use crate::avm1::{Object, ScriptObject, Value};
use crate::string::AvmString;
use crate::xml::{XmlName, XmlNode}; use crate::xml::{XmlName, XmlNode};
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};
use std::borrow::Cow; use std::borrow::Cow;

View File

@ -1,11 +1,12 @@
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::value_object::ValueObject; use crate::avm1::object::value_object::ValueObject;
use crate::avm1::{AvmString, Object, TObject}; use crate::avm1::{Object, TObject};
use crate::ecma_conversions::{ use crate::ecma_conversions::{
f64_to_string, f64_to_wrapping_i16, f64_to_wrapping_i32, f64_to_wrapping_u16, f64_to_string, f64_to_wrapping_i16, f64_to_wrapping_i32, f64_to_wrapping_u16,
f64_to_wrapping_u32, f64_to_wrapping_u32,
}; };
use crate::string::AvmString;
use gc_arena::Collect; use gc_arena::Collect;
use std::borrow::Cow; use std::borrow::Cow;
@ -516,7 +517,8 @@ mod test {
use crate::avm1::object::{Object, TObject}; use crate::avm1::object::{Object, TObject};
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::test_utils::with_avm; use crate::avm1::test_utils::with_avm;
use crate::avm1::{AvmString, Value}; use crate::avm1::Value;
use crate::string::AvmString;
#[test] #[test]
fn to_primitive_num() { fn to_primitive_num() {

View File

@ -4,8 +4,8 @@ use crate::avm2::globals::{SystemClasses, SystemPrototypes};
use crate::avm2::method::Method; use crate::avm2::method::Method;
use crate::avm2::object::EventObject; use crate::avm2::object::EventObject;
use crate::avm2::script::{Script, TranslationUnit}; use crate::avm2::script::{Script, TranslationUnit};
use crate::avm2::string::AvmString;
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::string::AvmString;
use crate::tag_utils::SwfSlice; use crate::tag_utils::SwfSlice;
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};
use std::collections::HashMap; use std::collections::HashMap;

View File

@ -10,10 +10,10 @@ use crate::avm2::object::{
use crate::avm2::object::{Object, TObject}; use crate::avm2::object::{Object, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::script::Script; use crate::avm2::script::Script;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::{value, Avm2, Error}; use crate::avm2::{value, Avm2, Error};
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::string::AvmString;
use crate::swf::extensions::ReadSwfExt; use crate::swf::extensions::ReadSwfExt;
use gc_arena::{Gc, GcCell, MutationContext}; use gc_arena::{Gc, GcCell, MutationContext};
use smallvec::SmallVec; use smallvec::SmallVec;

View File

@ -5,10 +5,10 @@ use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Multiname, Namespace, QName}; use crate::avm2::names::{Multiname, Namespace, QName};
use crate::avm2::object::Object; use crate::avm2::object::Object;
use crate::avm2::script::TranslationUnit; use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::traits::{Trait, TraitKind}; use crate::avm2::traits::{Trait, TraitKind};
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use bitflags::bitflags; use bitflags::bitflags;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::fmt; use std::fmt;

View File

@ -3,10 +3,10 @@
use crate::avm2::activation::Activation; use crate::avm2::activation::Activation;
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{Object, TObject}; use crate::avm2::object::{Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::TDisplayObject; use crate::display_object::TDisplayObject;
use crate::string::AvmString;
use gc_arena::Collect; use gc_arena::Collect;
use std::collections::{BTreeMap, HashMap}; use std::collections::{BTreeMap, HashMap};
use std::hash::{Hash, Hasher}; use std::hash::{Hash, Hasher};

View File

@ -10,9 +10,9 @@ use crate::avm2::object::{
}; };
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::script::Script; use crate::avm2::script::Script;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
mod array; mod array;

View File

@ -6,9 +6,9 @@ use crate::avm2::class::Class;
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{array_allocator, ArrayObject, Object, TObject}; use crate::avm2::object::{array_allocator, ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use bitflags::bitflags; use bitflags::bitflags;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use std::cmp::{min, Ordering}; use std::cmp::{min, Ordering};

View File

@ -5,10 +5,10 @@ use crate::avm2::class::Class;
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{stage_allocator, LoaderInfoObject, Object, TObject}; use crate::avm2::object::{stage_allocator, LoaderInfoObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::{DisplayObject, HitTestOptions, TDisplayObject}; use crate::display_object::{DisplayObject, HitTestOptions, TDisplayObject};
use crate::string::AvmString;
use crate::types::{Degrees, Percent}; use crate::types::{Degrees, Percent};
use crate::vminterface::Instantiator; use crate::vminterface::Instantiator;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};

View File

@ -6,10 +6,10 @@ use crate::avm2::class::Class;
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{ArrayObject, Object, TObject}; use crate::avm2::object::{ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::{MovieClip, Scene, TDisplayObject}; use crate::display_object::{MovieClip, Scene, TDisplayObject};
use crate::string::AvmString;
use crate::tag_utils::{SwfMovie, SwfSlice}; use crate::tag_utils::{SwfMovie, SwfSlice};
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use std::sync::Arc; use std::sync::Arc;

View File

@ -5,11 +5,11 @@ use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{Object, TObject}; use crate::avm2::object::{Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::traits::Trait; use crate::avm2::traits::Trait;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::TDisplayObject; use crate::display_object::TDisplayObject;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use swf::Color; use swf::Color;

View File

@ -5,9 +5,9 @@ use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{event_allocator, EventObject, Object, TObject}; use crate::avm2::object::{event_allocator, EventObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
/// Implements `flash.events.Event`'s instance constructor. /// Implements `flash.events.Event`'s instance constructor.

View File

@ -1,9 +1,9 @@
//! `flash.geom.Point` builtin/prototype //! `flash.geom.Point` builtin/prototype
use crate::avm1::AvmString;
use crate::avm2::class::{Class, ClassAttributes}; use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::{Activation, Error, Namespace, Object, QName, TObject, Value}; use crate::avm2::{Activation, Error, Namespace, Object, QName, TObject, Value};
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
pub fn create_point<'gc>( pub fn create_point<'gc>(

View File

@ -1,10 +1,10 @@
//! `flash.geom.Rectangle` builtin/prototype //! `flash.geom.Rectangle` builtin/prototype
use crate::avm1::AvmString;
use crate::avm2::class::{Class, ClassAttributes}; use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::globals::flash::geom::point::create_point; use crate::avm2::globals::flash::geom::point::create_point;
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::{Activation, Error, Namespace, Object, QName, TObject, Value}; use crate::avm2::{Activation, Error, Namespace, Object, QName, TObject, Value};
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
pub fn create_rectangle<'gc>( pub fn create_rectangle<'gc>(

View File

@ -6,8 +6,8 @@ use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::Object; use crate::avm2::object::Object;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::AvmString;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
fn instance_init<'gc>( fn instance_init<'gc>(

View File

@ -5,11 +5,11 @@ use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{Object, TObject}; use crate::avm2::object::{Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection}; use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection};
use crate::html::TextFormat; use crate::html::TextFormat;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::vminterface::AvmType; use crate::vminterface::AvmType;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};

View File

@ -1,9 +1,9 @@
//! `flash.utils` namespace //! `flash.utils` namespace
use crate::avm2::object::TObject; use crate::avm2::object::TObject;
use crate::avm2::string::AvmString;
use crate::avm2::QName; use crate::avm2::QName;
use crate::avm2::{Activation, Error, Object, Value}; use crate::avm2::{Activation, Error, Object, Value};
use crate::string::AvmString;
pub mod bytearray; pub mod bytearray;
pub mod compression_algorithm; pub mod compression_algorithm;

View File

@ -4,10 +4,10 @@ use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{bytearray_allocator, Object, TObject}; use crate::avm2::object::{bytearray_allocator, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::character::Character; use crate::character::Character;
use crate::string::AvmString;
use encoding_rs::Encoding; use encoding_rs::Encoding;
use encoding_rs::UTF_8; use encoding_rs::UTF_8;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};

View File

@ -4,10 +4,10 @@ use crate::avm2::class::Class;
use crate::avm2::method::{Method, NativeMethodImpl, ParamConfig}; use crate::avm2::method::{Method, NativeMethodImpl, ParamConfig};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{regexp_allocator, ArrayObject, Object, TObject}; use crate::avm2::object::{regexp_allocator, ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::avm2::{activation::Activation, array::ArrayStorage}; use crate::avm2::{activation::Activation, array::ArrayStorage};
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
/// Implements `RegExp`'s instance initializer. /// Implements `RegExp`'s instance initializer.

View File

@ -5,11 +5,11 @@ use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{primitive_allocator, Object, TObject}; use crate::avm2::object::{primitive_allocator, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::ArrayObject; use crate::avm2::ArrayObject;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::utils as string_utils; use crate::string::utils as string_utils;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use std::iter; use std::iter;

View File

@ -10,10 +10,10 @@ use crate::avm2::globals::NS_VECTOR;
use crate::avm2::method::{Method, NativeMethodImpl}; use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{vector_allocator, FunctionObject, Object, TObject, VectorObject}; use crate::avm2::object::{vector_allocator, FunctionObject, Object, TObject, VectorObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::vector::VectorStorage; use crate::avm2::vector::VectorStorage;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use std::cmp::{max, min, Ordering}; use std::cmp::{max, min, Ordering};

View File

@ -4,9 +4,9 @@ use crate::avm2::activation::Activation;
use crate::avm2::names::Multiname; use crate::avm2::names::Multiname;
use crate::avm2::object::Object; use crate::avm2::object::Object;
use crate::avm2::script::TranslationUnit; use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::value::{abc_default_value, Value}; use crate::avm2::value::{abc_default_value, Value};
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, CollectionContext, Gc, MutationContext}; use gc_arena::{Collect, CollectionContext, Gc, MutationContext};
use std::fmt; use std::fmt;
use std::rc::Rc; use std::rc::Rc;

View File

@ -2,8 +2,8 @@
use crate::avm2::activation::Activation; use crate::avm2::activation::Activation;
use crate::avm2::script::TranslationUnit; use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};
use swf::avm2::types::{ use swf::avm2::types::{
AbcFile, Index, Multiname as AbcMultiname, Namespace as AbcNamespace, AbcFile, Index, Multiname as AbcMultiname, Namespace as AbcNamespace,

View File

@ -10,7 +10,6 @@ use crate::avm2::function::Executable;
use crate::avm2::names::{Multiname, Namespace, QName}; use crate::avm2::names::{Multiname, Namespace, QName};
use crate::avm2::regexp::RegExp; use crate::avm2::regexp::RegExp;
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::traits::{Trait, TraitKind}; use crate::avm2::traits::{Trait, TraitKind};
use crate::avm2::value::{Hint, Value}; use crate::avm2::value::{Hint, Value};
use crate::avm2::vector::VectorStorage; use crate::avm2::vector::VectorStorage;
@ -18,6 +17,7 @@ use crate::avm2::Error;
use crate::backend::audio::{SoundHandle, SoundInstanceHandle}; use crate::backend::audio::{SoundHandle, SoundInstanceHandle};
use crate::bitmap::bitmap_data::BitmapData; use crate::bitmap::bitmap_data::BitmapData;
use crate::display_object::DisplayObject; use crate::display_object::DisplayObject;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use ruffle_macros::enum_trait_object; use ruffle_macros::enum_trait_object;
use std::cell::{Ref, RefMut}; use std::cell::{Ref, RefMut};

View File

@ -1,6 +1,5 @@
//! Array-structured objects //! Array-structured objects
use crate::avm1::AvmString;
use crate::avm2::activation::Activation; use crate::avm2::activation::Activation;
use crate::avm2::array::ArrayStorage; use crate::avm2::array::ArrayStorage;
use crate::avm2::class::Class; use crate::avm2::class::Class;
@ -10,6 +9,7 @@ use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance}; use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::cell::{Ref, RefMut}; use std::cell::{Ref, RefMut};

View File

@ -6,10 +6,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::bitmap::bitmap_data::BitmapData; use crate::bitmap::bitmap_data::BitmapData;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -5,9 +5,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance}; use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::cell::{Ref, RefMut}; use std::cell::{Ref, RefMut};

View File

@ -8,9 +8,9 @@ use crate::avm2::object::function_object::FunctionObject;
use crate::avm2::object::script_object::{scriptobject_allocator, ScriptObject, ScriptObjectData}; use crate::avm2::object::script_object::{scriptobject_allocator, ScriptObject, ScriptObjectData};
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_properties}; use crate::{impl_avm2_custom_object, impl_avm2_custom_object_properties};
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::collections::HashMap; use std::collections::HashMap;

View File

@ -7,9 +7,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -7,9 +7,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -7,9 +7,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -8,9 +8,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::{ScriptObject, ScriptObjectData}; use crate::avm2::object::script_object::{ScriptObject, ScriptObjectData};
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -6,10 +6,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::DisplayObject; use crate::display_object::DisplayObject;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,

View File

@ -1,6 +1,5 @@
//! Boxed namespaces //! Boxed namespaces
use crate::avm1::AvmString;
use crate::avm2::activation::Activation; use crate::avm2::activation::Activation;
use crate::avm2::class::Class; use crate::avm2::class::Class;
use crate::avm2::names::{Namespace, QName}; use crate::avm2::names::{Namespace, QName};
@ -9,6 +8,7 @@ use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -8,9 +8,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -7,9 +7,9 @@ use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::regexp::RegExp; use crate::avm2::regexp::RegExp;
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -9,9 +9,9 @@ use crate::avm2::property_map::PropertyMap;
use crate::avm2::return_value::ReturnValue; use crate::avm2::return_value::ReturnValue;
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::slot::Slot; use crate::avm2::slot::Slot;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::collections::HashMap; use std::collections::HashMap;
use std::fmt::Debug; use std::fmt::Debug;

View File

@ -6,10 +6,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::backend::audio::SoundHandle; use crate::backend::audio::SoundHandle;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -6,10 +6,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::backend::audio::SoundInstanceHandle; use crate::backend::audio::SoundInstanceHandle;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -7,10 +7,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::display_object::DisplayObject; use crate::display_object::DisplayObject;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
/// A class instance allocator that allocates Stage objects. /// A class instance allocator that allocates Stage objects.

View File

@ -6,10 +6,10 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::vector::VectorStorage; use crate::avm2::vector::VectorStorage;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance}; use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext}; use gc_arena::{Collect, GcCell, MutationContext};
use std::cell::{Ref, RefMut}; use std::cell::{Ref, RefMut};

View File

@ -6,9 +6,9 @@ use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::script_object::ScriptObjectData;
use crate::avm2::object::{Object, ObjectPtr, TObject}; use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope; use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::Error; use crate::avm2::Error;
use crate::string::AvmString;
use crate::{ use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties, impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
}; };

View File

@ -1,6 +1,6 @@
//! RegExp Structure //! RegExp Structure
use crate::avm2::string::AvmString; use crate::string::AvmString;
use bitflags::bitflags; use bitflags::bitflags;
use gc_arena::Collect; use gc_arena::Collect;
use regress::Regex; use regress::Regex;

View File

@ -5,11 +5,11 @@ use crate::avm2::class::Class;
use crate::avm2::domain::Domain; use crate::avm2::domain::Domain;
use crate::avm2::method::{BytecodeMethod, Method}; use crate::avm2::method::{BytecodeMethod, Method};
use crate::avm2::object::{DomainObject, Object, TObject}; use crate::avm2::object::{DomainObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::traits::Trait; use crate::avm2::traits::Trait;
use crate::avm2::value::Value; use crate::avm2::value::Value;
use crate::avm2::{Avm2, Error}; use crate::avm2::{Avm2, Error};
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::string::AvmString;
use fnv::FnvHashMap; use fnv::FnvHashMap;
use gc_arena::{Collect, Gc, GcCell, MutationContext}; use gc_arena::{Collect, Gc, GcCell, MutationContext};
use std::cell::Ref; use std::cell::Ref;

View File

@ -1,3 +1,3 @@
//! AVM2 String representation //! AVM2 String representation
pub use crate::avm1::AvmString; pub use crate::string::AvmString;

View File

@ -5,9 +5,9 @@ use crate::avm2::names::Namespace;
use crate::avm2::names::QName; use crate::avm2::names::QName;
use crate::avm2::object::{NamespaceObject, Object, PrimitiveObject, TObject}; use crate::avm2::object::{NamespaceObject, Object, PrimitiveObject, TObject};
use crate::avm2::script::TranslationUnit; use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::Error; use crate::avm2::Error;
use crate::ecma_conversions::{f64_to_wrapping_i32, f64_to_wrapping_u32}; use crate::ecma_conversions::{f64_to_wrapping_i32, f64_to_wrapping_u32};
use crate::string::AvmString;
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};
use std::cell::Ref; use std::cell::Ref;
use swf::avm2::types::{DefaultValue as AbcDefaultValue, Index}; use swf::avm2::types::{DefaultValue as AbcDefaultValue, Index};

View File

@ -2,7 +2,7 @@
use crate::avm1::activation::{Activation as Avm1Activation, ActivationIdentifier}; use crate::avm1::activation::{Activation as Avm1Activation, ActivationIdentifier};
use crate::avm1::{ use crate::avm1::{
Avm1, AvmString, Object as Avm1Object, StageObject as Avm1StageObject, TObject as Avm1TObject, Avm1, Object as Avm1Object, StageObject as Avm1StageObject, TObject as Avm1TObject,
Value as Avm1Value, Value as Avm1Value,
}; };
use crate::avm2::{ use crate::avm2::{
@ -17,7 +17,7 @@ use crate::font::{round_down_to_pixel, Glyph, TextRenderSettings};
use crate::html::{BoxBounds, FormatSpans, LayoutBox, LayoutContent, TextFormat}; use crate::html::{BoxBounds, FormatSpans, LayoutBox, LayoutContent, TextFormat};
use crate::prelude::*; use crate::prelude::*;
use crate::shape_utils::DrawCommand; use crate::shape_utils::DrawCommand;
use crate::string::utils as string_utils; use crate::string::{utils as string_utils, AvmString};
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::transform::Transform; use crate::transform::Transform;
use crate::types::{Degrees, Percent}; use crate::types::{Degrees, Percent};

View File

@ -1,6 +1,6 @@
//! `MovieClip` display object and support code. //! `MovieClip` display object and support code.
use crate::avm1::{ use crate::avm1::{
Avm1, AvmString, Object as Avm1Object, StageObject, TObject as Avm1TObject, Value as Avm1Value, Avm1, Object as Avm1Object, StageObject, TObject as Avm1TObject, Value as Avm1Value,
}; };
use crate::avm2::Activation as Avm2Activation; use crate::avm2::Activation as Avm2Activation;
use crate::avm2::{ use crate::avm2::{
@ -27,6 +27,7 @@ use crate::drawing::Drawing;
use crate::events::{ButtonKeyCode, ClipEvent, ClipEventResult}; use crate::events::{ButtonKeyCode, ClipEvent, ClipEventResult};
use crate::font::Font; use crate::font::Font;
use crate::prelude::*; use crate::prelude::*;
use crate::string::AvmString;
use crate::tag_utils::{self, DecodeResult, SwfMovie, SwfSlice, SwfStream}; use crate::tag_utils::{self, DecodeResult, SwfMovie, SwfSlice, SwfStream};
use crate::types::{Degrees, Percent}; use crate::types::{Degrees, Percent};
use crate::vminterface::{AvmObject, AvmType, Instantiator}; use crate::vminterface::{AvmObject, AvmType, Instantiator};

View File

@ -4,10 +4,11 @@ use crate::avm1::activation::{
use crate::avm1::object::TObject; use crate::avm1::object::TObject;
use crate::avm1::Value as Avm1Value; use crate::avm1::Value as Avm1Value;
use crate::avm1::{ use crate::avm1::{
ArrayObject as Avm1ArrayObject, AvmString as Avm1String, Error as Avm1Error, ArrayObject as Avm1ArrayObject, Error as Avm1Error, Object as Avm1Object,
Object as Avm1Object, ScriptObject as Avm1ScriptObject, ScriptObject as Avm1ScriptObject,
}; };
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::string::AvmString;
use gc_arena::Collect; use gc_arena::Collect;
use std::collections::BTreeMap; use std::collections::BTreeMap;
@ -24,8 +25,8 @@ pub enum Value {
List(Vec<Value>), List(Vec<Value>),
} }
impl From<Avm1String<'_>> for Value { impl From<AvmString<'_>> for Value {
fn from(string: Avm1String<'_>) -> Self { fn from(string: AvmString<'_>) -> Self {
Value::String(string.to_string()) Value::String(string.to_string())
} }
} }
@ -153,7 +154,7 @@ impl Value {
Value::Bool(value) => Avm1Value::Bool(value), Value::Bool(value) => Avm1Value::Bool(value),
Value::Number(value) => Avm1Value::Number(value), Value::Number(value) => Avm1Value::Number(value),
Value::String(value) => { Value::String(value) => {
Avm1Value::String(Avm1String::new(activation.context.gc_context, value)) Avm1Value::String(AvmString::new(activation.context.gc_context, value))
} }
Value::Object(values) => { Value::Object(values) => {
let object = Avm1ScriptObject::object( let object = Avm1ScriptObject::object(

View File

@ -2,8 +2,8 @@
use crate::avm1::activation::Activation as Avm1Activation; use crate::avm1::activation::Activation as Avm1Activation;
use crate::avm1::{ use crate::avm1::{
ArrayObject as Avm1ArrayObject, AvmString, Object as Avm1Object, ArrayObject as Avm1ArrayObject, Object as Avm1Object, ScriptObject as Avm1ScriptObject,
ScriptObject as Avm1ScriptObject, TObject as Avm1TObject, Value as Avm1Value, TObject as Avm1TObject, Value as Avm1Value,
}; };
use crate::avm2::{ use crate::avm2::{
Activation as Avm2Activation, ArrayObject as Avm2ArrayObject, Error as Avm2Error, Activation as Avm2Activation, ArrayObject as Avm2ArrayObject, Error as Avm2Error,
@ -12,6 +12,7 @@ use crate::avm2::{
}; };
use crate::context::UpdateContext; use crate::context::UpdateContext;
use crate::html::iterators::TextSpanIter; use crate::html::iterators::TextSpanIter;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::xml::{Step, XmlDocument, XmlName, XmlNode}; use crate::xml::{Step, XmlDocument, XmlName, XmlNode};
use gc_arena::{Collect, MutationContext}; use gc_arena::{Collect, MutationContext};

View File

@ -1,12 +1,13 @@
//! Management of async loaders //! Management of async loaders
use crate::avm1::activation::{Activation, ActivationIdentifier}; use crate::avm1::activation::{Activation, ActivationIdentifier};
use crate::avm1::{Avm1, AvmString, Object, TObject, Value}; use crate::avm1::{Avm1, Object, TObject, Value};
use crate::avm2::{Activation as Avm2Activation, Domain as Avm2Domain}; use crate::avm2::{Activation as Avm2Activation, Domain as Avm2Domain};
use crate::backend::navigator::OwnedFuture; use crate::backend::navigator::OwnedFuture;
use crate::context::{ActionQueue, ActionType}; use crate::context::{ActionQueue, ActionType};
use crate::display_object::{DisplayObject, MorphShape, TDisplayObject}; use crate::display_object::{DisplayObject, MorphShape, TDisplayObject};
use crate::player::{Player, NEWEST_PLAYER_VERSION}; use crate::player::{Player, NEWEST_PLAYER_VERSION};
use crate::string::AvmString;
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::vminterface::Instantiator; use crate::vminterface::Instantiator;
use crate::xml::XmlNode; use crate::xml::XmlNode;

View File

@ -3,7 +3,7 @@ use crate::avm1::debug::VariableDumper;
use crate::avm1::globals::system::SystemProperties; use crate::avm1::globals::system::SystemProperties;
use crate::avm1::object::Object; use crate::avm1::object::Object;
use crate::avm1::property::Attribute; use crate::avm1::property::Attribute;
use crate::avm1::{Avm1, AvmString, ScriptObject, TObject, Timers, Value}; use crate::avm1::{Avm1, ScriptObject, TObject, Timers, Value};
use crate::avm2::{Activation as Avm2Activation, Avm2, Domain as Avm2Domain}; use crate::avm2::{Activation as Avm2Activation, Avm2, Domain as Avm2Domain};
use crate::backend::{ use crate::backend::{
audio::{AudioBackend, AudioManager}, audio::{AudioBackend, AudioManager},
@ -28,6 +28,7 @@ use crate::focus_tracker::FocusTracker;
use crate::library::Library; use crate::library::Library;
use crate::loader::LoadManager; use crate::loader::LoadManager;
use crate::prelude::*; use crate::prelude::*;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie; use crate::tag_utils::SwfMovie;
use crate::transform::TransformStack; use crate::transform::TransformStack;
use crate::vminterface::{AvmType, Instantiator}; use crate::vminterface::{AvmType, Instantiator};

View File

@ -1,2 +1,5 @@
mod avm;
mod tables; mod tables;
pub mod utils; pub mod utils;
pub use avm::AvmString;

View File

@ -1,5 +1,4 @@
///! Utilities for operating on strings in SWF files. ///! Utilities for operating on strings in SWF files.
use super::tables::{LOWERCASE_TABLE, UPPERCASE_TABLE}; use super::tables::{LOWERCASE_TABLE, UPPERCASE_TABLE};
/// Gets the position of the previous char /// Gets the position of the previous char