From b9c07204078b9a7b494641b245cede10dcb0f86f Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Thu, 23 Jul 2015 17:50:15 +0200 Subject: [PATCH] #991 (Not so) Serious Bug in Decompiler! --- .../flash/abc/types/traits/TraitClass.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java index 2c42497f5..b0c95baaf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java @@ -546,6 +546,19 @@ public class TraitClass extends Trait implements TraitWithSlot { InstanceInfo instanceInfo = abc.instance_info.get(class_info); String instanceInfoName = instanceInfo.getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false); ClassInfo classInfo = abc.class_info.get(class_info); + + for (Trait trait : classInfo.static_traits.traits) { + if (trait instanceof TraitSlotConst) { + ((TraitSlotConst) trait).assignedValue = null; + } + } + + for (Trait trait : instanceInfo.instance_traits.traits) { + if (trait instanceof TraitSlotConst) { + ((TraitSlotConst) trait).assignedValue = null; + } + } + int bodyIndex = abc.findBodyIndex(classInfo.cinit_index); if (bodyIndex != -1) { writer.mark();