Drop the `Attribute::` everywhere
This commit is contained in:
parent
3d09ec81e2
commit
d697d03cf0
|
@ -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,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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,
|
||||||
);
|
);
|
||||||
)*
|
)*
|
||||||
}};
|
}};
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue