class ASTDiff::Impl
Declaration
class ASTDiff::Impl { /* full declaration omitted */ };
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:57
Member Variables
- public SyntaxTree::Impl& T1
- public SyntaxTree::Impl& T2
- public anonymous struct / union TheMapping
- private const clang::diff::ComparisonOptions& Options
Method Overview
- public Impl(SyntaxTree::Impl & T1, SyntaxTree::Impl & T2, const clang::diff::ComparisonOptions & Options)
- private void addOptimalMapping(clang::diff::(anonymous namespace)::Mapping & M, clang::diff::NodeId Id1, clang::diff::NodeId Id2) const
- public void computeChangeKinds(clang::diff::(anonymous namespace)::Mapping & M)
- public void computeMapping()
- private clang::diff::NodeId findCandidate(const clang::diff::(anonymous namespace)::Mapping & M, clang::diff::NodeId Id1) const
- private double getJaccardSimilarity(const clang::diff::(anonymous namespace)::Mapping & M, clang::diff::NodeId Id1, clang::diff::NodeId Id2) const
- public clang::diff::NodeId getMapped(const std::unique_ptr<SyntaxTree::Impl> & Tree, clang::diff::NodeId Id) const
- private bool haveSameParents(const clang::diff::(anonymous namespace)::Mapping & M, clang::diff::NodeId Id1, clang::diff::NodeId Id2) const
- private bool identical(clang::diff::NodeId Id1, clang::diff::NodeId Id2) const
- private bool isMatchingPossible(clang::diff::NodeId Id1, clang::diff::NodeId Id2) const
- private void matchBottomUp(clang::diff::(anonymous namespace)::Mapping & M) const
- private clang::diff::(anonymous namespace)::Mapping matchTopDown() const
Methods
¶Impl(
SyntaxTree::Impl& T1,
SyntaxTree::Impl& T2,
const clang::diff::ComparisonOptions& Options)
Impl(
SyntaxTree::Impl& T1,
SyntaxTree::Impl& T2,
const clang::diff::ComparisonOptions& Options)
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:62
Parameters
- SyntaxTree::Impl& T1
- SyntaxTree::Impl& T2
- const clang::diff::ComparisonOptions& Options
¶void addOptimalMapping(
clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
void addOptimalMapping(
clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:91
Parameters
- clang::diff::(anonymous namespace)::Mapping& M
- clang::diff::NodeId Id1
- clang::diff::NodeId Id2
¶void computeChangeKinds(clang::diff::(
anonymous namespace)::Mapping& M)
void computeChangeKinds(clang::diff::(
anonymous namespace)::Mapping& M)
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:69
Parameters
- clang::diff::(anonymous namespace)::Mapping& M
¶void computeMapping()
void computeMapping()
Description
Matches nodes one-by-one based on their similarity.
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:66
¶clang::diff::NodeId findCandidate(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1) const
clang::diff::NodeId findCandidate(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:98
Parameters
- const clang::diff::(anonymous namespace)::Mapping& M
- clang::diff::NodeId Id1
¶double getJaccardSimilarity(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
double getJaccardSimilarity(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:95
Parameters
- const clang::diff::(anonymous namespace)::Mapping& M
- clang::diff::NodeId Id1
- clang::diff::NodeId Id2
¶clang::diff::NodeId getMapped(
const std::unique_ptr<SyntaxTree::Impl>& Tree,
clang::diff::NodeId Id) const
clang::diff::NodeId getMapped(
const std::unique_ptr<SyntaxTree::Impl>& Tree,
clang::diff::NodeId Id) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:71
Parameters
- const std::unique_ptr<SyntaxTree::Impl>& Tree
- clang::diff::NodeId Id
¶bool haveSameParents(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
bool haveSameParents(
const clang::diff::(
anonymous namespace)::Mapping& M,
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:87
Parameters
- const clang::diff::(anonymous namespace)::Mapping& M
- clang::diff::NodeId Id1
- clang::diff::NodeId Id2
¶bool identical(clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
bool identical(clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:81
Parameters
¶bool isMatchingPossible(
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
bool isMatchingPossible(
clang::diff::NodeId Id1,
clang::diff::NodeId Id2) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:84
Parameters
¶void matchBottomUp(clang::diff::(
anonymous namespace)::Mapping& M) const
void matchBottomUp(clang::diff::(
anonymous namespace)::Mapping& M) const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:104
Parameters
- clang::diff::(anonymous namespace)::Mapping& M
¶clang::diff::(anonymous namespace)::Mapping
matchTopDown() const
clang::diff::(anonymous namespace)::Mapping
matchTopDown() const
Declared at: clang/lib/Tooling/ASTDiff/ASTDiff.cpp:101