Envision
A visual programming IDE for object-oriented languages
List of all members | Static Public Member Functions | Friends
FilePersistence::Diff3Parse Class Reference

Static Public Member Functions

static QList< Model::NodeIdTypebacktrackLCS (int **data, const QList< Model::NodeIdType > listA, const QList< Model::NodeIdType > listB, int posA, int posB)
 
static QList< Model::NodeIdTypebacktrackLCS3 (int ***data, const QList< Model::NodeIdType > listA, const QList< Model::NodeIdType > listB, const QList< Model::NodeIdType > listC, int posA, int posB, int posC)
 
static QList< Chunk * > computeChunks (const QList< Model::NodeIdType > idListA, const QList< Model::NodeIdType > idListB, const QList< Model::NodeIdType > idListBase)
 Computes stable and unstable chunks. More...
 
static QList< Model::NodeIdTypelongestCommonSubsequence (const QList< Model::NodeIdType > listA, const QList< Model::NodeIdType > listB)
 
static QList< Model::NodeIdTypelongestCommonSubsequence3 (const QList< Model::NodeIdType > listA, const QList< Model::NodeIdType > listB, const QList< Model::NodeIdType > listC)
 

Friends

class ListMergeComponent
 
class ListMergeComponentV2
 

Member Function Documentation

◆ backtrackLCS()

QList< Model::NodeIdType > FilePersistence::Diff3Parse::backtrackLCS ( int **  data,
const QList< Model::NodeIdType listA,
const QList< Model::NodeIdType listB,
int  posA,
int  posB 
)
static

◆ backtrackLCS3()

QList< Model::NodeIdType > FilePersistence::Diff3Parse::backtrackLCS3 ( int ***  data,
const QList< Model::NodeIdType listA,
const QList< Model::NodeIdType listB,
const QList< Model::NodeIdType listC,
int  posA,
int  posB,
int  posC 
)
static

◆ computeChunks()

QList< Chunk * > FilePersistence::Diff3Parse::computeChunks ( const QList< Model::NodeIdType idListA,
const QList< Model::NodeIdType idListB,
const QList< Model::NodeIdType idListBase 
)
static

Computes stable and unstable chunks.

This is what's called a diff3 parse in the paper by Khanna, Kunal, Pierce: A Formal Investigation of Diff3 available at http://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf.

The caller is responsible for deleting the returned chunks.

◆ longestCommonSubsequence()

QList< Model::NodeIdType > FilePersistence::Diff3Parse::longestCommonSubsequence ( const QList< Model::NodeIdType listA,
const QList< Model::NodeIdType listB 
)
static

◆ longestCommonSubsequence3()

QList< Model::NodeIdType > FilePersistence::Diff3Parse::longestCommonSubsequence3 ( const QList< Model::NodeIdType listA,
const QList< Model::NodeIdType listB,
const QList< Model::NodeIdType listC 
)
static

Friends And Related Function Documentation

◆ ListMergeComponent

friend class ListMergeComponent
friend

◆ ListMergeComponentV2

friend class ListMergeComponentV2
friend