diff --git a/core/src/avm2/multiname.rs b/core/src/avm2/multiname.rs index c93f5b9ee..08a07318c 100644 --- a/core/src/avm2/multiname.rs +++ b/core/src/avm2/multiname.rs @@ -465,12 +465,10 @@ impl<'gc> Multiname<'gc> { /// Like `to_qualified_name`, but returns `*` if `self.is_any()` is true. /// This is used by `describeType` pub fn to_qualified_name_or_star(&self, context: &mut GcContext<'_, 'gc>) -> AvmString<'gc> { - let mc = context.gc_context; - if self.is_any_name() { - context.interner.get_char(mc, '*' as u16) + context.interner.get_ascii_char('*') } else { - self.to_qualified_name(mc) + self.to_qualified_name(context.gc_context) } } diff --git a/core/src/avm2/property.rs b/core/src/avm2/property.rs index 8a7a5c4e4..b7fa54378 100644 --- a/core/src/avm2/property.rs +++ b/core/src/avm2/property.rs @@ -130,12 +130,10 @@ impl<'gc> PropertyClass<'gc> { } pub fn get_name(&self, context: &mut GcContext<'_, 'gc>) -> AvmString<'gc> { - let mc = context.gc_context; - match self { - PropertyClass::Class(class) => class.name().to_qualified_name(mc), + PropertyClass::Class(class) => class.name().to_qualified_name(context.gc_context), PropertyClass::Name(gc) => gc.0.to_qualified_name_or_star(context), - PropertyClass::Any => context.interner.get_char(mc, '*' as u16), + PropertyClass::Any => context.interner.get_ascii_char('*'), } } } diff --git a/core/src/string/interner.rs b/core/src/string/interner.rs index a2be80ae2..f7c411d1b 100644 --- a/core/src/string/interner.rs +++ b/core/src/string/interner.rs @@ -155,6 +155,12 @@ impl<'gc> AvmStringInterner<'gc> { } } + // Like get_char, but panics if the passed char is not ASCII. + #[must_use] + pub fn get_ascii_char(&self, c: char) -> AvmString<'gc> { + self.chars[c as usize].into() + } + #[must_use] pub fn substring( &self,