avm2: Add `get_ascii_char` to `AvmStringInterner` and use it
This commit is contained in:
parent
b3769aa6f2
commit
42b44901fc
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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('*'),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue