diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java index 0be605256..582dc99a1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java @@ -107,13 +107,24 @@ public abstract class AVM2Item extends GraphTargetItem { if (empty) { return propertyName.toString(writer, localData); } + if (propertyName instanceof FullMultinameAVM2Item) { + + //TODO: use type information in the GUI + /*HighlightData data = new HighlightData(); + int multinameIndex = ((FullMultinameAVM2Item) propertyName).multinameIndex; + int namespaceIndex = localData.constantsAvm2.getMultiname(multinameIndex).namespace_index; + data.specialValue = object.returnType().toString(); + data.namespaceIndex = namespaceIndex;*/ + if (((FullMultinameAVM2Item) propertyName).name != null) { - if (((FullMultinameAVM2Item) propertyName).namespace != null) { - writer.append("."); - } + /*if (((FullMultinameAVM2Item) propertyName).namespace != null) { + writer.hilightSpecial(".", HighlightSpecialType.PROPERTY_PARENT_TYPE, 0, data); + }*/ + writer.append("."); return propertyName.toString(writer, localData); } else { + //writer.hilightSpecial(".", HighlightSpecialType.PROPERTY_PARENT_TYPE, 0, data); writer.append("."); return propertyName.toString(writer, localData); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightData.java index 1240718d0..29b673f04 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightData.java @@ -44,12 +44,15 @@ public class HighlightData implements Cloneable, Serializable { public long firstLineOffset = -1; public int regIndex = -1; + + public int namespaceIndex = -1; public boolean isEmpty() { return !declaration && declaredType == null && localName == null && subtype == null && specialValue == null && index == 0 && offset == 0 && regIndex == -1 && firstLineOffset == -1 - && fileOffset == -1; + && fileOffset == -1 + && namespaceIndex == -1; } public void merge(HighlightData data) { @@ -86,6 +89,9 @@ public class HighlightData implements Cloneable, Serializable { if (data.fileOffset != -1) { fileOffset = data.fileOffset; } + if (data.namespaceIndex != -1) { + namespaceIndex = data.namespaceIndex; + } } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java index 02193905d..d00b9382e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java @@ -30,5 +30,6 @@ public enum HighlightSpecialType { FLAG_IGNORE_REST, FLAG_NEED_ACTIVATION, FLAG_NEED_ARGUMENTS, FLAG_SET_DXNS, TRY_TYPE, TRY_NAME, TEXT, - ATTR_METADATA, ATTR_FINAL, ATTR_OVERRIDE, ATTR_0x8 + ATTR_METADATA, ATTR_FINAL, ATTR_OVERRIDE, ATTR_0x8, + PROPERTY_PARENT_TYPE }