AS1/2: Ctrl+click to declaration of variables, registers. Hilighting methods and classes

AS1/2: Debugger - Show registers
Fixed ctrl+click underline position
This commit is contained in:
Jindra Petřík
2015-12-05 10:53:43 +01:00
parent 8b7e754247
commit ec666b60e4
20 changed files with 321 additions and 64 deletions
@@ -77,10 +77,24 @@ public abstract class GraphTextWriter {
return this;
}
/**
* Highlights specified text as method/function
*
* @param name Function name
* @return GraphTextWriter
*/
public GraphTextWriter startFunction(String name) {
return this;
}
public GraphTextWriter endMethod() {
return this;
}
public GraphTextWriter endFunction() {
return this;
}
/**
* Highlights specified text as class
*
@@ -91,6 +105,10 @@ public abstract class GraphTextWriter {
return this;
}
public GraphTextWriter startClass(String className) {
return this;
}
public GraphTextWriter endClass() {
return this;
}
@@ -114,11 +114,23 @@ public class HighlightedTextWriter extends GraphTextWriter {
return start(data, HighlightType.METHOD);
}
@Override
public HighlightedTextWriter startFunction(String name) {
HighlightData data = new HighlightData();
data.localName = name;
return start(data, HighlightType.METHOD);
}
@Override
public HighlightedTextWriter endMethod() {
return end(HighlightType.METHOD);
}
@Override
public HighlightedTextWriter endFunction() {
return end(HighlightType.METHOD);
}
/**
* Highlights specified text as class by adding special tags
*
@@ -132,6 +144,13 @@ public class HighlightedTextWriter extends GraphTextWriter {
return start(data, HighlightType.CLASS);
}
@Override
public HighlightedTextWriter startClass(String className) {
HighlightData data = new HighlightData();
data.localName = className;
return start(data, HighlightType.CLASS);
}
@Override
public HighlightedTextWriter endClass() {
return end(HighlightType.CLASS);
@@ -190,6 +190,17 @@ public class Highlighting implements Serializable {
return ret;
}
public static List<Highlighting> searchAllLocalNames(List<Highlighting> list, String localName) {
List<Highlighting> ret = new ArrayList<>();
for (Highlighting h : list) {
if (localName.equals(h.getProperties().localName)) {
ret.add(h);
}
}
return ret;
}
/**
* Returns a string representation of the object
*