summaryrefslogtreecommitdiff
path: root/include/clang/AST/ASTStructuralEquivalence.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/ASTStructuralEquivalence.h')
-rw-r--r--include/clang/AST/ASTStructuralEquivalence.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/clang/AST/ASTStructuralEquivalence.h b/include/clang/AST/ASTStructuralEquivalence.h
index d32f87d43e041..f8847505bc72e 100644
--- a/include/clang/AST/ASTStructuralEquivalence.h
+++ b/include/clang/AST/ASTStructuralEquivalence.h
@@ -15,6 +15,7 @@
#ifndef LLVM_CLANG_AST_ASTSTRUCTURALEQUIVALENCE_H
#define LLVM_CLANG_AST_ASTSTRUCTURALEQUIVALENCE_H
+#include "clang/AST/DeclBase.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/Optional.h"
@@ -114,8 +115,19 @@ struct StructuralEquivalenceContext {
private:
/// Finish checking all of the structural equivalences.
///
- /// \returns true if an error occurred, false otherwise.
+ /// \returns true if the equivalence check failed (non-equivalence detected),
+ /// false if equivalence was detected.
bool Finish();
+
+ /// Check for common properties at Finish.
+ /// \returns true if D1 and D2 may be equivalent,
+ /// false if they are for sure not.
+ bool CheckCommonEquivalence(Decl *D1, Decl *D2);
+
+ /// Check for class dependent properties at Finish.
+ /// \returns true if D1 and D2 may be equivalent,
+ /// false if they are for sure not.
+ bool CheckKindSpecificEquivalence(Decl *D1, Decl *D2);
};
} // namespace clang