@@ -625,7 +625,7 @@ class CodeCompletionResult {
625625 friend class CodeCompletionResultBuilder ;
626626
627627public:
628- enum ResultKind {
628+ enum class ResultKind {
629629 Declaration,
630630 Keyword,
631631 Pattern,
@@ -635,7 +635,7 @@ class CodeCompletionResult {
635635
636636 // / Describes the relationship between the type of the completion results and
637637 // / the expected type at the code completion position.
638- enum ExpectedTypeRelation {
638+ enum class ExpectedTypeRelation {
639639 // / The result does not have a type (e.g. keyword).
640640 NotApplicable,
641641
@@ -704,12 +704,13 @@ class CodeCompletionResult {
704704 CodeCompletionOperatorKind KnownOperatorKind =
705705 CodeCompletionOperatorKind::None,
706706 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())),
709710 NotRecommended(unsigned (NotRecommendedReason::None)),
710711 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" );
713714 assert (CompletionString);
714715 if (isOperator () && KnownOperatorKind == CodeCompletionOperatorKind::None)
715716 this ->KnownOperatorKind =
@@ -726,16 +727,16 @@ class CodeCompletionResult {
726727 // / \note The caller must ensure \c CodeCompletionString outlives this result.
727728 CodeCompletionResult (CodeCompletionKeywordKind Kind,
728729 SemanticContextKind SemanticContext,
729- CodeCompletionFlair Flair,
730- unsigned NumBytesToErase,
730+ CodeCompletionFlair Flair, unsigned NumBytesToErase,
731731 CodeCompletionString *CompletionString,
732732 ExpectedTypeRelation TypeDistance,
733733 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())),
736737 NotRecommended(unsigned (NotRecommendedReason::None)),
737738 NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
738- BriefDocComment(BriefDocComment), TypeDistance(TypeDistance) {
739+ BriefDocComment(BriefDocComment), TypeDistance(unsigned ( TypeDistance) ) {
739740 assert (CompletionString);
740741 AssociatedKind = static_cast <unsigned >(Kind);
741742 IsSystem = 0 ;
@@ -750,11 +751,12 @@ class CodeCompletionResult {
750751 CodeCompletionFlair Flair, unsigned NumBytesToErase,
751752 CodeCompletionString *CompletionString,
752753 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())),
755757 NotRecommended(unsigned (NotRecommendedReason::None)),
756758 NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
757- TypeDistance(TypeDistance) {
759+ TypeDistance(unsigned ( TypeDistance) ) {
758760 AssociatedKind = static_cast <unsigned >(LiteralKind);
759761 IsSystem = 0 ;
760762 DiagnosticSeverity = 0 ;
@@ -773,13 +775,13 @@ class CodeCompletionResult {
773775 CodeCompletionResult::NotRecommendedReason NotRecReason,
774776 StringRef BriefDocComment,
775777 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)),
780782 NumBytesToErase(NumBytesToErase), CompletionString(CompletionString),
781783 ModuleName(ModuleName), BriefDocComment(BriefDocComment),
782- AssociatedUSRs(AssociatedUSRs), TypeDistance(TypeDistance) {
784+ AssociatedUSRs(AssociatedUSRs), TypeDistance(unsigned ( TypeDistance) ) {
783785 assert (AssociatedDecl && " should have a decl" );
784786 AssociatedKind = unsigned (getCodeCompletionDeclKind (AssociatedDecl));
785787 IsSystem = getDeclIsSystem (AssociatedDecl);
@@ -804,14 +806,15 @@ class CodeCompletionResult {
804806 ArrayRef<StringRef> AssociatedUSRs,
805807 ExpectedTypeRelation TypeDistance,
806808 CodeCompletionOperatorKind KnownOperatorKind)
807- : Kind(ResultKind::Declaration),
809+ : Kind(unsigned ( ResultKind::Declaration) ),
808810 KnownOperatorKind(unsigned (KnownOperatorKind)),
809811 SemanticContext(unsigned (SemanticContext)),
810812 Flair(unsigned (Flair.toRaw())), NotRecommended(unsigned (NotRecReason)),
811813 IsSystem(IsSystem), NumBytesToErase(NumBytesToErase),
812814 CompletionString(CompletionString), ModuleName(ModuleName),
813815 BriefDocComment(BriefDocComment), AssociatedUSRs(AssociatedUSRs),
814- TypeDistance(TypeDistance), DiagnosticSeverity(unsigned (diagSeverity)),
816+ TypeDistance(unsigned (TypeDistance)),
817+ DiagnosticSeverity(unsigned (diagSeverity)),
815818 DiagnosticMessage(DiagnosticMessage) {
816819 AssociatedKind = static_cast <unsigned >(DeclKind);
817820 assert (CompletionString);
@@ -828,23 +831,23 @@ class CodeCompletionResult {
828831 ResultKind getKind () const { return static_cast <ResultKind>(Kind); }
829832
830833 CodeCompletionDeclKind getAssociatedDeclKind () const {
831- assert (getKind () == Declaration);
834+ assert (getKind () == ResultKind:: Declaration);
832835 return static_cast <CodeCompletionDeclKind>(AssociatedKind);
833836 }
834837
835838 CodeCompletionLiteralKind getLiteralKind () const {
836- assert (getKind () == Literal);
839+ assert (getKind () == ResultKind:: Literal);
837840 return static_cast <CodeCompletionLiteralKind>(AssociatedKind);
838841 }
839842
840843 CodeCompletionKeywordKind getKeywordKind () const {
841- assert (getKind () == Keyword);
844+ assert (getKind () == ResultKind:: Keyword);
842845 return static_cast <CodeCompletionKeywordKind>(AssociatedKind);
843846 }
844847
845848 bool isOperator () const {
846- if (getKind () != Declaration)
847- return getKind () == BuiltinOperator;
849+ if (getKind () != ResultKind:: Declaration)
850+ return getKind () == ResultKind:: BuiltinOperator;
848851 switch (getAssociatedDeclKind ()) {
849852 case CodeCompletionDeclKind::PrefixOperatorFunction:
850853 case CodeCompletionDeclKind::PostfixOperatorFunction:
0 commit comments