[clang] 0826a56 - [NFC] make ASTContext:isSame* methods const
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 6 22:58:27 PDT 2022
Author: Chuanqi Xu
Date: 2022-07-07T13:34:15+08:00
New Revision: 0826a5617885bef2559c8213ec52685786ff0506
URL: https://github.com/llvm/llvm-project/commit/0826a5617885bef2559c8213ec52685786ff0506
DIFF: https://github.com/llvm/llvm-project/commit/0826a5617885bef2559c8213ec52685786ff0506.diff
LOG: [NFC] make ASTContext:isSame* methods const
Added:
Modified:
clang/include/clang/AST/ASTContext.h
clang/lib/AST/ASTContext.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h
index 7db6af9cb87d..92293622cc3d 100644
--- a/clang/include/clang/AST/ASTContext.h
+++ b/clang/include/clang/AST/ASTContext.h
@@ -260,7 +260,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
mutable llvm::FoldingSet<DeducedTemplateSpecializationType>
DeducedTemplateSpecializationTypes;
mutable llvm::FoldingSet<AtomicType> AtomicTypes;
- llvm::FoldingSet<AttributedType> AttributedTypes;
+ mutable llvm::FoldingSet<AttributedType> AttributedTypes;
mutable llvm::FoldingSet<PipeType> PipeTypes;
mutable llvm::FoldingSet<BitIntType> BitIntTypes;
mutable llvm::FoldingSet<DependentBitIntType> DependentBitIntTypes;
@@ -1306,11 +1306,11 @@ class ASTContext : public RefCountedBase<ASTContext> {
/// declaration of a function with an exception specification is permitted
/// and preserved. Other type sugar (for instance, typedefs) is not.
QualType getFunctionTypeWithExceptionSpec(
- QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI);
+ QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) const;
/// Determine whether two function types are the same, ignoring
/// exception specifications in cases where they're part of the type.
- bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U);
+ bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U) const;
/// Change the exception specification on a function once it is
/// delay-parsed, instantiated, or computed.
@@ -1597,9 +1597,8 @@ class ASTContext : public RefCountedBase<ASTContext> {
QualType getInjectedClassNameType(CXXRecordDecl *Decl, QualType TST) const;
- QualType getAttributedType(attr::Kind attrKind,
- QualType modifiedType,
- QualType equivalentType);
+ QualType getAttributedType(attr::Kind attrKind, QualType modifiedType,
+ QualType equivalentType) const;
QualType getBTFTagAttributedType(const BTFTypeTagAttr *BTFAttr,
QualType Wrapped);
@@ -2654,25 +2653,16 @@ class ASTContext : public RefCountedBase<ASTContext> {
bool hasSameTemplateName(const TemplateName &X, const TemplateName &Y) const;
/// Determine whether the two declarations refer to the same entity.
- ///
- /// FIXME: isSameEntity is not const due to its implementation calls
- /// hasSameFunctionTypeIgnoringExceptionSpec which may alter this.
- bool isSameEntity(const NamedDecl *X, const NamedDecl *Y);
+ bool isSameEntity(const NamedDecl *X, const NamedDecl *Y) const;
/// Determine whether two template parameter lists are similar enough
/// that they may be used in declarations of the same template.
- ///
- /// FIXME: isSameTemplateParameterList is not const since it calls
- /// isSameTemplateParameter.
bool isSameTemplateParameterList(const TemplateParameterList *X,
- const TemplateParameterList *Y);
+ const TemplateParameterList *Y) const;
/// Determine whether two template parameters are similar enough
/// that they may be used in declarations of the same template.
- ///
- /// FIXME: isSameTemplateParameterList is not const since it calls
- /// isSameEntity.
- bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y);
+ bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y) const;
/// Retrieve the "canonical" template argument.
///
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index e64135cbf3f4..aced0ab39ace 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -3166,7 +3166,7 @@ void ASTContext::adjustDeducedFunctionResultType(FunctionDecl *FD,
/// declaration of a function with an exception specification is permitted
/// and preserved. Other type sugar (for instance, typedefs) is not.
QualType ASTContext::getFunctionTypeWithExceptionSpec(
- QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) {
+ QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) const {
// Might have some parens.
if (const auto *PT = dyn_cast<ParenType>(Orig))
return getParenType(
@@ -3194,7 +3194,7 @@ QualType ASTContext::getFunctionTypeWithExceptionSpec(
}
bool ASTContext::hasSameFunctionTypeIgnoringExceptionSpec(QualType T,
- QualType U) {
+ QualType U) const {
return hasSameType(T, U) ||
(getLangOpts().CPlusPlus17 &&
hasSameType(getFunctionTypeWithExceptionSpec(T, EST_None),
@@ -4703,7 +4703,7 @@ QualType ASTContext::getUnresolvedUsingType(
QualType ASTContext::getAttributedType(attr::Kind attrKind,
QualType modifiedType,
- QualType equivalentType) {
+ QualType equivalentType) const {
llvm::FoldingSetNodeID id;
AttributedType::Profile(id, attrKind, modifiedType, equivalentType);
@@ -6219,7 +6219,7 @@ bool ASTContext::hasSameTemplateName(const TemplateName &X,
}
bool ASTContext::isSameTemplateParameter(const NamedDecl *X,
- const NamedDecl *Y) {
+ const NamedDecl *Y) const {
if (X->getKind() != Y->getKind())
return false;
@@ -6270,8 +6270,8 @@ bool ASTContext::isSameTemplateParameter(const NamedDecl *X,
TY->getTemplateParameters());
}
-bool ASTContext::isSameTemplateParameterList(const TemplateParameterList *X,
- const TemplateParameterList *Y) {
+bool ASTContext::isSameTemplateParameterList(
+ const TemplateParameterList *X, const TemplateParameterList *Y) const {
if (X->size() != Y->size())
return false;
@@ -6374,7 +6374,7 @@ static bool hasSameOverloadableAttrs(const FunctionDecl *A,
return true;
}
-bool ASTContext::isSameEntity(const NamedDecl *X, const NamedDecl *Y) {
+bool ASTContext::isSameEntity(const NamedDecl *X, const NamedDecl *Y) const {
if (X == Y)
return true;
@@ -6481,8 +6481,6 @@ bool ASTContext::isSameEntity(const NamedDecl *X, const NamedDecl *Y) {
if (getLangOpts().CPlusPlus17 && XFPT && YFPT &&
(isUnresolvedExceptionSpec(XFPT->getExceptionSpecType()) ||
isUnresolvedExceptionSpec(YFPT->getExceptionSpecType())) &&
- // FIXME: We could make isSameEntity const after we make
- // hasSameFunctionTypeIgnoringExceptionSpec const.
hasSameFunctionTypeIgnoringExceptionSpec(XT, YT))
return true;
return false;
More information about the cfe-commits
mailing list