public MethodReference getExactMethod() { int methodId = getExactMethodId(); return methodId >= 0 ? debugInformation.getExactMethod(getExactMethodId()) : null; }
public String getFileName() { int fileId = getFileNameId(); return fileId >= 0 ? debugInformation.getFileName(fileId) : null; }
public String getClassName() { int classNameId = getClassNameId(); return classNameId >= 0 ? debugInformation.getClassName(classNameId) : null; }
public Collection<GeneratedLocation> getGeneratedLocations(SourceLocation sourceLocation) { return getGeneratedLocations(sourceLocation.getFileName(), sourceLocation.getLine()); }
void rebuild() { rebuildMaps(); rebuildFileDescriptions(); rebuildEntrances(); rebuildMethodTree(); rebuildLineCallSites(); rebuildClassMap(); }
public SourceLocation getSourceLocation(int line, int column) { return getSourceLocation(new GeneratedLocation(line, column)); }
public MethodReference getMethodAt(int line, int column) { return getMethodAt(new GeneratedLocation(line, column)); }
private void writeCallSiteMapping(RecordArray mapping) throws IOException { writeLinesAndColumns(mapping); writeRle(packValues(mapping)); writeRle(packCallSites(mapping)); }
private int indexByKey(RecordArray mapping, GeneratedLocation location) { int index = binarySearchLocation(mapping, location.getLine(), location.getColumn()); return index >= 0 ? index : -index - 2; }
public MethodDescriptor getMethod() { int methodId = getMethodId(); return methodId >= 0 ? debugInformation.getMethod(methodId) : null; }
public String getFileName() { int fileNameId = getFileNameId(); return fileNameId >= 0 ? debugInformation.getFileName(fileNameId) : null; }
public MethodDescriptor getMethod() { int methodId = getMethodId(); return methodId >= 0 ? debugInformation.getMethod(methodId) : null; }
public String getClassName() { int classId = getClassNameId(); return classId >= 0 ? debugInformation.getClassName(classId) : null; }
public String[] getVariableMeaningAt(int line, int column, String variable) { return getVariableMeaningAt(new GeneratedLocation(line, column), variable); }
ExactMethodIterator(DebugInformation debugInformation) { this.debugInformation = debugInformation; if (!isEndReached()) { read(); } }
private RecordArray[] readVariableMappings(int count) throws IOException { RecordArray[] mappings = new RecordArray[count]; int varCount = readUnsignedNumber(); int lastVar = 0; while (varCount-- > 0) { lastVar += readUnsignedNumber(); mappings[lastVar] = readMultiMapping(); } return mappings; }
private long[] readExactMethods() throws IOException { long[] result = new long[readUnsignedNumber()]; int lastClass = 0; int lastMethod = 0; for (int i = 0; i < result.length; ++i) { lastClass += readNumber(); lastMethod += readNumber(); result[i] = ((long) lastClass << 32) | lastMethod; } return result; }
private void writeCFGs(DebugInformation debugInfo) throws IOException { for (int i = 0; i < debugInfo.controlFlowGraphs.length; ++i) { writeCFG(debugInfo.controlFlowGraphs[i]); } }
private RecordArray[] readCFGs(int count) throws IOException { RecordArray[] cfgs = new RecordArray[count]; for (int i = 0; i < count; ++i) { cfgs[i] = readCFG(); } return cfgs; }
public MethodReference[] getExactMethods() { MethodReference[] result = new MethodReference[exactMethods.length]; for (int i = 0; i < result.length; ++i) { result[i] = getExactMethod(i); } return result; }