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_map;
mod scope;
mod string;
mod timer;
mod value;
@ -47,7 +46,6 @@ pub use object::stage_object::StageObject;
pub use object::{Object, ObjectPtr, TObject};
use scope::Scope;
use smallvec::alloc::borrow::Cow;
pub use string::AvmString;
pub use timer::Timers;
pub use value::Value;

View File

@ -5,13 +5,13 @@ use crate::avm1::object::{Object, TObject};
use crate::avm1::property::Attribute;
use crate::avm1::scope::Scope;
use crate::avm1::{
fscommand, globals, scope, skip_actions, start_drag, ArrayObject, AvmString, ScriptObject,
Value,
fscommand, globals, scope, skip_actions, start_drag, ArrayObject, ScriptObject, Value,
};
use crate::backend::navigator::{NavigationMethod, RequestOptions};
use crate::context::UpdateContext;
use crate::display_object::{DisplayObject, MovieClip, TDisplayObject, TDisplayObjectContainer};
use crate::ecma_conversions::f64_to_wrapping_u32;
use crate::string::AvmString;
use crate::tag_utils::SwfSlice;
use crate::vminterface::Instantiator;
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::property::Attribute;
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::MutationContext;
use rand::Rng;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject};
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 gc_arena::MutationContext;
use std::cmp::Ordering;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::object::bevel_filter::{BevelFilterObject, BevelFilterType};
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;
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::object::value_object::ValueObject;
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;
const PROTO_DECLS: &[Declaration] = declare_properties! {

View File

@ -3,7 +3,8 @@
use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
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 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::object::TObject;
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::string::AvmString;
use gc_arena::MutationContext;
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::object::date_object::DateObject;
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 gc_arena::{Collect, MutationContext};
use num_traits::ToPrimitive;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::object::displacement_map_filter::DisplacementMapFilterObject;
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;
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::property::Attribute;
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::string::AvmString;
use gc_arena::MutationContext;
/// 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::error::Error;
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;
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::gradient_bevel_filter::GradientBevelFilterObject;
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;
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::gradient_glow_filter::GradientGlowFilterObject;
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;
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::property::Attribute;
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::backend::navigator::{NavigationMethod, RequestOptions};
use crate::string::AvmString;
use gc_arena::MutationContext;
use std::borrow::Cow;
@ -66,7 +67,7 @@ fn decode<'gc>(
for (k, v) in url::form_urlencoded::parse(data.as_bytes()) {
this.set(
&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,
)?;
}
@ -239,7 +240,7 @@ fn to_string<'gc>(
.extend_pairs(form_values.iter())
.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>(

View File

@ -5,8 +5,9 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::globals::point::{point_to_object, value_to_point};
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::string::AvmString;
use gc_arena::MutationContext;
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::matrix::gradient_object_to_matrix;
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_warn;
use crate::backend::{navigator::NavigationMethod, render};
@ -15,6 +15,7 @@ use crate::display_object::{
use crate::ecma_conversions::f64_to_wrapping_i32;
use crate::prelude::*;
use crate::shape_utils::DrawCommand;
use crate::string::AvmString;
use crate::tag_utils::SwfSlice;
use crate::vminterface::Instantiator;
use gc_arena::MutationContext;

View File

@ -5,7 +5,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::{Executable, FunctionObject};
use crate::avm1::object::value_object::ValueObject;
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;
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::function::{Executable, FunctionObject};
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;
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::globals::point::{construct_new_point, point_to_object, value_to_point};
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;
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::property::Attribute;
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::display_object::TDisplayObject;
use crate::string::AvmString;
use flash_lso::types::Value as AmfValue;
use flash_lso::types::{AMFVersion, Element, Lso};
use gc_arena::MutationContext;

View File

@ -5,7 +5,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::globals::as_broadcaster::BroadcasterFunctions;
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;
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::property::Attribute;
use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{ArrayObject, AvmString, Object, TObject, Value};
use crate::string::utils as string_utils;
use crate::avm1::{ArrayObject, Object, TObject, Value};
use crate::string::{utils as string_utils, AvmString};
use gc_arena::MutationContext;
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::object::Object;
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;
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::object::Object;
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::string::AvmString;
use gc_arena::MutationContext;
use std::convert::Into;

View File

@ -2,11 +2,12 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::globals::display_object;
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::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection};
use crate::font::round_down_to_pixel;
use crate::html::TextFormat;
use crate::string::AvmString;
use gc_arena::MutationContext;
macro_rules! tf_method {

View File

@ -2,7 +2,8 @@
use crate::avm1::activation::Activation;
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;
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::object::xml_object::XmlObject;
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::backend::navigator::RequestOptions;
use crate::string::AvmString;
use crate::xml;
use crate::xml::{XmlDocument, XmlNode};
use gc_arena::MutationContext;

View File

@ -3,7 +3,8 @@ use crate::avm1::error::Error;
use crate::avm1::function::ExecutionReason;
use crate::avm1::property::{Attribute, Property};
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 gc_arena::{Collect, GcCell, MutationContext};
use std::borrow::Cow;

View File

@ -4,11 +4,12 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::property::Attribute;
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::context::UpdateContext;
use crate::display_object::{DisplayObject, EditText, MovieClip, TDisplayObjectContainer};
use crate::string::utils::swf_string_eq;
use crate::string::AvmString;
use crate::types::Percent;
use gc_arena::{Collect, GcCell, MutationContext};
use std::borrow::Cow;

View File

@ -4,7 +4,8 @@ use crate::avm1::activation::Activation;
use crate::avm1::error::Error;
use crate::avm1::object::{ObjectPtr, TObject};
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 gc_arena::{Collect, MutationContext};
use std::borrow::Cow;

View File

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

View File

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

View File

@ -10,10 +10,10 @@ use crate::avm2::object::{
use crate::avm2::object::{Object, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::script::Script;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::{value, Avm2, Error};
use crate::context::UpdateContext;
use crate::string::AvmString;
use crate::swf::extensions::ReadSwfExt;
use gc_arena::{Gc, GcCell, MutationContext};
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::object::Object;
use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::traits::{Trait, TraitKind};
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use bitflags::bitflags;
use gc_arena::{Collect, GcCell, MutationContext};
use std::fmt;

View File

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

View File

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

View File

@ -6,9 +6,9 @@ use crate::avm2::class::Class;
use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{array_allocator, ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use bitflags::bitflags;
use gc_arena::{GcCell, MutationContext};
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::names::{Namespace, QName};
use crate::avm2::object::{stage_allocator, LoaderInfoObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::{DisplayObject, HitTestOptions, TDisplayObject};
use crate::string::AvmString;
use crate::types::{Degrees, Percent};
use crate::vminterface::Instantiator;
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::names::{Namespace, QName};
use crate::avm2::object::{ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::{MovieClip, Scene, TDisplayObject};
use crate::string::AvmString;
use crate::tag_utils::{SwfMovie, SwfSlice};
use gc_arena::{GcCell, MutationContext};
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::names::{Namespace, QName};
use crate::avm2::object::{Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::traits::Trait;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::TDisplayObject;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
use swf::Color;

View File

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

View File

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

View File

@ -1,10 +1,10 @@
//! `flash.geom.Rectangle` builtin/prototype
use crate::avm1::AvmString;
use crate::avm2::class::{Class, ClassAttributes};
use crate::avm2::globals::flash::geom::point::create_point;
use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::{Activation, Error, Namespace, Object, QName, TObject, Value};
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
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::object::Object;
use crate::avm2::value::Value;
use crate::avm2::AvmString;
use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
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::names::{Namespace, QName};
use crate::avm2::object::{Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection};
use crate::html::TextFormat;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie;
use crate::vminterface::AvmType;
use gc_arena::{GcCell, MutationContext};

View File

@ -1,9 +1,9 @@
//! `flash.utils` namespace
use crate::avm2::object::TObject;
use crate::avm2::string::AvmString;
use crate::avm2::QName;
use crate::avm2::{Activation, Error, Object, Value};
use crate::string::AvmString;
pub mod bytearray;
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::names::{Namespace, QName};
use crate::avm2::object::{bytearray_allocator, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::character::Character;
use crate::string::AvmString;
use encoding_rs::Encoding;
use encoding_rs::UTF_8;
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::names::{Namespace, QName};
use crate::avm2::object::{regexp_allocator, ArrayObject, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::avm2::{activation::Activation, array::ArrayStorage};
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
/// 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::names::{Namespace, QName};
use crate::avm2::object::{primitive_allocator, Object, TObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::ArrayObject;
use crate::avm2::Error;
use crate::string::utils as string_utils;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
use std::iter;

View File

@ -10,10 +10,10 @@ use crate::avm2::globals::NS_VECTOR;
use crate::avm2::method::{Method, NativeMethodImpl};
use crate::avm2::names::{Namespace, QName};
use crate::avm2::object::{vector_allocator, FunctionObject, Object, TObject, VectorObject};
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::vector::VectorStorage;
use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{GcCell, MutationContext};
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::object::Object;
use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::value::{abc_default_value, Value};
use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, CollectionContext, Gc, MutationContext};
use std::fmt;
use std::rc::Rc;

View File

@ -2,8 +2,8 @@
use crate::avm2::activation::Activation;
use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, MutationContext};
use swf::avm2::types::{
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::regexp::RegExp;
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::traits::{Trait, TraitKind};
use crate::avm2::value::{Hint, Value};
use crate::avm2::vector::VectorStorage;
@ -18,6 +17,7 @@ use crate::avm2::Error;
use crate::backend::audio::{SoundHandle, SoundInstanceHandle};
use crate::bitmap::bitmap_data::BitmapData;
use crate::display_object::DisplayObject;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext};
use ruffle_macros::enum_trait_object;
use std::cell::{Ref, RefMut};

View File

@ -1,6 +1,5 @@
//! Array-structured objects
use crate::avm1::AvmString;
use crate::avm2::activation::Activation;
use crate::avm2::array::ArrayStorage;
use crate::avm2::class::Class;
@ -10,6 +9,7 @@ use crate::avm2::object::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext};
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::bitmap::bitmap_data::BitmapData;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext};
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_properties};
use gc_arena::{Collect, GcCell, MutationContext};
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::DisplayObject;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie;
use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,

View File

@ -1,6 +1,5 @@
//! Boxed namespaces
use crate::avm1::AvmString;
use crate::avm2::activation::Activation;
use crate::avm2::class::Class;
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::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::regexp::RegExp;
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
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::scope::Scope;
use crate::avm2::slot::Slot;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext};
use std::collections::HashMap;
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::backend::audio::SoundHandle;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::backend::audio::SoundInstanceHandle;
use crate::string::AvmString;
use crate::{
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::display_object::DisplayObject;
use crate::string::AvmString;
use gc_arena::{Collect, GcCell, MutationContext};
/// 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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::vector::VectorStorage;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{impl_avm2_custom_object, impl_avm2_custom_object_instance};
use gc_arena::{Collect, GcCell, MutationContext};
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::{Object, ObjectPtr, TObject};
use crate::avm2::scope::Scope;
use crate::avm2::string::AvmString;
use crate::avm2::value::Value;
use crate::avm2::Error;
use crate::string::AvmString;
use crate::{
impl_avm2_custom_object, impl_avm2_custom_object_instance, impl_avm2_custom_object_properties,
};

View File

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

View File

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

View File

@ -1,3 +1,3 @@
//! 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::object::{NamespaceObject, Object, PrimitiveObject, TObject};
use crate::avm2::script::TranslationUnit;
use crate::avm2::string::AvmString;
use crate::avm2::Error;
use crate::ecma_conversions::{f64_to_wrapping_i32, f64_to_wrapping_u32};
use crate::string::AvmString;
use gc_arena::{Collect, MutationContext};
use std::cell::Ref;
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::{
Avm1, AvmString, Object as Avm1Object, StageObject as Avm1StageObject, TObject as Avm1TObject,
Avm1, Object as Avm1Object, StageObject as Avm1StageObject, TObject as Avm1TObject,
Value as Avm1Value,
};
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::prelude::*;
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::transform::Transform;
use crate::types::{Degrees, Percent};

View File

@ -1,6 +1,6 @@
//! `MovieClip` display object and support code.
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::{
@ -27,6 +27,7 @@ use crate::drawing::Drawing;
use crate::events::{ButtonKeyCode, ClipEvent, ClipEventResult};
use crate::font::Font;
use crate::prelude::*;
use crate::string::AvmString;
use crate::tag_utils::{self, DecodeResult, SwfMovie, SwfSlice, SwfStream};
use crate::types::{Degrees, Percent};
use crate::vminterface::{AvmObject, AvmType, Instantiator};

View File

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

View File

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

View File

@ -1,12 +1,13 @@
//! Management of async loaders
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::backend::navigator::OwnedFuture;
use crate::context::{ActionQueue, ActionType};
use crate::display_object::{DisplayObject, MorphShape, TDisplayObject};
use crate::player::{Player, NEWEST_PLAYER_VERSION};
use crate::string::AvmString;
use crate::tag_utils::SwfMovie;
use crate::vminterface::Instantiator;
use crate::xml::XmlNode;

View File

@ -3,7 +3,7 @@ use crate::avm1::debug::VariableDumper;
use crate::avm1::globals::system::SystemProperties;
use crate::avm1::object::Object;
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::backend::{
audio::{AudioBackend, AudioManager},
@ -28,6 +28,7 @@ use crate::focus_tracker::FocusTracker;
use crate::library::Library;
use crate::loader::LoadManager;
use crate::prelude::*;
use crate::string::AvmString;
use crate::tag_utils::SwfMovie;
use crate::transform::TransformStack;
use crate::vminterface::{AvmType, Instantiator};

View File

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

View File

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