avm1: Use u16 for Property::attributes
This commit is contained in:
parent
bcd35d6ad7
commit
e6cadf7de4
|
@ -267,10 +267,10 @@ pub fn as_set_prop_flags<'gc>(
|
||||||
return Ok(Value::Undefined);
|
return Ok(Value::Undefined);
|
||||||
};
|
};
|
||||||
|
|
||||||
let set_flags = args.get(2).unwrap_or(&0.into()).coerce_to_f64(activation)? as u8;
|
let set_flags = args.get(2).unwrap_or(&0.into()).coerce_to_f64(activation)? as u16;
|
||||||
let set_attributes = Attribute::from_bits_truncate(set_flags);
|
let set_attributes = Attribute::from_bits_truncate(set_flags);
|
||||||
|
|
||||||
let clear_flags = args.get(3).unwrap_or(&0.into()).coerce_to_f64(activation)? as u8;
|
let clear_flags = args.get(3).unwrap_or(&0.into()).coerce_to_f64(activation)? as u16;
|
||||||
let clear_attributes = Attribute::from_bits_truncate(clear_flags);
|
let clear_attributes = Attribute::from_bits_truncate(clear_flags);
|
||||||
|
|
||||||
if set_attributes.bits() != set_flags || clear_attributes.bits() != clear_flags {
|
if set_attributes.bits() != set_flags || clear_attributes.bits() != clear_flags {
|
||||||
|
|
|
@ -10,10 +10,11 @@ bitflags! {
|
||||||
/// The values are significant and should match the order used by `object::as_set_prop_flags`.
|
/// The values are significant and should match the order used by `object::as_set_prop_flags`.
|
||||||
#[derive(Collect)]
|
#[derive(Collect)]
|
||||||
#[collect(require_static)]
|
#[collect(require_static)]
|
||||||
pub struct Attribute: u8 {
|
pub struct Attribute: u16 {
|
||||||
const DONT_ENUM = 1 << 0;
|
const DONT_ENUM = 1 << 0;
|
||||||
const DONT_DELETE = 1 << 1;
|
const DONT_DELETE = 1 << 1;
|
||||||
const READ_ONLY = 1 << 2;
|
const READ_ONLY = 1 << 2;
|
||||||
|
const VERSION_MASK = 0xf << 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ pub struct Declaration {
|
||||||
// This should be an `Attribute`, but because of `const` shenanigans
|
// This should be an `Attribute`, but because of `const` shenanigans
|
||||||
// we need to store the raw flags.
|
// we need to store the raw flags.
|
||||||
// See the comment in the `declare_properties!` macro.
|
// See the comment in the `declare_properties!` macro.
|
||||||
pub attributes: u8,
|
pub attributes: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// All the possible types of a [`Declaration`].
|
/// All the possible types of a [`Declaration`].
|
||||||
|
|
Loading…
Reference in New Issue