@Override protected HighlightedTextWriter hilightSpecial( String text, HighlightSpecialType type, String specialValue, HighlightData data) { HighlightData ndata = new HighlightData(); ndata.merge(data); ndata.subtype = type; ndata.specialValue = specialValue; start(ndata, HighlightType.SPECIAL); appendNoHilight(text); return end(HighlightType.SPECIAL); }
@Override public HighlightedTextWriter append(String str, long offset, long fileOffset) { Highlighting h = null; if (hilight) { HighlightData data = new HighlightData(); data.offset = offset; data.fileOffset = fileOffset; h = new Highlighting(sb.length() - newLineCount, data, HighlightType.OFFSET, str); instructionHilights.add(h); } appendToSb(str); if (h != null) { h.len = sb.length() - newLineCount - h.startPos; } return this; }
@Override public HighlightedTextWriter appendWithData(String str, HighlightData data) { Highlighting h = null; if (!offsets.empty()) { GraphSourceItemPosition itemPos = offsets.peek(); GraphSourceItem src = itemPos.graphSourceItem; int pos = itemPos.position; if (src != null && hilight) { HighlightData ndata = new HighlightData(); ndata.merge(itemPos.data); ndata.merge(data); ndata.offset = src.getAddress() + pos; ndata.fileOffset = src.getFileOffset(); if (itemPos.startLineItem != null) { ndata.firstLineOffset = itemPos.startLineItem.getLineOffset(); } h = new Highlighting(sb.length() - newLineCount, ndata, HighlightType.OFFSET, str); instructionHilights.add(h); } } appendToSb(str); if (h != null) { h.len = sb.length() - newLineCount - h.startPos; } return this; }
/** * Highlights specified text as trait by adding special tags * * @param index Trait index * @return HighlightedTextWriter */ @Override public HighlightedTextWriter startTrait(long index) { HighlightData data = new HighlightData(); data.index = index; return start(data, HighlightType.TRAIT); }
@Override public HighlightedTextWriter startClass(String className) { HighlightData data = new HighlightData(); data.localName = className; return start(data, HighlightType.CLASS); }
/** * Highlights specified text as class by adding special tags * * @param index Class index * @return HighlightedTextWriter */ @Override public HighlightedTextWriter startClass(long index) { HighlightData data = new HighlightData(); data.index = index; return start(data, HighlightType.CLASS); }
@Override public HighlightedTextWriter startFunction(String name) { HighlightData data = new HighlightData(); data.localName = name; return start(data, HighlightType.METHOD); }
/** * Highlights specified text as method by adding special tags * * @param index MethodInfo index * @return HighlightedTextWriter */ @Override public HighlightedTextWriter startMethod(long index) { HighlightData data = new HighlightData(); data.index = index; return start(data, HighlightType.METHOD); }