Stub for better goto declaration

This commit is contained in:
Jindra Petřík
2022-11-25 19:52:15 +01:00
parent 727c076e05
commit b156340a83
3 changed files with 23 additions and 5 deletions

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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
}