Drop the `Attribute::` everywhere

This commit is contained in:
Nathan Adams 2019-10-08 20:35:23 +02:00
parent 3d09ec81e2
commit d697d03cf0
4 changed files with 35 additions and 41 deletions

View File

@ -1,7 +1,7 @@
//! Code relating to executable functions + calling conventions. //! Code relating to executable functions + calling conventions.
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::object::{Attribute, Object}; use crate::avm1::object::{Attribute::*, Object};
use crate::avm1::scope::Scope; use crate::avm1::scope::Scope;
use crate::avm1::value::Value; use crate::avm1::value::Value;
use crate::avm1::{ActionContext, Avm1}; use crate::avm1::{ActionContext, Avm1};
@ -204,14 +204,14 @@ impl<'gc> Executable<'gc> {
arguments.force_set( arguments.force_set(
&format!("{}", i), &format!("{}", i),
args.get(i).unwrap().clone(), args.get(i).unwrap().clone(),
Attribute::DontDelete, DontDelete,
); );
} }
arguments.force_set( arguments.force_set(
"length", "length",
Value::Number(args.len() as f64), Value::Number(args.len() as f64),
Attribute::DontDelete | Attribute::DontEnum, DontDelete | DontEnum,
); );
let argcell = GcCell::allocate(ac.gc_context, arguments); let argcell = GcCell::allocate(ac.gc_context, arguments);
let child_scope = GcCell::allocate( let child_scope = GcCell::allocate(
@ -251,14 +251,14 @@ impl<'gc> Executable<'gc> {
arguments.force_set( arguments.force_set(
&format!("{}", i), &format!("{}", i),
args.get(i).unwrap().clone(), args.get(i).unwrap().clone(),
Attribute::DontDelete, DontDelete,
) )
} }
arguments.force_set( arguments.force_set(
"length", "length",
Value::Number(args.len() as f64), Value::Number(args.len() as f64),
Attribute::DontDelete | Attribute::DontEnum, DontDelete | DontEnum,
); );
} }

View File

@ -1,4 +1,4 @@
use crate::avm1::object::Attribute; use crate::avm1::object::Attribute::*;
use crate::avm1::{ActionContext, Avm1, Object, Value}; use crate::avm1::{ActionContext, Avm1, Object, Value};
use gc_arena::{GcCell, MutationContext}; use gc_arena::{GcCell, MutationContext};
use rand::Rng; use rand::Rng;
@ -17,7 +17,7 @@ macro_rules! wrap_std {
} }
}, },
$gc_context, $gc_context,
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
)* )*
}}; }};
@ -54,42 +54,42 @@ pub fn create<'gc>(gc_context: MutationContext<'gc, '_>) -> GcCell<'gc, Object<'
math.force_set( math.force_set(
"E", "E",
Value::Number(std::f64::consts::E), Value::Number(std::f64::consts::E),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"LN10", "LN10",
Value::Number(std::f64::consts::LN_10), Value::Number(std::f64::consts::LN_10),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"LN2", "LN2",
Value::Number(std::f64::consts::LN_2), Value::Number(std::f64::consts::LN_2),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"LOG10E", "LOG10E",
Value::Number(std::f64::consts::LOG10_E), Value::Number(std::f64::consts::LOG10_E),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"LOG2E", "LOG2E",
Value::Number(std::f64::consts::LOG2_E), Value::Number(std::f64::consts::LOG2_E),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"PI", "PI",
Value::Number(std::f64::consts::PI), Value::Number(std::f64::consts::PI),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"SQRT1_2", "SQRT1_2",
Value::Number(std::f64::consts::FRAC_1_SQRT_2), Value::Number(std::f64::consts::FRAC_1_SQRT_2),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
math.force_set( math.force_set(
"SQRT2", "SQRT2",
Value::Number(std::f64::consts::SQRT_2), Value::Number(std::f64::consts::SQRT_2),
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
wrap_std!(math, gc_context, wrap_std!(math, gc_context,
@ -107,17 +107,12 @@ pub fn create<'gc>(gc_context: MutationContext<'gc, '_>) -> GcCell<'gc, Object<'
"tan" => f64::tan "tan" => f64::tan
); );
math.force_set_function( math.force_set_function("atan2", atan2, gc_context, DontDelete | ReadOnly | DontEnum);
"atan2",
atan2,
gc_context,
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum,
);
math.force_set_function( math.force_set_function(
"random", "random",
random, random,
gc_context, gc_context,
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
GcCell::allocate(gc_context, math) GcCell::allocate(gc_context, math)

View File

@ -1,4 +1,4 @@
use crate::avm1::object::{Attribute, Object}; use crate::avm1::object::{Attribute::*, Object};
use crate::avm1::Value; use crate::avm1::Value;
use crate::movie_clip::MovieClip; use crate::movie_clip::MovieClip;
use gc_arena::MutationContext; use gc_arena::MutationContext;
@ -17,7 +17,7 @@ macro_rules! with_movie_clip {
Value::Undefined Value::Undefined
}, },
$gc_context, $gc_context,
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
)* )*
}}; }};
@ -37,7 +37,7 @@ macro_rules! with_movie_clip_mut {
Value::Undefined Value::Undefined
}, },
$gc_context, $gc_context,
Attribute::DontDelete | Attribute::ReadOnly | Attribute::DontEnum, DontDelete | ReadOnly | DontEnum,
); );
)* )*
}}; }};

View File

@ -1,3 +1,4 @@
use self::Attribute::*;
use crate::avm1::function::{Avm1Function, Avm1Function2, Executable, NativeFunction}; use crate::avm1::function::{Avm1Function, Avm1Function2, Executable, NativeFunction};
use crate::avm1::scope::Scope; use crate::avm1::scope::Scope;
use crate::avm1::{ActionContext, Avm1, Value}; use crate::avm1::{ActionContext, Avm1, Value};
@ -72,7 +73,7 @@ impl<'gc> Property<'gc> {
Property::Stored { Property::Stored {
value, attributes, .. value, attributes, ..
} => { } => {
if !attributes.contains(Attribute::ReadOnly) { if !attributes.contains(ReadOnly) {
replace::<Value<'gc>>(value, new_value); replace::<Value<'gc>>(value, new_value);
} }
} }
@ -81,15 +82,15 @@ impl<'gc> Property<'gc> {
pub fn can_delete(&self) -> bool { pub fn can_delete(&self) -> bool {
match self { match self {
Property::Virtual { attributes, .. } => !attributes.contains(Attribute::DontDelete), Property::Virtual { attributes, .. } => !attributes.contains(DontDelete),
Property::Stored { attributes, .. } => !attributes.contains(Attribute::DontDelete), Property::Stored { attributes, .. } => !attributes.contains(DontDelete),
} }
} }
pub fn is_enumerable(&self) -> bool { pub fn is_enumerable(&self) -> bool {
match self { match self {
Property::Virtual { attributes, .. } => !attributes.contains(Attribute::DontEnum), Property::Virtual { attributes, .. } => !attributes.contains(DontEnum),
Property::Stored { attributes, .. } => !attributes.contains(Attribute::DontEnum), Property::Stored { attributes, .. } => !attributes.contains(DontEnum),
} }
} }
} }
@ -166,7 +167,7 @@ impl<'gc> Object<'gc> {
"toString", "toString",
default_to_string, default_to_string,
gc_context, gc_context,
Attribute::DontDelete | Attribute::DontEnum, DontDelete | DontEnum,
); );
result result
@ -484,7 +485,7 @@ mod tests {
object.write(context.gc_context).force_set( object.write(context.gc_context).force_set(
"readonly", "readonly",
Value::String("initial".to_string()), Value::String("initial".to_string()),
Attribute::ReadOnly, ReadOnly,
); );
object.write(context.gc_context).set( object.write(context.gc_context).set(
@ -519,7 +520,7 @@ mod tests {
object.write(context.gc_context).force_set( object.write(context.gc_context).force_set(
"test", "test",
Value::String("initial".to_string()), Value::String("initial".to_string()),
Attribute::DontDelete, DontDelete,
); );
assert_eq!(object.write(context.gc_context).delete("test"), false); assert_eq!(object.write(context.gc_context).delete("test"), false);
@ -592,7 +593,7 @@ mod tests {
"virtual_un", "virtual_un",
getter, getter,
None, None,
Attribute::DontDelete, DontDelete,
); );
object.write(context.gc_context).force_set( object.write(context.gc_context).force_set(
"stored", "stored",
@ -602,7 +603,7 @@ mod tests {
object.write(context.gc_context).force_set( object.write(context.gc_context).force_set(
"stored_un", "stored_un",
Value::String("Stored!".to_string()), Value::String("Stored!".to_string()),
Attribute::DontDelete, DontDelete,
); );
assert_eq!(object.write(context.gc_context).delete("virtual"), true); assert_eq!(object.write(context.gc_context).delete("virtual"), true);
@ -641,11 +642,9 @@ mod tests {
object object
.write(context.gc_context) .write(context.gc_context)
.force_set("stored", Value::Null, EnumSet::empty()); .force_set("stored", Value::Null, EnumSet::empty());
object.write(context.gc_context).force_set( object
"stored_hidden", .write(context.gc_context)
Value::Null, .force_set("stored_hidden", Value::Null, DontEnum);
Attribute::DontEnum,
);
object.write(context.gc_context).force_set_virtual( object.write(context.gc_context).force_set_virtual(
"virtual", "virtual",
getter, getter,
@ -656,7 +655,7 @@ mod tests {
"virtual_hidden", "virtual_hidden",
getter, getter,
None, None,
Attribute::DontEnum, DontEnum,
); );
let keys = object.read().get_keys(); let keys = object.read().get_keys();