public class MergingLog
extends java.lang.Object
write() is called.
For its use by MergeWriter, it uses ConcurrentMaps internally, so it is safe to perform any log
operation from any thread.| Constructor and Description |
|---|
MergingLog(java.io.File outputFolder) |
| Modifier and Type | Method and Description |
|---|---|
com.android.ide.common.blame.SourceFile |
destinationFor(com.android.ide.common.blame.SourceFile original)
Find a destination file that was mapped from an original file.
|
com.android.ide.common.blame.SourceFile |
find(com.android.ide.common.blame.SourceFile mergedFile)
Find the original source file corresponding to an intermediate file.
|
com.android.ide.common.blame.SourceFilePosition |
find(com.android.ide.common.blame.SourceFilePosition mergedFilePosition)
Find the original source file and position for a position in an intermediate merged file.
|
static com.android.ide.common.blame.SourceFilePosition |
find(com.android.ide.common.blame.SourcePosition position,
java.util.Map<com.android.ide.common.blame.SourcePosition,com.android.ide.common.blame.SourceFilePosition> positionMap)
Find the original source file and position for a position in an intermediate merged file.
|
void |
logCopy(java.io.File source,
java.io.File destination)
Store the source of a file in the merging log.
|
void |
logCopy(com.android.ide.common.blame.SourceFile source,
com.android.ide.common.blame.SourceFile destination)
Store the source of a file in the merging log.
|
void |
logRemove(com.android.ide.common.blame.SourceFile merged)
Remove a merged file from the merging log.
|
void |
logSource(com.android.ide.common.blame.SourceFile mergedFile,
java.util.Map<com.android.ide.common.blame.SourcePosition,com.android.ide.common.blame.SourceFilePosition> map)
Store the source file positions for a merged file.
|
void |
write()
Persist the current state of the merging log.
|
public void logCopy(@NonNull
com.android.ide.common.blame.SourceFile source,
@NonNull
com.android.ide.common.blame.SourceFile destination)
source - the original file.destination - the destination.public void logCopy(@NonNull
java.io.File source,
@NonNull
java.io.File destination)
source - the original file.destination - the destination.public void logRemove(@NonNull
com.android.ide.common.blame.SourceFile merged)
public void logSource(@NonNull
com.android.ide.common.blame.SourceFile mergedFile,
@NonNull
java.util.Map<com.android.ide.common.blame.SourcePosition,com.android.ide.common.blame.SourceFilePosition> map)
mergedFile - the destination file.map - the map from positions in the destination file to the SourceFilePosition
that they came from.@NonNull
public com.android.ide.common.blame.SourceFile find(@NonNull
com.android.ide.common.blame.SourceFile mergedFile)
@NonNull
public com.android.ide.common.blame.SourceFilePosition find(@NonNull
com.android.ide.common.blame.SourceFilePosition mergedFilePosition)
Returns the original position if none found.
@Nullable
public static com.android.ide.common.blame.SourceFilePosition find(@NonNull
com.android.ide.common.blame.SourcePosition position,
@NonNull
java.util.Map<com.android.ide.common.blame.SourcePosition,com.android.ide.common.blame.SourceFilePosition> positionMap)
Returns null if none found.
public void write()
throws java.io.IOException
java.io.IOException@NonNull
public com.android.ide.common.blame.SourceFile destinationFor(@NonNull
com.android.ide.common.blame.SourceFile original)
original - the original file