Skip to content

Commit 8089c3d

Browse files
committed
[clang][NFC] Convert Sema::NonTagKind to scoped enum
1 parent 09fb9ad commit 8089c3d

File tree

4 files changed

+27
-27
lines changed

4 files changed

+27
-27
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,20 @@ enum class PointerAuthDiscArgKind {
595595
Extra,
596596
};
597597

598+
/// Common ways to introduce type names without a tag for use in diagnostics.
599+
/// Keep in sync with err_tag_reference_non_tag.
600+
enum class NonTagKind {
601+
NonStruct,
602+
NonClass,
603+
NonUnion,
604+
NonEnum,
605+
Typedef,
606+
TypeAlias,
607+
Template,
608+
TypeAliasTemplate,
609+
TemplateTemplateArgument,
610+
};
611+
598612
/// Sema - This implements semantic analysis and AST building for C.
599613
/// \nosubgrouping
600614
class Sema final : public SemaBase {
@@ -3975,20 +3989,6 @@ class Sema final : public SemaBase {
39753989
Decl *BuildMicrosoftCAnonymousStruct(Scope *S, DeclSpec &DS,
39763990
RecordDecl *Record);
39773991

3978-
/// Common ways to introduce type names without a tag for use in diagnostics.
3979-
/// Keep in sync with err_tag_reference_non_tag.
3980-
enum NonTagKind {
3981-
NTK_NonStruct,
3982-
NTK_NonClass,
3983-
NTK_NonUnion,
3984-
NTK_NonEnum,
3985-
NTK_Typedef,
3986-
NTK_TypeAlias,
3987-
NTK_Template,
3988-
NTK_TypeAliasTemplate,
3989-
NTK_TemplateTemplateArgument,
3990-
};
3991-
39923992
/// Given a non-tag type declaration, returns an enum useful for indicating
39933993
/// what kind of non-tag type this is.
39943994
NonTagKind getNonTagTypeDeclKind(const Decl *D, TagTypeKind TTK);

clang/lib/Sema/SemaDecl.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17198,27 +17198,27 @@ static bool isClassCompatTagKind(TagTypeKind Tag)
1719817198
Tag == TagTypeKind::Interface;
1719917199
}
1720017200

17201-
Sema::NonTagKind Sema::getNonTagTypeDeclKind(const Decl *PrevDecl,
17202-
TagTypeKind TTK) {
17201+
NonTagKind Sema::getNonTagTypeDeclKind(const Decl *PrevDecl, TagTypeKind TTK) {
1720317202
if (isa<TypedefDecl>(PrevDecl))
17204-
return NTK_Typedef;
17203+
return NonTagKind::Typedef;
1720517204
else if (isa<TypeAliasDecl>(PrevDecl))
17206-
return NTK_TypeAlias;
17205+
return NonTagKind::TypeAlias;
1720717206
else if (isa<ClassTemplateDecl>(PrevDecl))
17208-
return NTK_Template;
17207+
return NonTagKind::Template;
1720917208
else if (isa<TypeAliasTemplateDecl>(PrevDecl))
17210-
return NTK_TypeAliasTemplate;
17209+
return NonTagKind::TypeAliasTemplate;
1721117210
else if (isa<TemplateTemplateParmDecl>(PrevDecl))
17212-
return NTK_TemplateTemplateArgument;
17211+
return NonTagKind::TemplateTemplateArgument;
1721317212
switch (TTK) {
1721417213
case TagTypeKind::Struct:
1721517214
case TagTypeKind::Interface:
1721617215
case TagTypeKind::Class:
17217-
return getLangOpts().CPlusPlus ? NTK_NonClass : NTK_NonStruct;
17216+
return getLangOpts().CPlusPlus ? NonTagKind::NonClass
17217+
: NonTagKind::NonStruct;
1721817218
case TagTypeKind::Union:
17219-
return NTK_NonUnion;
17219+
return NonTagKind::NonUnion;
1722017220
case TagTypeKind::Enum:
17221-
return NTK_NonEnum;
17221+
return NonTagKind::NonEnum;
1722217222
}
1722317223
llvm_unreachable("invalid TTK");
1722417224
}

clang/lib/Sema/SemaTemplate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3911,7 +3911,7 @@ TypeResult Sema::ActOnTagTemplateIdType(TagUseKind TUK,
39113911
// resolves to an alias template specialization, the
39123912
// elaborated-type-specifier is ill-formed.
39133913
Diag(TemplateLoc, diag::err_tag_reference_non_tag)
3914-
<< TAT << NTK_TypeAliasTemplate << TagKind;
3914+
<< TAT << NonTagKind::TypeAliasTemplate << TagKind;
39153915
Diag(TAT->getLocation(), diag::note_declared_at);
39163916
}
39173917

clang/lib/Sema/TreeTransform.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,7 +1221,7 @@ class TreeTransform {
12211221
case LookupResultKind::FoundOverloaded:
12221222
case LookupResultKind::FoundUnresolvedValue: {
12231223
NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1224-
Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1224+
NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
12251225
SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag)
12261226
<< SomeDecl << NTK << Kind;
12271227
SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
@@ -7509,7 +7509,7 @@ TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB,
75097509
Template.getAsTemplateDecl())) {
75107510
SemaRef.Diag(TL.getNamedTypeLoc().getBeginLoc(),
75117511
diag::err_tag_reference_non_tag)
7512-
<< TAT << Sema::NTK_TypeAliasTemplate
7512+
<< TAT << NonTagKind::TypeAliasTemplate
75137513
<< ElaboratedType::getTagTypeKindForKeyword(T->getKeyword());
75147514
SemaRef.Diag(TAT->getLocation(), diag::note_declared_at);
75157515
}

0 commit comments

Comments
 (0)