From 231b4e7d3ca69a972d79d828388a2644f37b00db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 26 Nov 2022 21:26:46 +0100 Subject: [PATCH] Package internal Namespace - do not display its string value. --- .../flash/abc/types/traits/TraitSlotConst.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java index 3f2e1bf94..9c66a821b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java @@ -109,6 +109,18 @@ public class TraitSlotConst extends Trait implements TraitWithSlot { return writer; } + private boolean hasValueStr(ABC abc, ConvertData convertData) { + if (convertData.assignedValues.containsKey(this)) { + return true; + } + if (value_kind == ValueKind.CONSTANT_Namespace) { + if (abc.constants.getNamespace(value_index).kind == Namespace.KIND_PACKAGE_INTERNAL) { + return false; + } + } + return value_kind != 0; + } + public void getValueStr(AbcIndexing abcIndex, ScriptExportMode exportMode, Trait parent, ConvertData convertData, GraphTextWriter writer, ABC abc, List fullyQualifiedNames) throws InterruptedException { if (convertData.assignedValues.containsKey(this)) { @@ -130,7 +142,7 @@ public class TraitSlotConst extends Trait implements TraitWithSlot { return; } - if (value_kind != 0) { + if (value_kind != 0) { ValueKind val = new ValueKind(value_index, value_kind); writer.hilightSpecial(val.toString(abc.constants), HighlightSpecialType.TRAIT_VALUE); } @@ -167,7 +179,7 @@ public class TraitSlotConst extends Trait implements TraitWithSlot { } } getNameStr(writer, abc, fullyQualifiedNames); - if (value_kind != 0 || convertData.assignedValues.containsKey(this)) { + if (hasValueStr(abc, convertData)) { writer.appendNoHilight(" = "); getValueStr(abcIndex, exportMode, parent, convertData, writer, abc, fullyQualifiedNames); } @@ -177,7 +189,7 @@ public class TraitSlotConst extends Trait implements TraitWithSlot { @Override public void convert(AbcIndexing abcIndex, Trait parent, ConvertData convertData, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, int scriptIndex, int classIndex, NulWriter writer, List fullyQualifiedNames, boolean parallel) throws InterruptedException { getNameStr(writer, abc, fullyQualifiedNames); - if (value_kind != 0 || convertData.assignedValues.containsKey(this)) { + if (hasValueStr(abc, convertData)) { getValueStr(abcIndex,exportMode, parent, convertData, writer, abc, fullyQualifiedNames); } }