Skip to content

Commit 1c97cd0

Browse files
authored
Merge pull request #64663 from bnbarham/refactor-refactoring-collection
[SourceKit] Refactor collection of available refactorings
2 parents 7ce49a4 + a1c8280 commit 1c97cd0

File tree

4 files changed

+163
-194
lines changed

4 files changed

+163
-194
lines changed

include/swift/Refactoring/Refactoring.h

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ struct RenameRangeDetail {
7272
Optional<unsigned> Index;
7373
};
7474

75-
enum class RenameAvailableKind {
75+
enum class RefactorAvailableKind {
7676
Available,
7777
Unavailable_system_symbol,
7878
Unavailable_has_no_location,
@@ -81,14 +81,14 @@ enum class RenameAvailableKind {
8181
Unavailable_decl_from_clang,
8282
};
8383

84-
struct RenameAvailabilityInfo {
84+
struct RefactorAvailabilityInfo {
8585
RefactoringKind Kind;
86-
RenameAvailableKind AvailableKind;
87-
RenameAvailabilityInfo(RefactoringKind Kind,
88-
RenameAvailableKind AvailableKind)
86+
RefactorAvailableKind AvailableKind;
87+
RefactorAvailabilityInfo(RefactoringKind Kind,
88+
RefactorAvailableKind AvailableKind)
8989
: Kind(Kind), AvailableKind(AvailableKind) {}
90-
RenameAvailabilityInfo(RefactoringKind Kind)
91-
: RenameAvailabilityInfo(Kind, RenameAvailableKind::Available) {}
90+
RefactorAvailabilityInfo(RefactoringKind Kind)
91+
: RefactorAvailabilityInfo(Kind, RefactorAvailableKind::Available) {}
9292
};
9393

9494
class FindRenameRangesConsumer {
@@ -112,7 +112,7 @@ class FindRenameRangesAnnotatingConsumer : public FindRenameRangesConsumer {
112112

113113
StringRef getDescriptiveRefactoringKindName(RefactoringKind Kind);
114114

115-
StringRef getDescriptiveRenameUnavailableReason(RenameAvailableKind Kind);
115+
StringRef getDescriptiveRenameUnavailableReason(RefactorAvailableKind Kind);
116116

117117
bool refactorSwiftModule(ModuleDecl *M, RefactoringOptions Opts,
118118
SourceEditConsumer &EditConsumer,
@@ -131,25 +131,13 @@ int findLocalRenameRanges(SourceFile *SF, RangeConfig Range,
131131
FindRenameRangesConsumer &RenameConsumer,
132132
DiagnosticConsumer &DiagConsumer);
133133

134-
void collectAvailableRefactorings(
135-
SourceFile *SF, RangeConfig Range, bool &RangeStartMayNeedRename,
136-
llvm::SmallVectorImpl<RefactoringKind> &Kinds,
137-
llvm::ArrayRef<DiagnosticConsumer *> DiagConsumers);
138-
139-
void collectAvailableRefactorings(ResolvedCursorInfoPtr CursorInfo,
140-
llvm::SmallVectorImpl<RefactoringKind> &Kinds,
141-
bool ExcludeRename);
142-
143-
/// Stores information about the reference that rename availability is being
144-
/// queried on.
145-
struct RenameRefInfo {
146-
SourceFile *SF; ///< The source file containing the reference.
147-
SourceLoc Loc; ///< The reference's source location.
148-
bool IsArgLabel; ///< Whether Loc is on an arg label, rather than base name.
149-
};
134+
SmallVector<RefactorAvailabilityInfo, 0>
135+
collectRefactorings(SourceFile *SF, RangeConfig Range,
136+
bool &RangeStartMayNeedRename,
137+
llvm::ArrayRef<DiagnosticConsumer *> DiagConsumers);
150138

151-
Optional<RenameAvailabilityInfo>
152-
renameAvailabilityInfo(const ValueDecl *VD, Optional<RenameRefInfo> RefInfo);
139+
SmallVector<RefactorAvailabilityInfo, 0>
140+
collectRefactorings(ResolvedCursorInfoPtr CursorInfo, bool ExcludeRename);
153141

154142
} // namespace ide
155143
} // namespace swift

0 commit comments

Comments
 (0)