From 6f284f60eb5dacb7a25fb2c225a2578dc27731a6 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Tue, 7 Jul 2020 00:21:39 -0400 Subject: [PATCH] Allow constructing a trait from a class. --- core/src/avm2/trait.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/avm2/trait.rs b/core/src/avm2/trait.rs index 9e3b6d91e..dbb028e01 100644 --- a/core/src/avm2/trait.rs +++ b/core/src/avm2/trait.rs @@ -81,6 +81,17 @@ pub enum TraitKind<'gc> { } impl<'gc> Trait<'gc> { + pub fn from_class(class: GcCell<'gc, Class<'gc>>) -> Self { + let name = class.read().name().clone(); + + Trait { + name, + is_final: false, + is_override: false, + kind: TraitKind::Class { slot_id: 0, class }, + } + } + /// Convert an ABC trait into a loaded trait. pub fn from_abc_trait( unit: TranslationUnit<'gc>,