@@ -418,7 +418,7 @@ class alignas(detail::CodeCompletionStringChunk) CodeCompletionString final :
418
418
// /
419
419
// / This enum is ordered from the contexts that are "nearest" to the code
420
420
// / completion point to "outside" contexts.
421
- enum class SemanticContextKind {
421
+ enum class SemanticContextKind : uint8_t {
422
422
// / Used in cases when the concept of semantic context is not applicable.
423
423
None,
424
424
@@ -482,7 +482,7 @@ enum class CodeCompletionFlairBit: uint8_t {
482
482
using CodeCompletionFlair = OptionSet<CodeCompletionFlairBit>;
483
483
484
484
// / The declaration kind of a code completion result, if it is a declaration.
485
- enum class CodeCompletionDeclKind {
485
+ enum class CodeCompletionDeclKind : uint8_t {
486
486
Module,
487
487
Class,
488
488
Struct,
@@ -508,7 +508,7 @@ enum class CodeCompletionDeclKind {
508
508
PrecedenceGroup,
509
509
};
510
510
511
- enum class CodeCompletionLiteralKind {
511
+ enum class CodeCompletionLiteralKind : uint8_t {
512
512
ArrayLiteral,
513
513
BooleanLiteral,
514
514
ColorLiteral,
@@ -520,7 +520,7 @@ enum class CodeCompletionLiteralKind {
520
520
Tuple,
521
521
};
522
522
523
- enum class CodeCompletionOperatorKind {
523
+ enum class CodeCompletionOperatorKind : uint8_t {
524
524
None,
525
525
Unknown,
526
526
Bang, // !
@@ -566,14 +566,14 @@ enum class CodeCompletionOperatorKind {
566
566
TildeEq, // ~=
567
567
};
568
568
569
- enum class CodeCompletionKeywordKind {
569
+ enum class CodeCompletionKeywordKind : uint8_t {
570
570
None,
571
571
#define KEYWORD (X ) kw_##X,
572
572
#define POUND_KEYWORD (X ) pound_##X,
573
573
#include " swift/Syntax/TokenKinds.def"
574
574
};
575
575
576
- enum class CompletionKind {
576
+ enum class CompletionKind : uint8_t {
577
577
None,
578
578
Import,
579
579
UnresolvedMember,
@@ -625,7 +625,7 @@ class CodeCompletionResult {
625
625
friend class CodeCompletionResultBuilder ;
626
626
627
627
public:
628
- enum class ResultKind {
628
+ enum class ResultKind : uint8_t {
629
629
Declaration,
630
630
Keyword,
631
631
Pattern,
@@ -635,7 +635,7 @@ class CodeCompletionResult {
635
635
636
636
// / Describes the relationship between the type of the completion results and
637
637
// / the expected type at the code completion position.
638
- enum class ExpectedTypeRelation {
638
+ enum class ExpectedTypeRelation : uint8_t {
639
639
// / The result does not have a type (e.g. keyword).
640
640
NotApplicable,
641
641
@@ -656,7 +656,7 @@ class CodeCompletionResult {
656
656
Identical,
657
657
};
658
658
659
- enum class NotRecommendedReason {
659
+ enum class NotRecommendedReason : uint8_t {
660
660
None = 0 ,
661
661
RedundantImport,
662
662
RedundantImportIndirect,
@@ -668,13 +668,13 @@ class CodeCompletionResult {
668
668
};
669
669
670
670
private:
671
- unsigned Kind : 3 ;
671
+ ResultKind Kind : 3 ;
672
672
unsigned AssociatedKind : 8 ;
673
- unsigned KnownOperatorKind : 6 ;
674
- unsigned SemanticContext : 3 ;
675
- unsigned Flair: 8 ;
676
- unsigned NotRecommended : 4 ;
677
- unsigned IsSystem : 1 ;
673
+ CodeCompletionOperatorKind KnownOperatorKind : 6 ;
674
+ SemanticContextKind SemanticContext : 3 ;
675
+ unsigned char Flair : 8 ;
676
+ NotRecommendedReason NotRecommended : 4 ;
677
+ bool IsSystem : 1 ;
678
678
679
679
// / The number of bytes to the left of the code completion point that
680
680
// / should be erased first if this completion string is inserted in the
@@ -689,8 +689,8 @@ class CodeCompletionResult {
689
689
StringRef ModuleName;
690
690
StringRef BriefDocComment;
691
691
ArrayRef<StringRef> AssociatedUSRs;
692
- unsigned TypeDistance : 3 ;
693
- unsigned DiagnosticSeverity: 3 ;
692
+ ExpectedTypeRelation TypeDistance : 3 ;
693
+ CodeCompletionDiagnosticSeverity DiagnosticSeverity : 3 ;
694
694
StringRef DiagnosticMessage;
695
695
696
696
public:
@@ -704,22 +704,20 @@ class CodeCompletionResult {
704
704
CodeCompletionOperatorKind KnownOperatorKind =
705
705
CodeCompletionOperatorKind::None,
706
706
StringRef BriefDocComment = StringRef())
707
- : Kind(unsigned (Kind)), KnownOperatorKind(unsigned (KnownOperatorKind)),
708
- SemanticContext (unsigned (SemanticContext)),
709
- Flair(unsigned (Flair.toRaw())),
710
- NotRecommended(unsigned (NotRecommendedReason::None)),
707
+ : Kind(Kind), KnownOperatorKind(KnownOperatorKind),
708
+ SemanticContext (SemanticContext), Flair(Flair.toRaw()),
709
+ NotRecommended(NotRecommendedReason::None),
711
710
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
712
- BriefDocComment(BriefDocComment), TypeDistance(unsigned ( TypeDistance) ) {
711
+ BriefDocComment(BriefDocComment), TypeDistance(TypeDistance) {
713
712
assert (Kind != ResultKind::Declaration && " use the other constructor" );
714
713
assert (CompletionString);
715
714
if (isOperator () && KnownOperatorKind == CodeCompletionOperatorKind::None)
716
- this ->KnownOperatorKind =
717
- (unsigned )getCodeCompletionOperatorKind (CompletionString);
715
+ this ->KnownOperatorKind = getCodeCompletionOperatorKind (CompletionString);
718
716
assert (!isOperator () ||
719
717
getOperatorKind () != CodeCompletionOperatorKind::None);
720
718
AssociatedKind = 0 ;
721
- IsSystem = 0 ;
722
- DiagnosticSeverity = 0 ;
719
+ IsSystem = false ;
720
+ DiagnosticSeverity = CodeCompletionDiagnosticSeverity::None ;
723
721
}
724
722
725
723
// / Constructs a \c Keyword result.
@@ -731,16 +729,16 @@ class CodeCompletionResult {
731
729
CodeCompletionString *CompletionString,
732
730
ExpectedTypeRelation TypeDistance,
733
731
StringRef BriefDocComment = StringRef())
734
- : Kind(unsigned ( ResultKind::Keyword)), KnownOperatorKind( 0 ),
735
- SemanticContext( unsigned (SemanticContext) ),
736
- Flair(unsigned ( Flair.toRaw() )),
737
- NotRecommended(unsigned ( NotRecommendedReason::None) ),
732
+ : Kind(ResultKind::Keyword),
733
+ KnownOperatorKind(CodeCompletionOperatorKind::None ),
734
+ SemanticContext(SemanticContext), Flair(Flair.toRaw()),
735
+ NotRecommended(NotRecommendedReason::None),
738
736
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
739
- BriefDocComment(BriefDocComment), TypeDistance(unsigned ( TypeDistance) ) {
737
+ BriefDocComment(BriefDocComment), TypeDistance(TypeDistance) {
740
738
assert (CompletionString);
741
739
AssociatedKind = static_cast <unsigned >(Kind);
742
- IsSystem = 0 ;
743
- DiagnosticSeverity = 0 ;
740
+ IsSystem = false ;
741
+ DiagnosticSeverity = CodeCompletionDiagnosticSeverity::None ;
744
742
}
745
743
746
744
// / Constructs a \c Literal result.
@@ -751,15 +749,15 @@ class CodeCompletionResult {
751
749
CodeCompletionFlair Flair, unsigned NumBytesToErase,
752
750
CodeCompletionString *CompletionString,
753
751
ExpectedTypeRelation TypeDistance)
754
- : Kind(unsigned ( ResultKind::Literal)), KnownOperatorKind( 0 ),
755
- SemanticContext( unsigned (SemanticContext) ),
756
- Flair(unsigned ( Flair.toRaw() )),
757
- NotRecommended(unsigned ( NotRecommendedReason::None) ),
752
+ : Kind(ResultKind::Literal),
753
+ KnownOperatorKind(CodeCompletionOperatorKind::None ),
754
+ SemanticContext(SemanticContext), Flair(Flair.toRaw()),
755
+ NotRecommended(NotRecommendedReason::None),
758
756
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
759
- TypeDistance(unsigned ( TypeDistance) ) {
757
+ TypeDistance(TypeDistance) {
760
758
AssociatedKind = static_cast <unsigned >(LiteralKind);
761
- IsSystem = 0 ;
762
- DiagnosticSeverity = 0 ;
759
+ IsSystem = false ;
760
+ DiagnosticSeverity = CodeCompletionDiagnosticSeverity::None ;
763
761
assert (CompletionString);
764
762
}
765
763
@@ -776,20 +774,20 @@ class CodeCompletionResult {
776
774
StringRef BriefDocComment,
777
775
ArrayRef<StringRef> AssociatedUSRs,
778
776
ExpectedTypeRelation TypeDistance)
779
- : Kind(unsigned (ResultKind::Declaration)), KnownOperatorKind(0 ),
780
- SemanticContext(unsigned (SemanticContext)),
781
- Flair(unsigned (Flair.toRaw())), NotRecommended(unsigned (NotRecReason)),
782
- NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
783
- ModuleName(ModuleName), BriefDocComment(BriefDocComment),
784
- AssociatedUSRs(AssociatedUSRs), TypeDistance(unsigned (TypeDistance)) {
777
+ : Kind(ResultKind::Declaration),
778
+ KnownOperatorKind(CodeCompletionOperatorKind::None),
779
+ SemanticContext(SemanticContext), Flair(Flair.toRaw()),
780
+ NotRecommended(NotRecReason), NumBytesToErase(NumBytesToErase),
781
+ CompletionString(CompletionString), ModuleName(ModuleName),
782
+ BriefDocComment(BriefDocComment), AssociatedUSRs(AssociatedUSRs),
783
+ TypeDistance(TypeDistance) {
785
784
assert (AssociatedDecl && " should have a decl" );
786
785
AssociatedKind = unsigned (getCodeCompletionDeclKind (AssociatedDecl));
787
786
IsSystem = getDeclIsSystem (AssociatedDecl);
788
- DiagnosticSeverity = 0 ;
787
+ DiagnosticSeverity = CodeCompletionDiagnosticSeverity::None ;
789
788
assert (CompletionString);
790
789
if (isOperator ())
791
- KnownOperatorKind =
792
- (unsigned )getCodeCompletionOperatorKind (CompletionString);
790
+ KnownOperatorKind = getCodeCompletionOperatorKind (CompletionString);
793
791
assert (!isOperator () ||
794
792
getOperatorKind () != CodeCompletionOperatorKind::None);
795
793
}
@@ -806,16 +804,13 @@ class CodeCompletionResult {
806
804
ArrayRef<StringRef> AssociatedUSRs,
807
805
ExpectedTypeRelation TypeDistance,
808
806
CodeCompletionOperatorKind KnownOperatorKind)
809
- : Kind(unsigned (ResultKind::Declaration)),
810
- KnownOperatorKind(unsigned (KnownOperatorKind)),
811
- SemanticContext(unsigned (SemanticContext)),
812
- Flair(unsigned (Flair.toRaw())), NotRecommended(unsigned (NotRecReason)),
813
- IsSystem(IsSystem), NumBytesToErase(NumBytesToErase),
814
- CompletionString(CompletionString), ModuleName(ModuleName),
815
- BriefDocComment(BriefDocComment), AssociatedUSRs(AssociatedUSRs),
816
- TypeDistance(unsigned (TypeDistance)),
817
- DiagnosticSeverity(unsigned (diagSeverity)),
818
- DiagnosticMessage(DiagnosticMessage) {
807
+ : Kind(ResultKind::Declaration), KnownOperatorKind(KnownOperatorKind),
808
+ SemanticContext(SemanticContext), Flair(Flair.toRaw()),
809
+ NotRecommended(NotRecReason), IsSystem(IsSystem),
810
+ NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
811
+ ModuleName(ModuleName), BriefDocComment(BriefDocComment),
812
+ AssociatedUSRs(AssociatedUSRs), TypeDistance(TypeDistance),
813
+ DiagnosticSeverity(diagSeverity), DiagnosticMessage(DiagnosticMessage) {
819
814
AssociatedKind = static_cast <unsigned >(DeclKind);
820
815
assert (CompletionString);
821
816
assert (!isOperator () ||
@@ -828,7 +823,7 @@ class CodeCompletionResult {
828
823
CodeCompletionResult *withFlair (CodeCompletionFlair newFlair,
829
824
CodeCompletionResultSink &Sink);
830
825
831
- ResultKind getKind () const { return static_cast <ResultKind>( Kind) ; }
826
+ ResultKind getKind () const { return Kind; }
832
827
833
828
CodeCompletionDeclKind getAssociatedDeclKind () const {
834
829
assert (getKind () == ResultKind::Declaration);
@@ -860,33 +855,23 @@ class CodeCompletionResult {
860
855
861
856
CodeCompletionOperatorKind getOperatorKind () const {
862
857
assert (isOperator ());
863
- return static_cast <CodeCompletionOperatorKind>( KnownOperatorKind) ;
858
+ return KnownOperatorKind;
864
859
}
865
860
866
- bool isSystem () const {
867
- return static_cast <bool >(IsSystem);
868
- }
861
+ bool isSystem () const { return IsSystem; }
869
862
870
- ExpectedTypeRelation getExpectedTypeRelation () const {
871
- return static_cast <ExpectedTypeRelation>(TypeDistance);
872
- }
863
+ ExpectedTypeRelation getExpectedTypeRelation () const { return TypeDistance; }
873
864
874
865
NotRecommendedReason getNotRecommendedReason () const {
875
- return static_cast <NotRecommendedReason>( NotRecommended) ;
866
+ return NotRecommended;
876
867
}
877
868
878
- SemanticContextKind getSemanticContext () const {
879
- return static_cast <SemanticContextKind>(SemanticContext);
880
- }
869
+ SemanticContextKind getSemanticContext () const { return SemanticContext; }
881
870
882
- CodeCompletionFlair getFlair () const {
883
- return static_cast <CodeCompletionFlair>(Flair);
884
- }
871
+ CodeCompletionFlair getFlair () const { return CodeCompletionFlair (Flair); }
885
872
886
873
// / Modify "flair" of this result *in place*.
887
- void setFlair (CodeCompletionFlair flair) {
888
- Flair = unsigned (flair.toRaw ());
889
- }
874
+ void setFlair (CodeCompletionFlair flair) { Flair = flair.toRaw (); }
890
875
891
876
bool isNotRecommended () const {
892
877
return getNotRecommendedReason () != NotRecommendedReason::None;
@@ -911,12 +896,12 @@ class CodeCompletionResult {
911
896
}
912
897
913
898
void setDiagnostics (CodeCompletionDiagnosticSeverity severity, StringRef message) {
914
- DiagnosticSeverity = static_cast < unsigned >( severity) ;
899
+ DiagnosticSeverity = severity;
915
900
DiagnosticMessage = message;
916
901
}
917
902
918
903
CodeCompletionDiagnosticSeverity getDiagnosticSeverity () const {
919
- return static_cast <CodeCompletionDiagnosticSeverity>( DiagnosticSeverity) ;
904
+ return DiagnosticSeverity;
920
905
}
921
906
922
907
StringRef getDiagnosticMessage () const {
0 commit comments