@@ -625,7 +625,7 @@ class CodeCompletionResult {
625
625
friend class CodeCompletionResultBuilder ;
626
626
627
627
public:
628
- enum ResultKind {
628
+ enum class ResultKind {
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 ExpectedTypeRelation {
638
+ enum class ExpectedTypeRelation {
639
639
// / The result does not have a type (e.g. keyword).
640
640
NotApplicable,
641
641
@@ -704,12 +704,13 @@ class CodeCompletionResult {
704
704
CodeCompletionOperatorKind KnownOperatorKind =
705
705
CodeCompletionOperatorKind::None,
706
706
StringRef BriefDocComment = StringRef())
707
- : Kind(Kind), KnownOperatorKind(unsigned (KnownOperatorKind)),
708
- SemanticContext (unsigned (SemanticContext)), Flair(unsigned (Flair.toRaw())),
707
+ : Kind(unsigned (Kind)), KnownOperatorKind(unsigned (KnownOperatorKind)),
708
+ SemanticContext (unsigned (SemanticContext)),
709
+ Flair(unsigned (Flair.toRaw())),
709
710
NotRecommended(unsigned (NotRecommendedReason::None)),
710
711
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
711
- BriefDocComment(BriefDocComment), TypeDistance(TypeDistance) {
712
- assert (Kind != Declaration && " use the other constructor" );
712
+ BriefDocComment(BriefDocComment), TypeDistance(unsigned ( TypeDistance) ) {
713
+ assert (Kind != ResultKind:: Declaration && " use the other constructor" );
713
714
assert (CompletionString);
714
715
if (isOperator () && KnownOperatorKind == CodeCompletionOperatorKind::None)
715
716
this ->KnownOperatorKind =
@@ -726,16 +727,16 @@ class CodeCompletionResult {
726
727
// / \note The caller must ensure \c CodeCompletionString outlives this result.
727
728
CodeCompletionResult (CodeCompletionKeywordKind Kind,
728
729
SemanticContextKind SemanticContext,
729
- CodeCompletionFlair Flair,
730
- unsigned NumBytesToErase,
730
+ CodeCompletionFlair Flair, unsigned NumBytesToErase,
731
731
CodeCompletionString *CompletionString,
732
732
ExpectedTypeRelation TypeDistance,
733
733
StringRef BriefDocComment = StringRef())
734
- : Kind(Keyword), KnownOperatorKind(0 ),
735
- SemanticContext(unsigned (SemanticContext)), Flair(unsigned (Flair.toRaw())),
734
+ : Kind(unsigned (ResultKind::Keyword)), KnownOperatorKind(0 ),
735
+ SemanticContext(unsigned (SemanticContext)),
736
+ Flair(unsigned (Flair.toRaw())),
736
737
NotRecommended(unsigned (NotRecommendedReason::None)),
737
738
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
738
- BriefDocComment(BriefDocComment), TypeDistance(TypeDistance) {
739
+ BriefDocComment(BriefDocComment), TypeDistance(unsigned ( TypeDistance) ) {
739
740
assert (CompletionString);
740
741
AssociatedKind = static_cast <unsigned >(Kind);
741
742
IsSystem = 0 ;
@@ -750,11 +751,12 @@ class CodeCompletionResult {
750
751
CodeCompletionFlair Flair, unsigned NumBytesToErase,
751
752
CodeCompletionString *CompletionString,
752
753
ExpectedTypeRelation TypeDistance)
753
- : Kind(Literal), KnownOperatorKind(0 ),
754
- SemanticContext(unsigned (SemanticContext)), Flair(unsigned (Flair.toRaw())),
754
+ : Kind(unsigned (ResultKind::Literal)), KnownOperatorKind(0 ),
755
+ SemanticContext(unsigned (SemanticContext)),
756
+ Flair(unsigned (Flair.toRaw())),
755
757
NotRecommended(unsigned (NotRecommendedReason::None)),
756
758
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
757
- TypeDistance(TypeDistance) {
759
+ TypeDistance(unsigned ( TypeDistance) ) {
758
760
AssociatedKind = static_cast <unsigned >(LiteralKind);
759
761
IsSystem = 0 ;
760
762
DiagnosticSeverity = 0 ;
@@ -773,13 +775,13 @@ class CodeCompletionResult {
773
775
CodeCompletionResult::NotRecommendedReason NotRecReason,
774
776
StringRef BriefDocComment,
775
777
ArrayRef<StringRef> AssociatedUSRs,
776
- enum ExpectedTypeRelation TypeDistance)
777
- : Kind(ResultKind::Declaration), KnownOperatorKind(0 ),
778
- SemanticContext(unsigned (SemanticContext)), Flair( unsigned (Flair.toRaw())),
779
- NotRecommended(unsigned (NotRecReason)),
778
+ ExpectedTypeRelation TypeDistance)
779
+ : Kind(unsigned ( ResultKind::Declaration) ), KnownOperatorKind(0 ),
780
+ SemanticContext(unsigned (SemanticContext)),
781
+ Flair( unsigned (Flair.toRaw())), NotRecommended(unsigned (NotRecReason)),
780
782
NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
781
783
ModuleName(ModuleName), BriefDocComment(BriefDocComment),
782
- AssociatedUSRs(AssociatedUSRs), TypeDistance(TypeDistance) {
784
+ AssociatedUSRs(AssociatedUSRs), TypeDistance(unsigned ( TypeDistance) ) {
783
785
assert (AssociatedDecl && " should have a decl" );
784
786
AssociatedKind = unsigned (getCodeCompletionDeclKind (AssociatedDecl));
785
787
IsSystem = getDeclIsSystem (AssociatedDecl);
@@ -804,14 +806,15 @@ class CodeCompletionResult {
804
806
ArrayRef<StringRef> AssociatedUSRs,
805
807
ExpectedTypeRelation TypeDistance,
806
808
CodeCompletionOperatorKind KnownOperatorKind)
807
- : Kind(ResultKind::Declaration),
809
+ : Kind(unsigned ( ResultKind::Declaration) ),
808
810
KnownOperatorKind(unsigned (KnownOperatorKind)),
809
811
SemanticContext(unsigned (SemanticContext)),
810
812
Flair(unsigned (Flair.toRaw())), NotRecommended(unsigned (NotRecReason)),
811
813
IsSystem(IsSystem), NumBytesToErase(NumBytesToErase),
812
814
CompletionString(CompletionString), ModuleName(ModuleName),
813
815
BriefDocComment(BriefDocComment), AssociatedUSRs(AssociatedUSRs),
814
- TypeDistance(TypeDistance), DiagnosticSeverity(unsigned (diagSeverity)),
816
+ TypeDistance(unsigned (TypeDistance)),
817
+ DiagnosticSeverity(unsigned (diagSeverity)),
815
818
DiagnosticMessage(DiagnosticMessage) {
816
819
AssociatedKind = static_cast <unsigned >(DeclKind);
817
820
assert (CompletionString);
@@ -828,23 +831,23 @@ class CodeCompletionResult {
828
831
ResultKind getKind () const { return static_cast <ResultKind>(Kind); }
829
832
830
833
CodeCompletionDeclKind getAssociatedDeclKind () const {
831
- assert (getKind () == Declaration);
834
+ assert (getKind () == ResultKind:: Declaration);
832
835
return static_cast <CodeCompletionDeclKind>(AssociatedKind);
833
836
}
834
837
835
838
CodeCompletionLiteralKind getLiteralKind () const {
836
- assert (getKind () == Literal);
839
+ assert (getKind () == ResultKind:: Literal);
837
840
return static_cast <CodeCompletionLiteralKind>(AssociatedKind);
838
841
}
839
842
840
843
CodeCompletionKeywordKind getKeywordKind () const {
841
- assert (getKind () == Keyword);
844
+ assert (getKind () == ResultKind:: Keyword);
842
845
return static_cast <CodeCompletionKeywordKind>(AssociatedKind);
843
846
}
844
847
845
848
bool isOperator () const {
846
- if (getKind () != Declaration)
847
- return getKind () == BuiltinOperator;
849
+ if (getKind () != ResultKind:: Declaration)
850
+ return getKind () == ResultKind:: BuiltinOperator;
848
851
switch (getAssociatedDeclKind ()) {
849
852
case CodeCompletionDeclKind::PrefixOperatorFunction:
850
853
case CodeCompletionDeclKind::PostfixOperatorFunction:
0 commit comments