private int remaining;
/** Blame is currently assigned to this source. */
- private Candidate currentSource;
+ private Candidate outCandidate;
+ private Region outRegion;
/**
* Create a blame generator for the repository and path (relative to
*/
public boolean next() throws IOException {
// If there is a source still pending, produce the next region.
- if (currentSource != null) {
- Region r = currentSource.regionList;
- Region n = r.next;
+ if (outRegion != null) {
+ Region r = outRegion;
remaining -= r.length;
- if (n != null) {
- currentSource.regionList = n;
+ if (r.next != null) {
+ outRegion = r.next;
return true;
}
- if (currentSource.queueNext != null)
- return result(currentSource.queueNext);
+ if (outCandidate.queueNext != null)
+ return result(outCandidate.queueNext);
- currentSource = null;
+ outCandidate = null;
+ outRegion = null;
}
// If there are no lines remaining, the entire result is done,
private boolean result(Candidate n) throws IOException {
if (n.sourceCommit != null)
revPool.parseBody(n.sourceCommit);
- currentSource = n;
+ outCandidate = n;
+ outRegion = n.regionList;
return true;
}
* @return current revision being blamed.
*/
public RevCommit getSourceCommit() {
- return currentSource.sourceCommit;
+ return outCandidate.sourceCommit;
}
/** @return current author being blamed. */
public PersonIdent getSourceAuthor() {
- return currentSource.getAuthor();
+ return outCandidate.getAuthor();
}
/** @return current committer being blamed. */
/** @return path of the file being blamed. */
public String getSourcePath() {
- return currentSource.sourcePath.getPath();
+ return outCandidate.sourcePath.getPath();
}
/** @return rename score if a rename occurred in {@link #getSourceCommit}. */
public int getRenameScore() {
- return currentSource.renameScore;
+ return outCandidate.renameScore;
}
/**
* {@link #getSourcePath()}.
*/
public int getSourceStart() {
- return currentSource.regionList.sourceStart;
+ return outRegion.sourceStart;
}
/**
* {@link #getSourcePath()}.
*/
public int getSourceEnd() {
- Region r = currentSource.regionList;
+ Region r = outRegion;
return r.sourceStart + r.length;
}
* blamed for providing. Line numbers use 0 based indexing.
*/
public int getResultStart() {
- return currentSource.regionList.resultStart;
+ return outRegion.resultStart;
}
/**
* than {@link #getResultStart()}.
*/
public int getResultEnd() {
- Region r = currentSource.regionList;
+ Region r = outRegion;
return r.resultStart + r.length;
}
* {@code getSourceEnd() - getSourceStart()}.
*/
public int getRegionLength() {
- return currentSource.regionList.length;
+ return outRegion.length;
}
/**
* applications will want the result contents for display to users.
*/
public RawText getSourceContents() {
- return currentSource.sourceText;
+ return outCandidate.sourceText;
}
/**
public void release() {
revPool.release();
queue = null;
- currentSource = null;
+ outCandidate = null;
+ outRegion = null;
}
private boolean find(RevCommit commit, PathFilter path) throws IOException {